Statistics
| Branch: | Tag: | Revision:

root / lib @ 414ebaf1

# Date Author Comment
414ebaf1 04/21/2011 04:08 pm Michael Hanselmann

RAPI: Add support for tagging node groups

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

819cbfe5 04/21/2011 04:08 pm Michael Hanselmann

gnt-group: Add commands for tagging groups

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

1ffd2673 04/21/2011 04:08 pm Michael Hanselmann

masterd: Add support for tagging node groups

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

0f7098f3 04/20/2011 04:54 pm Apollon Oikonomopoulos

TLMigrateInstance: remove 10s sleeps

TLMigrateInstance._ExecMigration contains two 10-second sleeps between
individual migration steps.

Apart from prolonging the migration duration by 20s, the second sleep
causes FinalizeMigration to be called 10 seconds after the real...

1b1a08e8 04/19/2011 03:56 pm Michael Hanselmann

gnt-group list: Query filter support

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

2afd577f 04/19/2011 03:56 pm Michael Hanselmann

gnt-node list: Query filter support

Update manpage, quote field names.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

87e87959 04/19/2011 03:54 pm Michael Hanselmann

gnt-instance list: Query filter support

Update manpage, quote field names.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

2928de47 04/18/2011 06:55 pm Michael Hanselmann

cli: Add support for parsing query filters

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

442587bf 04/18/2011 06:55 pm Michael Hanselmann

cli: Add option to force names to be treated as filter

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

b107fe05 04/18/2011 06:55 pm Michael Hanselmann

opcodes: Change parameter type definition for query filter

The old definition wouldn't accept integers.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

cb1e6c3c 04/18/2011 06:55 pm Michael Hanselmann

cli: Error reporting for query filter parsing

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

3f2f55bb 04/18/2011 06:55 pm Michael Hanselmann

qlang: Add function to distinguish filters from names

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

7578ab0a 04/18/2011 06:55 pm Michael Hanselmann

qlang: Add parser for query filter language

With this parser, command line utilities will be able to provide filters
through query2 in a simplistic language. Example filters:

name  "node3.example.com" 
master or (name "node4.example.com")
be/memory == 128 and name =~ /^web/i...
7c670076 04/18/2011 11:56 am Michael Hanselmann

Add instance query field for OS parameters

These were not available as a query field before. Update unittests
and description text for the other “..params” fields.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

e8f472d1 04/14/2011 11:37 am Iustin Pop

Fix shared_file_storage_dir on upgrades

