Statistics
| Branch: | Tag: | Revision:

root @ ae858516

# Date Author Comment
ae858516 11/08/2013 07:00 pm Klaus Aehlig

Provide means to allocate new job ids

Add utility functions to allocate new job ids by increasing
the value stored in the serial file. As this function is
used in a multi-threaded program, synchronize access over
an internal lock.

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

f5a67757 11/08/2013 07:00 pm Klaus Aehlig

Add function to get master candidates from configuration

With luxi daemon taking over part of the job queue management, it will
also be responsible for replicating the queue to all master candidates.
Therefore, add a function to extract the list of master candidates from...

a716edba 11/08/2013 07:00 pm Klaus Aehlig

Support RPC asking to replicate part of the job queue

To be able to replicate the job queue, in particular the serial,
luxid needs to be able to send the jobqueue_update RPC. So add
its definition.

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

bf7ee7ad 11/08/2013 07:00 pm Klaus Aehlig

Provide function to obtain the unique element of a list

This version of 'the' properly lives in the 'Result' monad,
as opposed to traditional one calling 'error'. The reason
why it is 'Bad' that not precisely one element is returned
is given as argument....

cef3f99f 11/08/2013 07:00 pm Klaus Aehlig

Provide method to read job serial number

This methods allows reading the maximal job serial number from
disk.

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

1c1132f4 11/08/2013 07:00 pm Klaus Aehlig

Provide convenience function to create Job from op-codes

This function handles the pure part of generating a job,
i.e., assuming the job id already assigned and not setting
time stamps.

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

62933497 11/08/2013 07:00 pm Klaus Aehlig

Add function to resolve dependencies in meta op code

When queueing many jobs, the dependencies between them need to
be resolved with the knowledge of their respective job id.
Lift the computation of the absolute dependency to the level
of MetaOpCodes.

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

966ea086 11/08/2013 06:59 pm Klaus Aehlig

Add function to compute the absolute id of a dependency

SubmitManyJobs also accepts jobs with dependencies given as
relative ids. Together with the absolute id of the job, once
assigned, the dependency can be resolved. Add a function doing
this computation....

4b49a72b 11/08/2013 06:59 pm Klaus Aehlig

Provide a convenience method to optain a QueuedOpCode

When generating jobs from sequences of op-codes, it is necessary
to wrap op-codes into queued form.

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

5badb3e7 11/08/2013 06:59 pm Klaus Aehlig

Add utility function tryAndLogIOError

This function allows to use 'IO a' objects in a safe
way, using the 'try' function; the outcome is reported
as a 'Result'. IOErrors are logged and the result is
'Bad', while in the case of no errors, a result-yielding...

710f5ae2 11/08/2013 06:59 pm Klaus Aehlig

Provide utility to atomically write a file

To keep our on-file data consistent at any moment, we change
file contents by atomically replacing the file with a new one.

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

3ff2cf55 11/08/2013 06:23 pm Petr Pudlak

Design document for custom SSH ports

See issue 235. It turned out the feature is a bit more complex than expected,
hence this design doc.

Signed-off-by: Petr Pudlak <>
Signed-off-by: Klaus Aehlig <>
Reviewed-by: Klaus Aehlig <>

d16e3ce4 11/06/2013 05:33 pm Jose A. Lopes

Optimize Haskell compilation

The idea is to compile (on demand, that is, when necessary) each
source file to a normal object file, a coverage object file, a
profiling object file, and a test object file. Also, a given Haskell
binary is linked with the proper object files. This is achieved with...

dfcebee3 11/05/2013 05:41 pm Klaus Aehlig

Fix getNodeRole

In the configuration, the master node is now given
by its uuid. Therefore, compare the uuid and not the
name to find out if a given node is the master.

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

cba1fce1 11/05/2013 03:31 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Fix documentation
    Replace all constant definitions with re-exports
    Prepare constants for automatic reexport
    Hs2Py constants: 'hvsParameterTypes' and 'hvsParameters'
    Fix indentation that triggers PEP8 error...
8dd23148 11/05/2013 02:57 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Revision bump for 2.9.0
    Schedule release of 2.9.0
  • stable-2.8
    Improve error message for replace-disks

Conflicts:
NEWS: trivial
configure.ac: drop suffix bump of stable-2.9

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

