Statistics
| Branch: | Tag: | Revision:

root / src @ ad6f2bf3

# Date Author Comment
94d8fc5a 10/08/2013 03:57 pm Jose A. Lopes

Fix indentation

Fix indentation in 'Ganeti.OpCodes'.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Thomas Thrainer <>

c87997d2 10/08/2013 03:57 pm Jose A. Lopes

Hs2Py constants: add 'osApiVersions'

Add constant 'osApiVersions' to the Haskell to Python constant
generation. This patch fixes the type of this constant, by changing
from 'List' to 'Set', therefore, 'Ganeti.Query.Server' is updated
accordingly.

Signed-off-by: Jose A. Lopes <>...

a5450d2a 10/08/2013 03:57 pm Jose A. Lopes

Hs2Py constants: add 'ReplaceDisksMode' related constants

Add constants related to the Haskell type 'ReplaceDisksMode'. The
data type declaration for 'ReplaceDisksMode' is also moved from
'Ganeti.OpParams' to 'Ganeti.Types' because it used to be used only by...

c03224f6 10/08/2013 03:57 pm Jose A. Lopes

Hs2Py constants: add RPC timeout constants

Add RPC timeout related constants to the Haskell to Python constant
generation. The Haskell data type 'RpcTimeout' is moved from
'Ganeti.Rpc' to 'Ganeti.Types' so it can be used by
'Ganeti.HsConstants' without causing circularity problems with...

ecf43dcb 10/08/2013 03:57 pm Jose A. Lopes

Hs2Py constants: add node parameter related constants

Add node parameter related constants to the Haskell to Python constant
generation. This patch also fixes a type inconsistency between
Haskell and Python, namely, 'ndsParameterTypes' and
'ndsParameterTitles' become 'Map's instead of 'Tuple's, which allows...

8397ffde 10/08/2013 03:57 pm Jose A. Lopes

Hs2Py constants: constants related to 'Ganeti.Htools.Types'

Add constants related to the Haskell types defined in
'Ganeti.Htools.Types' to the Haskell to Python constant generation.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Thomas Thrainer <>

59bcd180 10/08/2013 03:57 pm Jose A. Lopes

Hs2Py constants: add local disk status

Add constants related to local disk status to the Haskell to Python
constant generation. A new Haskell type 'LocalDiskStatus' is added
similarly to the constants that have been added previously in other
Hs2Py patches....

ad6f2bf3 10/08/2013 03:57 pm Jose A. Lopes

Hs2Py constants: add 'fileDriver'

Add constant 'fileDriver' to the Haskell to Python constant
generation. The constant 'FILE_DRIVER' is also moved to the
appropriate place in 'lib/constants.py'.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Thomas Thrainer <>

2f3d7a50 10/08/2013 03:57 pm Jose A. Lopes

Fix typo in documentation

Fix typo in documentation in 'Ganeti.JSON'.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Thomas Thrainer <>

74129b52 10/08/2013 03:57 pm Jose A. Lopes

Hs2Py constants: add more constants

Add more constants to the Haskell to Python constant generation.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Thomas Thrainer <>

cdac0552 10/08/2013 03:50 pm Jose A. Lopes

Hs2Py constants: add 'Ganeti.Confd' types

Hs2Py constants: add 'Ganeti.Confd' types.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Thomas Thrainer <>

dd95d461 10/08/2013 03:50 pm Jose A. Lopes

Hs2Py constants: add confd requests

Add confd request related constants to the Haskell to Python constant
generation.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Thomas Thrainer <>

d24fc4b6 10/08/2013 03:50 pm Jose A. Lopes

Update reference to proper module

Update reference to constant 'confdMagicFourcc' to fetch its value
from 'Ganeti.Constants' instead of the re-export from module
'Ganeti.Confd.Types'.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Thomas Thrainer <>

a48daa87 10/08/2013 03:50 pm Jose A. Lopes

Add 'declareILADT' to declare integer literal datatypes

Add 'declareILADT' to declare integer literal datatypes.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Thomas Thrainer <>

8e4e0268 10/08/2013 03:50 pm Jose A. Lopes