If the cluster was upgraded from 2.4 or earlier, this key won't exist
(it's only set to a correct value on cluster init), so we need to
properly set it to a null string (disabled).

Signed-off-by: Iustin Pop <>...

2afc9238 04/14/2011 11:36 am Iustin Pop

Prevent ssconf values from having non-string values

For whatever reason, my test cluster managed to acquire
shared_file_storage_dir with a None value, instead of empty
string. This is not flagged in masterd itself, but the node daemon
will fail in writing the value to disk, as it calls len() on the...

ccfa86ba 04/13/2011 02:22 pm Michael Hanselmann

cli: Replace hardcoded strings with constants

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

af7b6689 04/07/2011 01:24 pm Michael Hanselmann

Merge branch 'devel-2.4'

  • devel-2.4:
    LUInstanceQueryData: Don't acquire locks unless requested
    Increase the lock timeouts before we block-acquire
    daemon.py: move startup log message before prep_fn
    Display the actual memory values in N+1 failures...
76ae1d65 04/07/2011 12:46 pm Michael Hanselmann

Merge branch 'stable-2.4' into devel-2.4

  • stable-2.4:
    Add error checking and merging for cluster params
    Clarify --force-join parameter message
    Treat empty oob_program param as default
    Fix bug in instance listing with orphan instances
    Fix bug related to log opening failures...
dae661a4 04/06/2011 07:47 pm Michael Hanselmann

LUInstanceQueryData: Don't acquire locks unless requested

Until now LUInstanceQueryData always acquired locks for the instance(s)
and nodes involved. In combination with long-running operations this
prevented the use of “gnt-instance info”, even with the “--static”...

e9c487be 04/06/2011 04:03 pm René Nussbaumer

gnt-instance migrate: Adding --allow-failover option

Signed-off-by: René Nussbaumer <>
Reviewed-by: Iustin Pop <>

d5cafd31 04/06/2011 04:03 pm René Nussbaumer

TLMigrateInstance: Merge failover code, allow fallback

As the code for failover for checking is almost identical it's an easy
task to switch it over to the TLMigrateInstance. This allows us to
fallback to failover if migrate fails prereq check for some reason....

d385a174 04/06/2011 03:49 pm Iustin Pop

Increase the lock timeouts before we block-acquire

This has been observed to cause problems on real clusters via the
following mechanism:

- a long job (e.g. a replace-disks) is keeping an exclusive lock on an
instance
- the watcher starts and submits its query instances opcode which...

bbfed756 04/06/2011 02:05 pm Michael Hanselmann

utils: Add function generating regex for DNS name globbing

The intent of this function is to be able to provide a globbing operator
or query filters. One should be able to say, for example, something to
the effect of “gnt-instance shutdown '*.site'”.

Also rename a variable in MatchNameComponent....

aef59ae7 04/06/2011 01:37 pm Michael Hanselmann

Verify file consistency using centrally computed list

Until now “gnt-cluster verify” (LUClusterVerify) would compute its own
list of files to check for consistency. This list was not complete and
certain inconsistencies were missed.

With this patch the code is changed to use the list of files used by...

5643d67e 04/06/2011 01:37 pm Michael Hanselmann

cmdlib: Factorize computation of ancillary files

… and change the logic in _RedistributeAncillaryFiles. The virtually
same list of files will be used to verify the files' consistency.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

bc385fa0 04/05/2011 03:20 pm Michael Hanselmann

qlang: Remove OP_GLOB operator

It'll be implemented using OP_REGEXP by the parser.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

23d0a608 04/05/2011 03:20 pm Michael Hanselmann

query: Add implementation of regex match operator

So far this operator was not implemented. This patch adds an additional
value preparation function to the function table for binary operators,
used to compile the regular expression. Unittests are included....

a7761c12 04/04/2011 07:30 pm Michael Hanselmann

cmdlib: Fix mistake made in commit 75c7520f0

Commit 75c7520f0 used the wrong constant. I double-checked all other
changes made in the commit.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

75c7520f 04/04/2011 05:59 pm Michael Hanselmann

cmdlib: Replace hardcoded values with constants

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

fe295df3 04/04/2011 02:47 pm Iustin Pop

daemon.py: move startup log message before prep_fn

Before this, the output in the rapi daemon log was:
2011-04-04 03:09:51,026: ganeti-rapi pid=17447 INFO Reading users file
at /var/lib/ganeti/rapi/users
2011-04-04 03:09:51,027: ganeti-rapi pid=17447 INFO ganeti-rapi daemon...

0942620b 04/04/2011 02:47 pm Iustin Pop

Display the actual memory values in N+1 failures

This changes the display from:
Mon Apr 4 02:29:46 2011 * Verifying N+1 Memory redundancy
Mon Apr 4 02:29:46 2011 - ERROR: node node2: not enough memory to
accomodate instance failovers should node node1 fail...

7fa310f6 04/01/2011 04:42 pm René Nussbaumer

RAPI: Convert instance shutdown to the new FillOpCode

Signed-off-by: René Nussbaumer <>
Reviewed-by: Michael Hanselmann <>

ebcd61bb 03/31/2011 07:47 pm Iustin Pop

ssh.VerifyNodeHostname: remove the quiet flag

This is not needed for this function, and can interfere with debugging
of ssh failures.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

c7d3a832 03/31/2011 07:24 pm Iustin Pop

Add a simple wrapper over utils.Retry

The new wrapper makes moving legacy code to utils.Retry or adding
retries in existing code simpler.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

d1e9c98d 03/31/2011 04:53 pm Iustin Pop

Automatically enable hail if enabled and found

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

e5395072 03/31/2011 04:53 pm Iustin Pop

Expose whether htools was enabled to Python code

This exports whether htools was enabled at configure-time, and adds a
constant for our reference iallocator.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

d6491981 03/31/2011 12:44 pm René Nussbaumer

test.ganeti.process_unittest: Fix race condition

There was a race condition on heavily loaded testsystem causing randomly
to fail the timeout unittests as the signal handler is not yet setup but
the timeout has already hit.

Therefore we introduce a workaround to wait until a program reached a...

9a8ae794 03/30/2011 02:51 pm Michael Hanselmann

RAPI client: Remove support for version 0 instance creation requests

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

3fd7f652 03/30/2011 02:51 pm Michael Hanselmann

RAPI server: Drop support for instance creation format 0

Ganeti 2.1.3, released in June 2010, added support for a new, extensible
instance creation request format, called version 1. This patch removes
support for the old and undocumented version 0 format....

d914c76f 03/29/2011 06:23 pm Simeon Miteff

Improved GanetiRapiClient docstrings

- Added @rtype and/or @return where missing
- Fixed @param for Query() filter_ parameter (colon was missing)

Signed-off-by: Simeon Miteff <>
Signed-off-by: Michael Hanselmann <>...

e9f7d26a 03/28/2011 12:49 pm René Nussbaumer

Relax instance ERROR on admin_down on offline node

This fixes a issue, where an stopped instances is reported as ERROR
in cluster verify if it lives on a offline node. As the instances is
down this shouldn't happen.

Signed-off-by: René Nussbaumer <>...

6a373640 03/25/2011 03:53 pm Michael Hanselmann

Implement submitting jobs from logical units

The design details can be seen in the design document
(doc/design-lu-generated-jobs.rst).

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

604c175c 03/24/2011 06:17 pm Iustin Pop

watcher: improve logging a bit

Add some debug logging to detail why we don't run some steps.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

d1b47b16 03/24/2011 02:49 pm Michael Hanselmann

Fix output for “gnt-job info”

If the result of an opcode was a non-empty dictionary, it
would be impossible to differenciate between input and result:

Input fields:
[…]
debug_level: 0
fields: cluster_name,master_node,volume_group_name
jobs: [[True, u'37922'], [True, u'37923'], [True, u'37924']]...
0d2bf835 03/24/2011 10:29 am René Nussbaumer

Rewrite of ensure-dirs in python

I provided unittest to test the important pieces of the infrastructure.
The one remaining function (ResuriveEnsure) is not easy to unittest
but also not critical if it fails to operate correctly.

Signed-off-by: René Nussbaumer <>...

98ed5092 03/23/2011 06:17 pm Michael Hanselmann

Add opcode summary to SubmitManyJobs errors

Requested-by: Iustin Pop <>
Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

dde0e97c 03/18/2011 04:54 pm Michael Hanselmann

RAPI client: Tidy and test WaitForJobCompletion

- Use constants
- Don't sleep if no delay is given
- Mark function as deprecated: it uses polling instead of waiting for changes
(but the latter needs authentication); it can still be used
- Add unittests...

63d5eb8a 03/18/2011 04:54 pm Michael Hanselmann

RAPI client: Add job status constants

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

98805538 03/18/2011 04:54 pm Michael Hanselmann

RAPI client: Job IDs are strings

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

07e0896f 03/18/2011 04:53 pm Michael Hanselmann

Split BuildHooksEnv of LUs

Commit dd7f677623 added another call to BuildHooksEnv to provide
post-phase status variables. Since BuildHooksEnv also built the node
lists, that meant they have to be built twice. First a rather strict
check was used, but it turned out to be more tricky. Commit b423c51336...

cfda0e48 03/18/2011 01:05 pm Iustin Pop

RAPI client: fix epydoc formatting

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

16c13387 03/18/2011 12:00 pm Theo Van Dinter

Add a helper function to the RAPI client

This adds a new method WaitForJobCompletion that can be used for
client who are not interested in the entire job log, just in its
completion status.

Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>...

b423c513 03/17/2011 06:43 pm Michael Hanselmann

Remove restrictive hook node list check

Commit dd7f67762 added a restrictive check for the node lists returned
by BuildHooksEnv, leading to errors with some LUs, one of which was
fixed in commit 0dfa2c227. As it turns out, other LUs have similar
issues, some not easy to fix. This patch disables the restrictive check...

f0a80b01 03/17/2011 06:39 pm Michael Hanselmann

watcher: Fix misleading usage output

When “ganeti-watcher” is called with an argument, it would hint at
a non-existing “-f” parameter. With this patch the separate usage
string is no longer necessary.

Signed-off-by: Michael Hanselmann <>...

0dfa2c22 03/17/2011 01:49 pm Michael Hanselmann

Fix hook node list when adding node

This broke QA (and everyone trying to add a node) by complaining about
different node lists.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

50769215 03/17/2011 12:17 pm Stephen Shirley

Clarify --force-join parameter message

This isn't only used during cluster merge.

Signed-off-by: Stephen Shirley <>
Reviewed-by: Michael Hanselmann <>

dd7f6776 03/16/2011 07:58 pm Michael Hanselmann

hooks: Provide variables with post-opcode values

When a hook is called, it is provided with a number of variables
describing the status of the instance/node/etc. before the operation.
Some opcodes provide extra variables to see modified values from hooks,...

ebc75510 03/16/2011 07:58 pm Michael Hanselmann

HooksMaster: Add more assertions for variable names

Also replace explicit loop with dict.update.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

0306ff62 03/16/2011 07:58 pm Michael Hanselmann

mcpu: Tidy HooksMaster a bit

- Dictionary indentation
- Add empty lines for readability
- Simplify conditional code

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

3d265c2b 03/16/2011 07:58 pm Michael Hanselmann

cmdlib: Factorize running post-pase hook

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

e4e35357 03/16/2011 07:37 pm Michael Hanselmann

locking: Fix race condition in lock monitor

In some rare cases it can happen that a lock is re-created very soon
after deletion, while the old instance hasn't been destructed yet. In
such a case the code would detect a duplicate name and raise an
exception....

51ae7c85 03/15/2011 03:11 pm Michael Hanselmann

qlang: Remove unused import

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

208a6cff 03/15/2011 03:04 pm Michael Hanselmann

RAPI: Add support for querying resources

- Access is only permitted for authenticated clients (queries can return
sensitive data)
- Filters can be specified when sending a PUT request
- Updates RAPI client, documentation and tests

Signed-off-by: Michael Hanselmann <>...

1c7fd467 03/15/2011 03:04 pm Michael Hanselmann

Add support for query resources in RAPI URIs

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

c1391810 03/15/2011 03:04 pm Michael Hanselmann

masterd: Simplify code for field queries

Instead of going via cmdlib and using special cases for different
resources, the list of fields is used directly.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

abd66bf8 03/15/2011 03:04 pm Michael Hanselmann

constants: Rename QR_OP_*, add QR_VIA_RAPI

Commit 28b71a76 added a list of resources which can be queried using
LUXI. Unfortunately the variable was named “QR_OP_LUXI”, which can be
confusing. This patch renames “QR_OP_QUERY” to “QR_VIA_OP”, “QR_OP_LUXI”...

31554d0a 03/15/2011 02:57 pm Michael Hanselmann

qlang: Remove unused ReadSimpleFilter

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

7d4da09e 03/15/2011 02:50 pm Michael Hanselmann

utils: Export NiceSortKey function

The ability to split a string into a list of strings and integers can be
handy elsewhere and is necessary for sorting query results by names.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>...

9026e935 03/15/2011 12:41 pm René Nussbaumer

TLReplaceDisks: Add check if disks are activated

Previously we failed later with a rather useless error message. This
patch fixes this and tells the user to activate-disks if replace-disks
is in the need of activated disks rather than abort with a cryptic error...

7738342c 03/14/2011 12:51 pm Michael Hanselmann

LUOsDiagnose: Move legacy behaviour into filter

The behaviour of LUOsDiagnose needs special treatment. Commit d22dfef7
changed it to not return hidden, blacklisted or invalid OSes if the
respective field is not requested. This behaviour needs to be preserved...

be3a4b14 03/14/2011 12:50 pm Michael Hanselmann

Convert OsDiagnose to query

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

341ff8e9 03/14/2011 12:49 pm Michael Hanselmann

qlang: Add some more documentation for filters

It's not perfect, but at least some more.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

425e5bf0 03/14/2011 12:48 pm Michael Hanselmann

query: Add conversion wrapper

Allows converting the value of a column before returning it. Useful for
sorting while still using one of the other generic functions for
retrieving the value.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

3a93eebb 03/11/2011 07:05 pm Michael Hanselmann

Fix epydoc warning about unknown reference

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

fe698b38 03/11/2011 06:35 pm Michael Hanselmann

config: Wrap MatchNameComponent, reduce lock duration

- Remove duplication by merging two MatchNameComponent into a wrapper
- Reduce lock duration by getting list of names under lock and then
matching names without the lock
- Also, ExpandNodeName's docstring is fixed....

8e7078e0 03/11/2011 03:27 pm Michael Hanselmann

opcodes: Document OpQueryFields' parameters

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

d62ed502 03/10/2011 04:45 pm Stephen Shirley

Treat empty oob_program param as default

There is currently no way to reset oob_program back to its default from
the cmdline, which causes problems for cluster-merge. This patch means
that the following now works:
gnt-cluster modify --node-parameters oob_program=...

377972f4 03/10/2011 04:30 pm Iustin Pop

Fix bug in instance listing with orphan instances

Nodes can return unknown instances, so we shouldn't use the name as an
index without checking.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

c24e519e 03/10/2011 04:29 pm Iustin Pop

Fix bug related to log opening failures

If opening the log file fails, then we shouldn't attempt to use that
variable.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

faaabe3c 03/10/2011 02:15 pm Iustin Pop

Instance failover: fix bug for INT_MIRROR cases

Patches db366d9a and aac4511a added support for EXT_MIRROR instances,
but inadvertently introduced a bug: for INT_MIRROR cases, we don't
need (actually we can't support) neither an iallocator nor a target
node....

cfed3b9f 03/09/2011 03:36 pm René Nussbaumer

gnt-cluster epo: Adding --power-delay flag

Signed-off-by: René Nussbaumer <>
Reviewed-by: Iustin Pop <>

0a1fc31c 03/09/2011 03:36 pm René Nussbaumer

gnt-node power: Adding --power-delay flag

Signed-off-by: René Nussbaumer <>
Reviewed-by: Iustin Pop <>

0c086a13 03/09/2011 03:36 pm René Nussbaumer

cli.py: Adding POWER_DELAY_OPT

The command line option --power-delay sets the time waited between power
ons.

Signed-off-by: René Nussbaumer <>
Reviewed-by: Iustin Pop <>

beff3779 03/09/2011 11:39 am René Nussbaumer

OpOobCommand: Adding power on delay

This delays the invocation of the power on of the next node. So if you
power on a bunch of nodes it will not blow the fuse.

Signed-off-by: René Nussbaumer <>
Reviewed-by: Michael Hanselmann <>

c4ec0755 03/09/2011 11:39 am René Nussbaumer

OpOobCommand: Document all fields

Signed-off-by: René Nussbaumer <>
Reviewed-by: Michael Hanselmann <>

fcecea0b 03/09/2011 11:39 am René Nussbaumer

gnt-cluster epo: Adding --shutdown-timeout

This adds the --shutdown-timeout flag to gnt-cluster epo to specify the
shutdown timeout for instance shutdown.

Signed-off-by: René Nussbaumer <>
Reviewed-by: Michael Hanselmann <>

3429a076 03/08/2011 02:01 pm Apollon Oikonomopoulos

Rename DTS_NET_MIRROR to DTS_INT_MIRROR

DTS_INT_MIRROR better contrasts DTS_EXT_MIRROR.

Signed-off-by: Apollon Oikonomopoulos <>
[: updated patch for changed context]
Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>

41e794f6 03/08/2011 02:01 pm Apollon Oikonomopoulos

KVM: use cache=none for shared disk templates

Disable host cache for externally mirrored disks to avoid cache incoherency.
Without this, migrations between the same two nodes may end up in disk
corruption.

This is a runtime override of cluster defaults, mostly a workaround....

db366d9a 03/08/2011 02:01 pm Apollon Oikonomopoulos

Shared storage instance failover

Modify LUFailoverInstance to enable shared storage instances to failover.
Shared storage instance failover requires either a target node or an
iallocator to determine the target node. If none is given, the cluster default...

aac4511a 03/08/2011 02:01 pm Apollon Oikonomopoulos

Shared storage node migration

Modify LUNodeMigrate to provide node migration for nodes with instances using
shared storage. gnt-node migrate has to be passed an iallocator for migration
of shared storage instances to be performed. When using a shared storage...

77fcff4a 03/08/2011 02:00 pm Apollon Oikonomopoulos

Shared storage instance migration

Modify LUMigrateInstance and TLMigrateInstance to allow instance migrations for
instances with DTS_EXT_MIRROR disk templates.

Migrations of shared storage instances require either a target node, or an
iallocator to determine the target node. If none is given, the cluster default...

1b7761fd 03/08/2011 02:00 pm Apollon Oikonomopoulos

CLI changes to facilitate shared storage migration/failover

Add DST_NODE_OPT to cli.py to use for directly specifying the target node
during migration/failover.

gnt-instance failover/migrate also get passed an iallocator option.

gnt-node failover/migrate get only a target_node option....

8eb34306 03/08/2011 02:00 pm Apollon Oikonomopoulos

Migration and failover: add iallocator and target_node slots

Add iallocator and target_node slots to OpMigrateInstance and
OpFailoverInstance to facilitate shared-storage-backed instance mobility. Add
iallocator slot to OpMigrateNode (no explicit target_node in this case)....

1f1d54e7 03/08/2011 02:00 pm Apollon Oikonomopoulos

IAllocator changes to work with shared storage

Make cmdlib.IAllocator shared-storage-aware. IAllocator requires secondary
nodes only on DTS_NET_MIRROR disk templates and requires no secondaries for
DTS_EXT_MIRROR templates.

Signed-off-by: Apollon Oikonomopoulos <>...

b6135bbc 03/08/2011 02:00 pm Apollon Oikonomopoulos

Shared block storage support

This patch introduces basic shared block storage support.

It introduces a new storage backend, bdev.PersistentBlockDevice, to
use as a backend for shared block storage. The new bdev requires a new
BLOCKDEV_DRIVER_MANUAL constant with the value "manual" and uses it as...

2be7273c 03/08/2011 02:00 pm Apollon Oikonomopoulos

Add bdev_sizes RPC call

The bdev_sizes multi-node RPC call returns the sizes of the requested
block devices on the desired nodes. Its intended use is to verify the
existence of a block device on a given node for shared block storage
support.

Block device paths are expected to lie under constants.BLOCKDEV_DIR...

2932dc44 03/08/2011 12:55 pm Michael Hanselmann

QA: Improve tests for gnt-os

- Test OS lists via command line and RAPI
- Test “gnt-os diagnose” and “gnt-os info”

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

ee7f592e 03/07/2011 06:06 pm Iustin Pop

Log log-file reopening

This makes the log files get an record notifying of the reopen, so as
to force creation of the log files soon after rotation.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

b713fb7a 03/07/2011 03:43 pm Iustin Pop

Merge branch 'stable-2.4'

  • stable-2.4:
    Release 2.4.0
    Small improvement to the ganeti man page
    Fix LUClusterRepairDiskSizes and rpc result usage
    Fix RPC mismatch in blockdev_getsize[s]
    RAPI: fix evacuate node resource
    Fix typo in kvm-ifup script...