eb9861d3 11/04/2013 06:26 pm Klaus Aehlig

Revision bump for 2.9.0

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

357f2342 11/04/2013 06:25 pm Klaus Aehlig

Schedule release of 2.9.0

...and mention the last change pulled in from stable-2.8.

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

f9dfa8df 11/04/2013 05:52 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Improve error message for replace-disks

Conflicts:
lib/cmdlib/instance_storage.py
Resolved by manually applying the node name to uuid
transition on the version of stable-2.9.

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

34ea8da3 11/04/2013 05:30 pm Michele Tartara

Improve error message for replace-disks

In some conditions, replace-disks will fail if the disks are not properly
activated. Improve the error message suggesting to run activate-disks before
executing replace-disks.

Fixes Issue 606.

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

4c5cb91e 11/04/2013 01:39 pm Jose A. Lopes

Fix documentation

Fix documentation in constants containing values in seconds.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Michele Tartara <>

ffab1490 11/04/2013 01:39 pm Jose A. Lopes

Replace all constant definitions with re-exports

Remove all constant definitions in 'lib/constants.py' and re-export
the module 'lib/_constants.py', which contains the generated
constants.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Michele Tartara <>

ba174485 11/04/2013 01:39 pm Jose A. Lopes

Prepare constants for automatic reexport

  • separate constants and non-constants in 'lib/constants.py' to make
    it simple to replace their re-export definitions with a single
    re-export statement at the begining of the module
  • fix access 'CONFD_REQFIELD_*' related constants in...
4dddf578 11/04/2013 01:39 pm Jose A. Lopes

Hs2Py constants: 'hvsParameterTypes' and 'hvsParameters'

Add constants 'hvsParameters' and 'hvsParameterTypes' to the Haskell
to Python constant generation.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Michele Tartara <>

d5a9b556 11/04/2013 12:57 pm Petr Pudlak

Add visual/color marks to the QA script

  • Use different visual marks at the beginning of lines (such as "<<<<" for
    starting a test and ">>>>" for finishing it)
  • Show more specifically if a test fails/passes.
  • If stdout is a terminal, use colors to distinguish different messages...
c5c8d092 10/31/2013 06:39 pm Petr Pudlak

Add the function name to textual descriptions of tests

It makes it a bit easier to find the corresponding functions.

Signed-off-by: Petr Pudlak <>
Signed-off-by: Klaus Aehlig <>
Reviewed-by: Klaus Aehlig <>

b15d5bd3 10/31/2013 06:18 pm Petr Pudlak

Fix indentation that triggers PEP8 error

Signed-off-by: Petr Pudlak <>
Signed-off-by: Klaus Aehlig <>
Reviewed-by: Klaus Aehlig <>

958c943b 10/31/2013 06:00 pm Klaus Aehlig

hsqueeze: document expansion planning in man page

Describe the new behavior of hsqueeze to also plan taking nodes online
in the man page.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Helga Velroyen <>

65d356d2 10/31/2013 06:00 pm Klaus Aehlig

Add a test for hsqueeze expansion

In this example, there are 7 nodes, each with capacity for
4 instances. Two nodes are online and host 4 instances each,
thus forming a cluster with no free resources. Four additional
nodes a standby, and two additional node is offline for other...

c407510c 10/31/2013 06:00 pm Klaus Aehlig

hsqueeze: support planing for onlining nodes

If the amount of free resources falls below a given threshold,
hsqueeze will suggest putting standby nodes back online until
the minimum of free resources is reached, or all standby nodes
are online.

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

9c53f891 10/31/2013 06:00 pm Klaus Aehlig

Add an --minimal-resources option

Add a new option, to be used by hsqueeze, to specify
the amount of free resources that has to be on each
node, in order not to start onlining standby nodes.
It is given as a multiple of the standard allocation,
as specified by the instance policy....

b679628f 10/31/2013 05:59 pm Klaus Aehlig

Text Backend: correctly read data for offline nodes

With standby nodes, simply ignoring the specification of
an offline node is not sufficient any more.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Helga Velroyen <>

db0ea4ae 10/31/2013 05:59 pm Klaus Aehlig

hsqueeze: add a test for the -v option

This test also verifies that the master node is
not considered for being offlined.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Helga Velroyen <>

7839bb67 10/31/2013 05:59 pm Klaus Aehlig