Move confd request constants to 'Ganeti.ConstantUtils'

  • move confd request related constants to 'Ganeti.ConstantUtils' so
    they can be used in both 'Ganeti.HsConstants' and
    'Ganeti.Confd.Types' without circularity problems and GHC stage
    restrictions....
9b20010b 10/04/2013 05:13 pm Klaus Aehlig

Provide the DIRVERSION as a constant

Depending on configure options, the version string used in the name
of the version specific directory differs. Provide this string also
as a constant, as it is needed for the upgrade procedure, in order to
be able to roll back....

55f0626b 10/04/2013 05:13 pm Klaus Aehlig

Provide time constants related to upgrades

During upgrades, gnt-cluster needs to wait for all jobs
in the queue to finish. Provide constants for timeout and
polling interval.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Jose Lopes <>

346c3037 10/04/2013 05:11 pm Klaus Aehlig

Provide means of submitting jobs to a drained queue

During an upgrade, the job queue needs to be drained in order to avoid
new jobs coming to the cluster. Nevertheless, the upgrade process
needs to carry out some maintenance, like redistributing the new...

9bfcf2e9 10/04/2013 05:10 pm Klaus Aehlig

Expose sharedir in pathutils

This path is needed to construct the link target
for $(sysconfdir)/ganeti/share for a different version.
The latter will happen in the automated upgrade procedure.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Jose Lopes <>

8c44d5b3 10/04/2013 05:10 pm Klaus Aehlig

Also provide the program version

Conceptionally, the versions of the program, the protocols, and the
configuration are three different things, even though, currently there
is a tight coupling. So export the version as well, as the upgrades
are designed to make decisions based on the version....

9b9e088c 10/02/2013 05:55 pm Raffa Santi

Define 'access' disk-parameter type

Add the "access" parameter to the RBD configuration. Fix test broken
by this change.

Signed-off-by: Santi Raffa <>
Reviewed-by: Thomas Thrainer <>

d067f40b 10/02/2013 03:50 pm Jose A. Lopes

Merge 'EvacNode' and 'NodeEvacMode'

Merge 'EvacMode' and 'NodeEvacMode' which are associated with the
duplicated constants 'IALLOCATOR_NEVAC_*' and 'NODE_EVAC_*'. This
merge moves the type 'EvacMode' to 'Ganeti.Types' in order to avoid a
circular dependency between 'Ganeti.HsConstants' and...

6dc364f9 10/02/2013 03:50 pm Jose A. Lopes

Remove duplicate 'IALLOCATOR_NEVAC_*' constants

Constants 'IALLOCATOR_NEVAC_*' are duplicates of 'NODE_EVAC_*' and are
no longer being used so they can be removed. Fixes issue 583.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

982dc0e0 10/02/2013 09:46 am Klaus Aehlig

Merge branch 'stable-2.9' into master

  • stable-2.9
    Version bump for 2.9.0 rc1
    Update NEWS for 2.9.0 rc1
    configure: check for hslogger
    Document hslogger dependency in NEWS
    Update INSTALL: hslogger is mandatory
    Update installation instruction for Debian...
33ce4d2d 09/30/2013 03:20 pm Spyros Trigazis

Add test for mond-data mock file

Test if the input file imported with the --mond-data option is
parsed properly.

Signed-off-by: Spyros Trigazis <>
Signed-off-by: Michele Tartara <>
Reviewed-by: Michele Tartara <>

c62bec27 09/30/2013 03:20 pm Spyros Trigazis

Import MonD data from file

Implement functionality to import MonD data from a mock file to
HTools (mainly for testing purposes) with the --mond-data
option.

Signed-off-by: Spyros Trigazis <>
Signed-off-by: Michele Tartara <>...

e5fe8978 09/30/2013 03:20 pm Spyros Trigazis

Implement readJSON functions for DC Types

Implement readJSON functions for DCCategory, DCVersion and
DCKind in Data Collectors's Types to be parsable from a JSON
formatted file. Also, implement a utility function to
capitalize the first character of a string....

c32c4e4d 09/30/2013 03:20 pm Spyros Trigazis

Fetch data from MonD to HTools

