According to my notes, I LGTM'd all patches in this series (some with minor improvements to be made before pushing). I hope I didn't miss anything...
Cheers, Thomas On Mon, Oct 7, 2013 at 4:37 PM, Jose A. Lopes <[email protected]> wrote: > This patch series adds almost all constants in 'lib/constants.py' to > the Haskell to Python constant generation. > > As a general rule, if there is a Haskell type for a given group of > constants, then we try to make the Haskell constants take their values > from that type. Therefore, several constants will take their values, > for example, from Haskell types defined in 'Ganeti.Types'. Other > constants will have their values directly assigned in > 'Ganeti.HsConstants'. In some cases, it is necessary to move > constants from other modules to module such as 'Ganenti.ConstantUtils' > in order to escape GHC stage restrictions imposed by Template Haskell > or import circularity. > > An overview of this patch series: > * move confd related constants to 'Ganeti.ConstantUtils' and add them > * 'declareILADT' defines a type, similarly to 'declareLADT', but with > integer literals (avoids GHC stage restrictions) > * add constants related to 'Ganeti.Confd' types > * add assorted constants > * update target in Makefile to ignore comments in 'Ganeti.HsConstants' > when extracting the constant names to take part in Hs2Py > * add OS API versions > * add 'ReplaceDisksMode' related constants > * add RPC timeout related constants > * add node parameter related > * add 'Ganeti.HTools.Types' related > * add local disk status related > * add Luxi related > * add forgotten 'SOCAT_ESCAPE_CODE' constant: it was in Haskell but > its Python reference was outdated > * add network mirrored disk templates > * add SSH related > * move VTypes around in 'Ganeti.HsConstants' to mimic > 'lib/constants.py' order > * add CPU pinning related > * add console types, security, I/O compression, import/export, hooks, > and hkr related > * add storage related > * add DRBD and RBD related > * add import/export related, and import/export config related > * add network related > * remove some comments in 'lib/constants.py' because these are moved > to Haskell > * add more constants > * move 'ipCommandPath' to the correct place to mimic > 'lib/constants.py' order > * add script and action related > * add instance reboot related > * move instance reboot types to the correct place according to > 'lib/constants.py' > * add assorted and HVS related > * add HVST and disk state related > * add backend and logical disks related > * add DRBD and dynamic disk related > * add nics related > * add assorted, idisk, and inic related > * add node verify related > * add SSL, job queue, and locks related > * add VNC related > * add '/etc/hosts' ad job queue related > * add query resources related > * add HT related > * add dynamic devices related > * add SSCONF related > * add 'hvcGlobals' and 'ndcGlobals' > * add assorted > * remove more comments in 'lib/constants.py' that have been moved to > Haskell > * add UID pool related > * add assorted > * add hail, opcode, and SSH related > * add node daemon setup related > * add opcode related > * improve 'autoRepair*' constants to take their values from Haskell > types instead of having their values defined in 'Ganeti.HsConstants' > * fix import order in 'Ganeti.HsConstants' > * fix import of 'AutoConf' > > > Jose A. Lopes (66): > Move confd request constants to 'Ganeti.ConstantUtils' > Hs2Py constants: add confd requests > Update reference to proper module > Add 'declareILADT' to declare integer literal datatypes > Hs2Py constants: add 'Ganeti.Confd' types > Hs2Py constants: add more constants > Disregard comments in 'src/Ganeti/ListContants.hs' target > Fix typo in documentation > Fix indentation > Hs2Py constants: add 'osApiVersions' > Hs2Py constants: add 'ReplaceDisksMode' related constants > Hs2Py constants: add RPC timeout constants > Hs2Py constants: add node parameter related > Hs2Py constants: constants related to 'Ganeti.Htools.Types' > Hs2Py constants: add local disk status > Hs2Py constants: add 'fileDriver' > Hs2Py constants: add Luxi constants > Hs2Py constants: update forgotten 'SOCAT_ESCAPE_CODE' > Fix documentation comment > Hs2Py constants: add network mirrored disk templates > Hs2Py constants: add SSH key files > Move VTypes to the appropriate place > Hs2Py constants: add export versions > Hs2Py constants: add CPU pinning > Hs2Py constants: add 2 more constants > Hs2Py constants: add several groups of constants > Hs2Py constants: storage related groups > Hs2Py constants: add DRBD and RBD > Hs2Py constants: add 'RIE' related > Hs2Py constants: add import/export config > Hs2Py constants: network related > Hs2Py constants: remove comments > Hs2Py constants: 'diskTransferConnectTimeout' > Hs2Py constants: 'jobIdsKey', 'runparts' and 'rpc' > Hs2Py constants: move 'ipCommandPath' > Hs2Py constants: scripts and actions > Hs2Py constants: reboot behaviour > Hs2Py constants: move reboot types > Hs2Py constants: assorted and HVS > Hs2Py constants: HVST and disk state > Hs2Py constants: backend and logical disks > Hs2Py constant: DRBD and dynamic disk > Hs2Py constants: nics > Hs2Py constants: assorted, idisk, and inic > Hs2Py constants: node verify > Hs2Py constants: SSL, job queue, and locks > Hs2Py constants: VNC > Hs2Py constants: '/etc/hosts' and job queue > Hs2py constants: query resources > Hs2Py constants: HT related constants > Hs2Py constants: dynamic devices > Hs2Py constants: SSCONF > Hs2Py constants: 'defaultEnabledHypervisor' > Hs2Py constants: 'hvcGlobals' and 'ndcGlobals' > Hs2Py constants: 'ispecsMinmaxDefaults' > Hs2Py constants: assorted constants > Hs2Py constants: remove comments > Hs2Py constants: 'maxUdpDataSize' > Hs2Py constants: UID pool > Hs2Py constants: assorted constants > Hs2Py constants: hail, opcode, and SSH > Hs2Py constants: node daemon setup > Hs2Py constants: opcodes > Hs2Py constants: improve auto repair > Fix import order > Fix 'AutoConf' import > > Makefile.am | 4 +- > lib/constants.py | 2124 +++++++++++--------------------- > lib/pathutils.py | 8 +- > src/Ganeti/Confd/Server.hs | 4 +- > src/Ganeti/Confd/Types.hs | 108 +- > src/Ganeti/ConstantUtils.hs | 89 +- > src/Ganeti/HTools/Types.hs | 125 +- > src/Ganeti/HsConstants.hs | 2662 > ++++++++++++++++++++++++++++++++++++++-- > src/Ganeti/JSON.hs | 2 +- > src/Ganeti/Objects.hs | 37 +- > src/Ganeti/OpCodes.hs | 2 +- > src/Ganeti/OpParams.hs | 9 - > src/Ganeti/PyValueInstances.hs | 1 + > src/Ganeti/Query/Common.hs | 12 +- > src/Ganeti/Query/Server.hs | 6 +- > src/Ganeti/Rpc.hs | 12 - > src/Ganeti/THH.hs | 16 +- > src/Ganeti/Types.hs | 51 + > 18 files changed, 3581 insertions(+), 1691 deletions(-) > > -- > 1.8.4 > > -- Thomas Thrainer | Software Engineer | [email protected] | Google Germany GmbH Dienerstr. 12 80331 München Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Graham Law, Christine Elizabeth Flores