Change default for target resource to 2.0

The target resources, as used by hsqueeze, are supposed to
be strictly higher than the minimal resources. However,
keeping minimal resources of less than a single instance
is not a useful reserve.

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

e77bb27d 10/31/2013 05:59 pm Klaus Aehlig

git-ignore test/hs/hsqueeze

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Helga Velroyen <>

0e627824 10/31/2013 03:18 pm Klaus Aehlig

configure: avoid duplicate Haskell module checking

There are some Haskell modules, that are optional for production,
but needed in test. Check for those only once, by unconditionally
checking before considering the modules for the specific feature.

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

bb133242 10/31/2013 12:46 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Remove FIXME + update man pages wrt iallocator
    Don't check for master netdev when using OVS
    Fix TypeError in backend/ConfigureOVS
    Create Open vSwitch on Master during Cluster init
    SimpleRetry on BlockDev.Remove()...
24711492 10/31/2013 11:28 am Dimitris Aragiorgis

Check if hotplug is supported in CheckPrereq

Introduce new RPC hotplug_supported that invokes the corresponding
hypervisor's method which checks if hotplug is generally
supported. Call this RPC early in CheckPrereq() and abort if
hotplug is not supported. Currently only KVM hypervisor with...

cabc869c 10/30/2013 03:30 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    (no changes)
  • stable-2.8
    Add all dependencies for confd as test dependencies
    Add snap-server to the test-relevenat packages
    Placate warnings on ganeti.outils_unittest.py

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

a50b49b8 10/30/2013 02:58 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add all dependencies for confd as test dependencies
    Add snap-server to the test-relevenat packages
    Placate warnings on ganeti.outils_unittest.py

Conflicts:
configure.ac: take both additions (and fix)...

708f8301 10/30/2013 02:06 pm Helga Velroyen

Remove FIXME + update man pages wrt iallocator

This patch removes a FIXME regarding the retrieval
of the disk template for computation of the cluster
information for the iallocator. After examining the
code, I figured out that it is actually a quite
robust way to just check if the disk template is...

7e360262 10/30/2013 12:34 pm Klaus Aehlig

Add all dependencies for confd as test dependencies

Since our tests pull in confd as a dependency, all build dependencies
for confd are also necessary to run the tests.

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

d5e9de7c 10/30/2013 11:35 am Sebastian Gebhard

Don't check for master netdev when using OVS

This patch disables checking if the given master_netdev exists during cluster
init.
When OVS is used, the needed Open vSwitch will be created later on (with
OpClusterPostInit) and is thus not available at this point of time....

a1578ccf 10/30/2013 11:35 am Sebastian Gebhard

Fix TypeError in backend/ConfigureOVS

In case of running into a failure during Open vSwitch creation, the error is
not given, but a TypeError is thrown. This is because the number of arguments
for the format string was not equal to the place holders.

This fixes the issue....

25ea5b98 10/30/2013 11:35 am Sebastian Gebhard

Create Open vSwitch on Master during Cluster init

Currently, Open vSwitch is only created on additional nodes, not on the master
itself.
This fixes the issue and creates and configures an Open vSwitch on the master
node during cluster init.

Signed-off-by: Sebastian Gebhard <>...

a8b1e9f8 10/30/2013 11:26 am Hrvoje Ribicic

Add design document for multi-version tests

This patch adds a design document for multi-version tests, discussing
what they aim to do and how they should be implemented.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Klaus Aehlig <>

b3ae67d7 10/30/2013 11:03 am Dimitris Aragiorgis

SimpleRetry on BlockDev.Remove()

Sometimes, upon disk removal, corresponding file descriptors
are kept briefly open by various processes (hypervisor, blkid, etc.).
With this patch, we retry several times before raising the appropriate
error, thus making disk removal more robust against those corner cases....

cf2cda79 10/29/2013 05:48 pm Klaus Aehlig

Add snap-server to the test-relevenat packages

While snap-server is only needed for the optional monitoring daemon,
some tests, notably those testing these optional features, still depend
on it. So, if snap-server is missing, the Haskell tests should not be...

7d993147 10/29/2013 03:56 pm Thomas Thrainer

Mention compression for moves/backups in NEWS

Mention the possibility to specify compression for transfers / instance
storage in NEWS file.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