Contact all MonDs from HTools to fetch data from its Data
Collectors (only CPUload Data Collector is queried at the
moment). This information is available to all HTools with the
--mond option and can be ignored if the --ignore-dynu option is...

690e509d 09/30/2013 03:20 pm Spyros Trigazis

Add MonD's latest API Version in lib/constants.py

Extract the version number from MonD's own file into the constants file, so that
is can be accessed from other parts of the system as well (e.g.: to perform
queries over the MonD protocol).

Signed-off-by: Spyros Trigazis <>...

eebc8ab2 09/27/2013 01:47 pm Michele Tartara

Make the inst-status-xen collector more resilient

The data collectors should be able to provide as much information as possible
even when the system is badly degraded. This patch modifies the instance status
collector for xen so that it can keep providing as much data as possible, even...

a40db327 09/26/2013 05:35 pm Jose A. Lopes

Add 'generated from' comments in Hs2py constants

Modify Hs2Py constants to include a comment in the generated comments
describing the source of those constants. Fixes issue 588.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Thomas Thrainer <>

42e85303 09/25/2013 04:49 pm Klaus Aehlig

Merge branch 'stable-2.9' into master

  • stable-2.9
    Including missing RST files in packaging
    Update supported lint tools version numbers
    Fix some wrong indentations in the code
    Disable parenthesis indentation check
    Fix an improperly escaped string...
08d58f4c 09/25/2013 03:07 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add additional tests for utils.Retry
    Make retry tests independent of actual time
    Fix corner-case in handling of remaining retry time
    Perform proper cleanup on termination of Haskell daemons

Signed-off-by: Klaus Aehlig <>...

1c9e817d 09/25/2013 01:49 pm Jose A. Lopes

Hs2Py constants: add remaining '_autoconf.*' constants

Add remaining constants which in Python are imported from the
generated 'lib/_autoconf.py'. This will allow to completely remove
this module.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Thomas Thrainer <>

3b170ad4 09/25/2013 01:49 pm Jose A. Lopes

Hs2Py constants: add all 'AutoConf' and related constants

Add all constants in 'AutoConf' to the Hs2Py constant generation and
'socatEscapeCode' because it is part of the group containing
'socatPath', 'socatUseCompress', and 'socatUseEscape'.

Signed-off-by: Jose A. Lopes <>...

b78d0757 09/25/2013 01:49 pm Jose A. Lopes

Add 'buildVersion' for calculating Ganeti versions

Add 'buildVersion' which calculates Ganeti versions and it is the
Haskell counterpart of 'BuildVersion' in 'lib/constants.py'.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Thomas Thrainer <>

61e32567 09/24/2013 02:36 pm Jose A. Lopes

Hs2Py constants: add 'confd' related constants

Add 'confd' related constants to the Hs2Py constant generation.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

2924f169 09/24/2013 02:36 pm Jose A. Lopes

Hs2Py constants: add some constants

Add 'opcodeReason', 'diskstatsFile', 'statFile', and
'mondTimeInterval', to the Hs2Py constant generation.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

c890f66a 09/24/2013 02:36 pm Jose A. Lopes

Organize Haskell constants

Reorder Haskell constants to match the order in the Python constants
module 'lib/constants.py' to make it easier to debug/trace the Hs2Py
constant migration process.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

a57e502a 09/24/2013 09:17 am Thomas Thrainer

Remove physical_id field from disk object

The 'physical_id' field of disk objects is no longer used, so remove it.
Also, all references are removed together with the code which made sure
that the physical_id is up to date when transmitted over RPC.

Signed-off-by: Thomas Thrainer <>...

12475881 09/23/2013 06:34 pm Klaus Aehlig

Export VERSIONEDSHAREDIR to _autoconf.py

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Jose Lopes <>

dd7863e7 09/20/2013 04:36 pm Jose A. Lopes

Fix 'AutoConf.hs.in' template substitution

Fix 'AutoConf.hs.in' template substitution, namely, change 'SOCAT' to
'SOCAT_PATH' to match the value used in the invocation of 'm4' in the
target 'src/AutoConf.hs' in 'Makefile.am'.

Signed-off-by: Jose A. Lopes <>...

37248170 09/20/2013 04:02 pm Jose A. Lopes

Hs2Py constants: add storage fields

Add storage fields constants to the Haskell to Python constant
generation. These constants fetch their values from the Haskell data
type 'StorageField'.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

ccf17aa3 09/20/2013 04:02 pm Jose A. Lopes

Move 'StorageField' to 'Ganeti.Types'

Move 'StorageField' to 'Ganeti.Types' in order to break the
circularity of 'Ganeti.Rpc' and be able to generate constants from
this Haskell data type.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

5867e439 09/19/2013 06:15 pm Jose A. Lopes

Hs2Py constants: add constants from types

Add the constants to the Hs2Py constant generation from the Haskell
data types moved in the previous patch.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

8e6ef316 09/19/2013 06:15 pm Jose A. Lopes

Move data types from 'Objects' to 'Types'

Move several Haskell data types from 'Ganeti.Objects' to
'Ganeti.Types' in order to be able to generate constants while
avoiding module circularity.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

3311e336 09/19/2013 04:42 pm Jose A. Lopes

Fix conflicting path values from 'configure'

Because the Hs2Py constant generation infrastructure is transitional,
there are two generated 'autoconf' modules, namely, 'src/AutoConf.hs'
and 'lib/_autoconf.py'. However, conflicting values were being
generated for Haskell and Python concerning the variables...

a25fdde9 09/19/2013 04:33 pm Jose A. Lopes

Fix constants for OOB commands

Fix values of the constants for OOB commands, namely, 'oobPowerOn' and
'oobPowerCycle'.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

85c48fbb 09/19/2013 11:52 am Jose A. Lopes

Hs2Py constants: add constants from 'Ganeti.Types'

Add to Hs2Py constant generation all constants that are defined by the
Haskell defined declared in 'Ganeti.Types'. This patch also fixes a
type inconsistency between Haskell and Python, namely, the constant...

58c09b0e 09/19/2013 11:52 am Jose A. Lopes

Fix alloc related constants value

Fix alloc related constants to fetch their value from the respective
Haskell types, which are defined in 'Ganeti.Types'.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

774867f2 09/19/2013 11:52 am Jose A. Lopes

Add 'Ganeti.Types.OobStatus' for Hs2Py constants

Add 'Ganeti.Types.OobStatus' which is the Haskell counterpart to the
'OOB_STATUS_*' Python constants.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

14874844 09/19/2013 11:52 am Jose A. Lopes

Add 'PyValue' instance for triple

Add 'PyValue' instance for triple which is necessary for the
'CvErrorCode' related constants.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

06fd57e5 09/19/2013 11:52 am Jose A. Lopes

Fetch 'randomUuidFile' from 'ConstantUtils'

In 'Ganeti.Utils', update the reference to 'randomUuidFile' to fetch
the value from 'Ganeti.ConstantUtils' instead of the Python to Haskell
generated constant. This allows breaking the dependency of
'Ganeti.Utils' on the constants module, which in turn will allow...

4475d529 09/19/2013 11:52 am Jose A. Lopes

Fix indentation

Fix indentation to match Haskell coding conventions.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

d91750e9 09/19/2013 11:52 am Jose A. Lopes

Fix missing constructors to 'CvErrorCode'

Data type 'Ganeti.Types.CvErrorCode' is missing several constructors,
namely, 'CvEINSTANCEUNSUITABLENODE', 'CvEGROUPDIFFERENTPVSIZE',
'CvENODEDRBDVERSION', and 'CvEINSTANCEMISSINGCFGPARAMETER'. This
fixes issue 580....

a8633d70 09/19/2013 11:52 am Jose A. Lopes

Add constructor 'TagKindNetwork' to 'TagKind'

Add missing constructor 'TagKindNetwork' to 'Ganeti.Types.TagKind'
which is the counterpart of the Python constant 'TAG_NETWORK'. This
fixes issue 578.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

661c765b 09/19/2013 11:52 am Jose A. Lopes

Rename 'ExportModeRemove' to 'ExportModeRemote'

In "Ganeti.Types", rename constructor "ExportModeRemove" of
"ExportMode" to "ExportModeRemote". This fixes issue 577.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

9f312bae 09/19/2013 11:52 am Jose A. Lopes