5c5c73fd 10/29/2013 03:56 pm Thomas Thrainer

Add --compress option to instance_move

instance_move now supports the --compress option with which it's
possible to select the compression mode to use during the instance move.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

88acff3f 10/29/2013 03:56 pm Thomas Thrainer

Add possibility to compress to OpInstanceCreate

OpInstanceCreate now supports the 'compress' option. It allows to enable
compression during instance imports.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

258de3fe 10/29/2013 03:56 pm Thomas Thrainer

Honor compress parameter in remote backups

Use the specified compression mode not only for local exports, but also
for remote ones.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

8ca22fef 10/29/2013 03:56 pm Thomas Thrainer

Add --compress option to gnt-backup import

Add a new command line parameter to gnt-backup import and pass
its value to OpInstanceCreate. Also document the option in the
man page.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

0a6e6e6d 10/29/2013 03:56 pm Thomas Thrainer

Add --compress option to gnt-backup export

Add a new command line parameter to gnt-backup export and pass its value
to OpBackupExport. Also document the option in the man page.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

51d7ac96 10/29/2013 03:56 pm Thomas Thrainer

Support import with compressed instance moves

Support compressing instance data while sending it to the target node on
instance imports.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

896cc964 10/29/2013 03:56 pm Thomas Thrainer

Add local compression to OpBackupExport

OpBackupExport is extended by a compress parameter. This parameter
(either 'none' or 'gzip') controls if instance disks are compressed
before being sent over the network to the destination node.

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

94ab995a 10/29/2013 03:56 pm Thomas Thrainer

Add --compress option to gnt-instance move

Add a new command line parameter to gnt-instance and pass its value to
OpInstanceMove. Also document the option in the man page.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

f198cf91 10/29/2013 03:56 pm Thomas Thrainer

Add possibility to compress to OpInstanceMove

OpInstanceMove now supports the 'compress' option. It allows to enable
compression for intra-cluster instance moves.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

f048c574 10/29/2013 03:56 pm Thomas Thrainer

Remove trailing whitespace

Remove trailing whitespace from OpCodes.hs and OpParams.hs.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

3fd85fba 10/29/2013 03:56 pm Thomas Thrainer

Remove blockdev_export RPC

This RPC call is no longer used, as for intra-cluster instance moves the
import/export daemon is used too.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

a986a581 10/29/2013 03:56 pm Thomas Thrainer

Optimize dd parameters for instances moves

Benchmarks have shown that increasing the buffer size and disabling
synchronous output increased the throughput by about 10MiB/s, so make
those parameters the default.

Note that not using sync for output doesn't increase the risk of data...

063613aa 10/29/2013 03:56 pm Thomas Thrainer

Use import-export daemon for intra-cluster moves

This unifies the inter- and intra-cluster moves and the backup code, so
less code needs to be maintained.

Also fix failing tests for LUInstanceMove by following the code changes
in the tests.

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

d29f52a6 10/29/2013 03:56 pm Thomas Thrainer

Use cluster variable consistently

The cluster object is already retrieved from the configuration, so use
it consistently in LUInstanceMove.CheckPrereq().

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

83266db6 10/29/2013 03:56 pm Thomas Thrainer

Correct comments

Correct comments which confuse the target node with the secondary node
of an instance in LUInstanceMove.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

80ae381e 10/29/2013 03:56 pm Klaus Aehlig

Fix expectation of the htools wrapping

With the addition of hsqueeze, htools obtained a new personality.
Additionally, the longer htool name also changes the line wrapping of
the descriptions. Adapt the expectation accordingly.

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

9e354be4 10/29/2013 02:26 pm Klaus Aehlig

Add a man page for hsqueeze

Describe the current state of the Ganeti dynamic power management
tool, hsqueeze, in a man page.

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

1c912fd2 10/29/2013 02:26 pm Klaus Aehlig

Add test for hsqueeze compression

In this example cluster, there are 6 nodes with
capacity for 4 instances each, holding a total
of 8 instances. So even after turning off 2 nodes
and rebalancing, every node still has capacity for
2 instances.

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

5f6e9cb9 10/29/2013 02:26 pm Klaus Aehlig

Add hsqueeze planning for compression

Add a new htool, hsqueeze, for dynamic power management. This
commit only implements the first useful part: plan (but not
executing) taking nodes offline nodes still keeping within the
resource limit.

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