Fix 'NICMode' missing 'NIC_IP_POOL'

Fix, in 'Ganeti.Types', data type 'NICMode', which is missing a
constructor which is the counterpart of the Python constant
'NIC_IP_POOL'. This fixes issue 576.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

72e18df1 09/19/2013 11:52 am Jose A. Lopes

Change all types in 'Types' to use String

Haskell types should be the source of information related to
constants. Therefore, instead of building the Haskell types from the
constants, the constants should be taken from the Haskell types. This
patch updates all the types defined in 'Ganeti.Types' to follow this...

9ee75f25 09/19/2013 11:51 am Jose A. Lopes

Add missing exports in 'Ganeti.Types'

Add missing exports in 'Ganeti.Types' which are necessary for
'Ganeti.HsConstants'. These exports concern the '*ToRaw' functions
which convert a Haskell type into JSON. These functions are needed by
the constants which we want to generate from Haskell to Python based...

80adbbe1 09/18/2013 07:23 pm Michele Tartara

Perform proper cleanup on termination of Haskell daemons

Haskell deamons did not perform proper cleanup at termination. There was no code
for removing the pid file, and the code in LuxiD for removing the unix socket
file was not working, because it is implemented with a "finally" statement,...

7236533e 09/18/2013 02:33 pm Jose A. Lopes

Hs2Py constants: add xen related constants

Add xen related constants, such as, 'xenBootloader' and 'xenCmdXm' to
the Haskell to Python constant generation.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

df726590 09/18/2013 02:33 pm Jose A. Lopes

Hs2Py constants: add 'devConsole' and syslog related

Add 'devConsole' and syslog related constants to the Haskell to Python
constant generation.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

e82d1e98 09/18/2013 02:33 pm Jose A. Lopes

Add Template Haskell 'declareLADT'

Add 'declareLADT' in Template Haskell module to declare Haskell
datatypes using 'String's directly as values for the JSON
serialization, as opposed to 'Name's which is what the current
'declareADT' allows. To achieve this, 'genFromRaw' must be...

43a9e860 09/18/2013 11:55 am Jose A. Lopes

Haskell to Python constants: add exit code constants

Add exit code constants to Haskell to Python constant generation
infrastructure. The module 'Ganeti.ConstantUtils' must be imported
qualified in order to avoid a clash between
'Ganeti.ConstantUtils.exitFailure' and...

856eb53c 09/18/2013 11:55 am Jose A. Lopes

Haskell to Python constants: add 'daemonsLogbase'

Move constant 'DAEMONS_LOGBASE' from Python to Haskell to be
automatically generated.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

1c31b263 09/18/2013 11:55 am Jose A. Lopes

Flip dependency between Haskell types and constants

Before this patch, Haskell types, such as, 'GanetiDaemon' and
'GanetiGroup', and related functions were taking their values from
Haskell constants. However, given that the role of Haskell to Python
constants is to leverage Haskell and its typesystem, it makes sense to...

f81d41cc 09/18/2013 11:54 am Jose A. Lopes

Replace import in 'Ganeti.Path'

Given that Haskell has its own generated 'AutoConf' module, it makes
sense that other Haskell modules import 'configure' variables directly
from 'AutoConf' instead of importing the Python to Haskell generated
constants.

Signed-off-by: Jose A. Lopes <>...

34be621a 09/16/2013 12:50 pm Jose A. Lopes

Fix monitoring daemon extra log filepaths

Haskell constants 'daemonsExtraLogfilesGanetiMondAccess' and
'daemonsExtraLogfilesGanetiMondError' cannot be constants because
their Python counterparts are calculated through
'pathutils.GetLogFilename', which indirectly depends on the...

798582cf 09/13/2013 11:46 am Spyros Trigazis

Make CPUload Data Collector aware of clock ticks

Modify CPUload data collector to get the number of clock ticks
per second from Posix.Unistd. Since CPUload collector converts
clock ticks (jiffies) to seconds and the clock ticks to seconds
ratio varies between linux distributions, it must be read from...

14b4e045 09/12/2013 06:26 pm Klaus Aehlig

Make hbal support the option --ignore-dynu