d2fd234c 10/29/2013 02:26 pm Klaus Aehlig

Provide --target-resources option

Add a new option, to be used by hsqueeze, to specify the
target free resources on each node. It is given as a multiple
of the standard allocation, as specified in the instance policy.

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

0b9175cb 10/28/2013 05:24 pm Petr Pudlak

Show the key in "'None' is not a valid Maybe value"

Currently the error message doesn't say which key is affected, which
makes it kind of useless.

Signed-off-by: Petr Pudlak <>
Signed-off-by: Klaus Aehlig <>
Reviewed-by: Klaus Aehlig <>

47c477c8 10/28/2013 04:53 pm Petr Pudlak

Add RpcResult.__repr__ for debugging

This way it's possible to easily log the whole result in a human
readable form.

Signed-off-by: Petr Pudlak <>
Signed-off-by: Klaus Aehlig <>
Reviewed-by: Klaus Aehlig <>

79a32c67 10/28/2013 04:13 pm Petr Pudlak

Let git ignore `.hsenv` directory and vim's session file

Signed-off-by: Petr Pudlak <>
Signed-off-by: Klaus Aehlig <>
Reviewed-by: Klaus Aehlig <>

542a91d4 10/28/2013 04:09 pm Petr Pudlak

If a configuration file can't be loaded, show which one

So far the error message only says it can't be loaded, but not what file
it is.

Signed-off-by: Petr Pudlak <>
Signed-off-by: Klaus Aehlig <>
Reviewed-by: Klaus Aehlig <>

46cc1ab4 10/28/2013 01:48 pm Hrvoje Ribicic

Refactor `getAllConsoleParams` to be more readable

Instead of creating a lot of lists and then zipping them, just work
on every item one at a time. It makes the code much more readable.
This changes the ordering of "effects", but the "effects" here are just...

9c8f7bf4 10/28/2013 12:07 pm Helga Velroyen

Fix usage of xm/xl for gnt-instance modify --new-primary

This fixes issue 519. When calling 'gnt-instance modify
--new-primary', an exception was raised, because a
RPC call was not called with the right hypervisor
parameters which caused the backend function to crash,...

a49e7e0d 10/28/2013 12:05 pm Jose A. Lopes

Hs2Py constants: add 'hvcDefaults'

Add 'hvcDefaults' to the Haskell to Python constant generation.

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

413434a5 10/28/2013 12:04 pm Jose A. Lopes

Fix documentation

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

df2e0fa5 10/28/2013 12:04 pm Jose A. Lopes

Hs2Py constants: add 'diskDtDefaults'

  • add constant 'diskDtDefaults' to the Haskell to Python constant
    generation
  • remove 2 local variables which were used only by 'DISK_DT_DEFAULTS'
    and are, therefore, no longer necessary

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

558d8ed8 10/28/2013 12:04 pm Jose A. Lopes

Fix documentation

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

a2b55ccd 10/28/2013 12:04 pm Jose A. Lopes

Hs2Py constants: add 'value*' and 'niccDefaults'

  • add group of constants 'value*' and constant 'niccDefaults' to the
    Haskell to Python constant generation
  • add 'PythonNone' to represent the 'None' is Haskell to Python
    generated code

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

07e30af5 10/28/2013 12:04 pm Jose A. Lopes

Hs2Py constants: add 'ipolicyDefaults'

Add constant 'ipolicyDefaults' to the Haskell to Python constant
generation.

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

cb23d0ca 10/28/2013 12:04 pm Jose A. Lopes

Hs2Py constants: add 'mond' latest version

Add 'mond' latest version constant to the Haskell to Python constant
generation.

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

44b1b622 10/28/2013 12:04 pm Jose A. Lopes

Hs2Py constants: add 'sshDaemonKeyfiles'

Add constant 'sshDaemonKeyfiles' to the Haskell to Python constant
generation.

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

93e2e44e 10/28/2013 12:04 pm Jose A. Lopes

Hs2Py constants: add 'diskLdDefaults'

Add constant 'diskLdDefaults' to the Haskell to Python constant
generation.

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

0e7126a1 10/28/2013 12:04 pm Jose A. Lopes

Hs2Py constants: add 'ndcDefaults'