This will allow to do balancing based only on static information.
In particular, the effect of balancing towards same number of
instances per node that the dynamic usage consideration has
if no usage file is provided, can be turned off, if this is...

81b6fa23 09/12/2013 06:25 pm Klaus Aehlig

Make ExtLoader honor the --ignore-dynu option

Make the external data loader correctly honor the --ignore-dynu option
by clearing the dynamic utilisation data from all instances if the option
is given.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

a06a4dac 09/12/2013 06:25 pm Klaus Aehlig

Provide utility function to clear utilisation data

Using this utility function, the dynamic utilisation of all instances
can be set to 0. This will have the effect of all utilisation being ignored.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

61f96e6f 09/12/2013 06:25 pm Klaus Aehlig

Define a new option --ignore-dynu

This option, if set, will tell htools to ignore any dynamic
use data.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

0c5f1b13 09/12/2013 03:23 pm Thomas Thrainer

Merge branch 'stable-2.9' into master

  • stable-2.9
    Fix bridging in net-common
    Sync build_chroot with buildbot slack role
    Auto-upgrade of disks' config wrt LD-renaming
    Fix tests regarding DISK_LD_DEFAULTS
    Fixing renaming of DISK_LD_DEFAULTS
    Replace LD_* constants with DT_* constants...
6dc0cb59 09/12/2013 02:01 pm Jose A. Lopes

Add 'daemonsPorts' and related constants

  • add 'daemonsPorts' and related constants used in the construction of
    the 'Map' that maps each daemon to its corresponding protocol and
    port. This breaks constant 'daemonsPortsGanetiNoded' which is
    automatically generated from the Python dictionary 'DAEMONS_PORTS'...
cd0359bc 09/12/2013 02:01 pm Jose A. Lopes

Add 'Protocol' datatype

Add 'Protocol' datatype which is necessary for the 'daemonsPorts'
constant.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

92b28956 09/12/2013 02:01 pm Jose A. Lopes

Fix instances of 'PyValue'

Fix instances of 'PyValue', namely, for tuples and maps.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

f361a6ee 09/12/2013 01:51 pm Jose A. Lopes

Haskell to Python constants: more constants

  • move several groups of constants, from Python to Haskell, which are
    currently being used in Haskell, including SSH and daemon related
    constants, policy allocation, blockdev driver manual (this is a
    single constant), auto repair related constants, and data collector...
b2e7599d 09/12/2013 12:24 pm Thomas Thrainer

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Make tools/users-setup explain its actions first
    Generate tools/users-setup from descriptions
    Provide ganeti user and group data in easy-to-parse form
    Remove dsahostkeypub during config downgrade...
26eca119 09/11/2013 11:01 am Jose A. Lopes

Add user separation constants

Add user separation constants, such as, 'daemonsGroup', 'rapiGroup',
and 'rapiUser', to the Haskell to Python constant generation
infrastructure.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

fa70fff2 09/11/2013 11:00 am Jose A. Lopes

Add AutoConf.hs.in

Add 'AutoConf.hs.in' which is the template for generating the file
'AutoConf.hs'. This file mimics the Python equivalent
'lib/_autoconf.py' and it is necessary for Haskell constants to be
able to retrieve their values from 'configure'....

9413ef24 09/10/2013 11:58 am Jose A. Lopes

Haskell to Python constants: add 'adminstAll'

Add constant 'adminstAll' to Haskell to Python constant generation.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

f2b6e7d4 09/10/2013 11:58 am Jose A. Lopes

Add 'FrozenSet'

Add type 'FrozenSet' that wrap a Haskell 'Set', and a guarded
constructor for this type and a 'PyValue' instance.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

4c9fdf69 09/10/2013 11:58 am Jose A. Lopes

Fix module documentation

Fix 'Ganeti.Hs2Py.ListContants.hs.in' template module documentation to
warn about automatic module generation.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

c93041a5 09/10/2013 11:58 am Jose A. Lopes

Fix module documentation

Fix 'HsConstants' module documentation to warn about proper module
usage.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

4651c69f 09/10/2013 11:58 am Jose A. Lopes

Wrap 'Set' in 'ListSet' for the opcodes