Add constant 'ndcDefaults' to the Haskell to Python constant
generation.

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

47ea2344 10/28/2013 12:04 pm Jose A. Lopes

Hs2Py constants: add 'becDefaults'

Add constant 'becDefaults' to the Haskell to Python constant
generation. An instance of 'PyValue' is added to the type 'PyValueEx'
in order to allow polymorphic types, namely, 'Map's.

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

85bcb1de 10/28/2013 12:04 pm Jose A. Lopes

Remove 'Show' from 'PyValue' class

Remove 'Show' constraint from the 'PyValue' class which, even though
it allowed to simplify the definition of instances of this class for
primitive types, it made it more complicated to define instances for
other types....

3a715da0 10/28/2013 12:04 pm Jose A. Lopes

Hs2Py constants: add 'drbdValidBarrierOpt'

Add constant 'drbdValidBarrierOpt' to the Haskell to Python constant
generation.

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

fa8d6aa7 10/28/2013 12:04 pm Jose A. Lopes

Hs2Py constants: add 'dtsLvm'

Add constant 'dtsLvm' to the Haskell to Python constant generation.

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

c549d1b6 10/28/2013 12:04 pm Jose A. Lopes

Hs2Py constants: remove useless constants

Remove unused constants from Python because they were only used by
constants which are currently generated, and move Python comment to
the Haskell side.

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

e0007cf1 10/28/2013 12:04 pm Jose A. Lopes

Hs2Py constants: add 'daemonsExtraLogbase'

Add constant 'daemonsExtraLogbase' to the Haskell to Python constant
generation and update Python reference.

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

c506f986 10/28/2013 12:04 pm Jose A. Lopes

Hs2Py constants: remove unused constant

Remove unused Python constant whose use was replaced by other
constants generated from Haskell.

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

9749f90b 10/25/2013 04:23 pm Thomas Thrainer

Fix default value for reason trail

The default value for the reason trail field used to be ht.EmptyList in
2.9 but was incorrectly changed to None in 2.10. This patch corrects
this error which fixes a bug in batch creation of instances.

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

4f2f98f1 10/24/2013 12:27 pm Dimitris Aragiorgis

drive_del after device_del in disk hot-remove

This is needed so that qemu process really releases the
corresponding file descriptor and thus we can dmsetup/lvremove
the device without errors.

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

e15a00dc 10/24/2013 12:27 pm Dimitris Aragiorgis

Minor changes regarding hotplug support

  • Mention restrictions in NEWS
    - RBD userspace access mode
    - In case of a downgrade instances should suffer a reboot to be migrateable
  • Bypass interactive verification in NIC modifications via --force option
    - Mention it in man page...
51951d38 10/24/2013 12:27 pm Dimitris Aragiorgis

Fix in RPC

Use _SingleDiskDictDP() instead of _ObjectDict() for serializing
a disk.

Signed-off-by: Dimitris Aragiorgis <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

41a878b5 10/24/2013 12:27 pm Dimitris Aragiorgis

block_devices -> kvm_disks renaming

and a couple more styple fixes.
block_devices are misleading so rename them to kvm_disk (just like kvm_nics)

Signed-off-by: Dimitris Aragiorgis <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

50e0f1d9 10/24/2013 12:27 pm Dimitris Aragiorgis

Make hotplug related method raise HotplugError

Hotplug is not supported by default and thus we raise
HotplugError() for hotplug related methods.
If a hypervisor wants to support it, we must override VerifyHotplugSupport()
and implement the Hot* method.

Backend invokes VerifyHotplugSupport() and raises RPCFail if an...

43c6e76f 10/24/2013 12:27 pm Dimitris Aragiorgis

Some fixes in _GenerateKVMBlockDevicesOptions()

  • Add docstring.
  • fix missed usecase of boot_disk=False if kernel_path is given.
  • Use devlist arg in GenerateKVMBlockDeviceOptions()
    This is previously calculated in _ExecuteKVMRuntime()
    so there is no need to rerun the same command....
fda3d987 10/24/2013 12:27 pm Dimitris Aragiorgis

Add unittests for Hotplug support

Try base InstanceSetParams tests that modify instance's
devices with hotplug=True.

Add some unittests for kvm hypervisor regarding runtime file
manipulation. Based on a sample runtime file search for
specific disk and nic entries based on their UUID....