In what Haskell to Python opcodes are concerned, a Haskell 'Set' is
translated into a Python 'list'. In other words, currently, opcodes
that handle sets of parameters are actually handling lists because
this is how sets are currently encoded. This patch introduces a new...

3a933ed8 09/10/2013 11:58 am Jose A. Lopes

Fix 'List' instance of 'PyValue'

Fix 'List' instance of 'PyValue' to properly convert Haskell lists to
Python lists.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Guido Trotter <>

3022ea9f 09/09/2013 12:22 pm Apollon Oikonomopoulos

Mark the DSA host pubkey as optional

Commit a9542a4 introduced support for DSA SSH keys. However, the dsahostkeypub
field added to the config is not marked as optional in the Haskell components.
As a result, luxid thinks the config file is corrupt and refuses to start. We...

ce1b0c05 08/29/2013 04:05 pm Jose A. Lopes

Haskell to Python opcodes: fix Unit

Fix how Haskell to Python opcode generation handles unit. It seems
that, in 'template-haskell-2.7.0', unit is represented by Template
Haskell as a constructor of the form '(ConT name)', where 'name' is
the constructor name for 'Unit'. However, in 'template-haskell-2.8.0'...

73b63a40 08/29/2013 01:17 pm Jose A. Lopes

Import original constants instead of generated

Haskell to Python constant generation introduced duplicated constants
in Haskell. This patch eliminates the duplication and fixes Haskell
to import the correct constants, instead of the generated ones.

Signed-off-by: Jose A. Lopes <>...

1b2adaa6 08/29/2013 01:17 pm Jose A. Lopes

Setup constant generation infrastructure

Setup a transitional Haskell to Python constant generation
infrastructure. This infrastructure is transitional and Python
constants will not be migrated to Haskell all at once. Instead, some
constants will be incrementally pulled from Python and moved to...

fec1fac1 08/29/2013 01:17 pm Jose A. Lopes

Rename 'Constants.hs' to 'PyConstants.hs'

Rename the generated 'Constants.hs' module, which contains the Haskell
constants generated from Python, to 'PyConstants.hs' in order to
eliminate duplicated constants in Haskell, a problem introduced by the
Haskell to Python constant generation, and to circumvent a problem...

d34c79b6 08/29/2013 01:17 pm Jose A. Lopes

Add Template Haskell code for constant generation

Add Template Haskell functions that generate a list in Haskell
containing all the constants to be generated in Python. This list is
an association list mapping the constant name to its Python value,
which is stored as a string....

c4d68e39 08/29/2013 01:17 pm Jose A. Lopes

Move some 'PyValue' instances to a separate file

Move some 'PyValue' instances to a separate file so they can be
available to other modules which need these instances but do not want
to depend on the constants module, which led to compilation
constraints....

cd3b4ff4 08/28/2013 06:19 pm Helga Velroyen

Replace LD_* constants with DT_* constants

LD_* constants are basically like DT_* constants, except
for that both file and shared file were mapped to file.
In order to not having to maintain three slightly different
sets of disk-related constants (DT, LD and ST), we merge...

f148fe23 08/27/2013 03:04 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add function to unwrap Results logging failures
    Make the DRBD collector more failure-resilient
    Prepare GetLinuxNodeInfo for testing
    Add unit test for GetLinuxNodeInfo
    NEWS update and version bump for 2.8 rc2...
03b0b21b 08/23/2013 09:56 am Klaus Aehlig

Add new node parameters to Object.hs

In commit 807d8853, new node parameters were introduced in the python world.
Add them to the haskell world as well to restore consistency.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

b1633ed9 08/21/2013 06:19 pm Michele Tartara

Make the DRBD collector more failure-resilient

If information about instances is not available, just log the error and
continue without it.

Signed-off-by: Michele Tartara <>
Reviewed-by: Klaus Aehlig <>

838393d1 08/21/2013 06:18 pm Michele Tartara

Add function to unwrap Results logging failures

Add logWarningIfBad, a utility function similar to exitIfBad, that logs a
warning and returns a default value instead of just crashing the program if
the unpacked value is Bad.

Signed-off-by: Michele Tartara <>...