Statistics
| Branch: | Tag: | Revision:

root / lib @ 7c60f7a2

# Date Author Comment
7c60f7a2 09/24/2009 12:53 pm Guido Trotter

KVM nic script: use routed link as table

In order to be able to maintain the node network standard routing
untouched while routing instance traffic through a different dedicated
interface (eg: a gre tunnel) we need to specify the instance routing
path inside a separate table, which will also contain different default...

90469357 09/23/2009 06:07 pm Guido Trotter

Confd client: make SendRequest args optional

By default "None" will be used as an args value

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

96e03b0b 09/23/2009 06:07 pm Guido Trotter

Confd client: Change callback model

We move to one callback in total, rather than one per call, and call it
both for server replies and request expiring.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

7d20c647 09/23/2009 06:07 pm Guido Trotter

Confd client: make confd port configurable

The port can be now chosen at library init time, with a default of
calling GetDaemonPort.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

a3db74e4 09/23/2009 06:07 pm Guido Trotter

Confd client library: enable optional logging

If a logger is passed in, we log some debugging messages that might help
someone who's debugging a confd client to understand what's going on.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

90d726a8 09/22/2009 05:37 pm Iustin Pop

Change config upgrade to be explicit

Currently the config upgrade is done at each object instantiation, that
means that ganeti-noded will run UpgradeConfig on all objects received
remotely (instances, disks, nics). This is not so good, so this patch
changes it so that only the ConfigWriter runs this method at...

d01ae714 09/22/2009 05:35 pm Luca Bigliardi

Confd: add instances IPs query

Extend confd to answer queries about instances IPs.

Signed-off-by: Luca Bigliardi <>
Reviewed-by: Iustin Pop <>

3a541d90 09/22/2009 05:01 pm Iustin Pop

Fix utils.MatchNameComponent for full matches

While ‘test1’ matches both ‘test1’ and ‘test1.example’, it has a full,
exact match and we should return it if that is the case.

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

dfc2a24c 09/21/2009 05:31 pm Guido Trotter

Fix _RemoveDisk for file based instances

During 621b7678 two typos were introduced which prevent file based
instances removal to work correctly. Fixing both of them to what they
were meant to be.

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

9b4127eb 09/21/2009 01:28 pm Guido Trotter

cmdlib._CreateDisks fix a broken result.Raise

The format string has the ": %s" at the end, but no argument is passed,
which of course raises a TypeError. Removing ": %s" as it's added by
the RpcResult Raise() method anyway.

Signed-off-by: Guido Trotter <>...

d77490c5 09/18/2009 05:00 pm Iustin Pop

Unify the instance creation code

Currently the AddInstance in gnt-instance and ImportInstance in
gnt-backup duplicate all of their code except the actual opcode creation
(the parameters to it). By moving this to cli.py (not optimal location,
but we don't have another one), we can use a single copy of the code,...

29392516 09/18/2009 01:53 pm Iustin Pop

Move more cluster init opts to cli.py

Some of these should be added to cluster modify too.

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

14e9e7f3 09/18/2009 01:53 pm Iustin Pop

Move cluster verify options to cli.py

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

12054861 09/18/2009 01:53 pm Iustin Pop

Move the “--reboot-type” option to cli.py

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

ee3f9578 09/18/2009 01:53 pm Iustin Pop

Move the “--ignore-secondaries” option to cli.py

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

44c44832 09/18/2009 01:53 pm Iustin Pop

Move the “--no-shutdown” option to cli.py

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

064c21f8 09/18/2009 01:53 pm Iustin Pop

Remove explicit DEBUG_OPT and add it by default

Since >90% of the commands take the “--debug” option, and all should
actually take it (the gnt-job command is currently missing it), it makes
sense to simply remove this and add it by default in cli.py.

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

a72d0a79 09/18/2009 01:53 pm Iustin Pop

Move the “--on-primary” option to cli.py

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

feb09e6a 09/18/2009 01:53 pm Iustin Pop

Move the “--on-secondary” option to cli.py

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

e00f7a05 09/18/2009 01:53 pm Iustin Pop

Move the “--auto” option to cli.py

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

05586c90 09/18/2009 01:53 pm Iustin Pop

Move the “--ignore-size” option to cli.py

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

df62e5db 09/18/2009 01:53 pm Iustin Pop

Move the “--src-…” options to cli.py

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

8d823629 09/18/2009 01:53 pm Iustin Pop

Unify the “--secondary-ip” option

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

b8d0f938 09/18/2009 01:53 pm Iustin Pop

Move the “--readd” option to cli.py

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

fcdde7f2 09/18/2009 01:53 pm Iustin Pop

Move the “--no-ssh-key-check” option to cli.py

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

771734c9 09/18/2009 01:53 pm Iustin Pop

Move the node flags options to cli.py

This also unifies a little the parameters to the respective options.

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

e7e09483 09/18/2009 01:53 pm Iustin Pop

Move the “--allocatable” option to cli.py

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

831040bf 09/18/2009 01:53 pm Iustin Pop

Unify the “--no-lvm-storage” option

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

383a3591 09/18/2009 01:53 pm Iustin Pop

Unify the “--enabled-hypervisors” option

This also required a change, as one of the cases used a different
default.

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

4fbc93dd 09/18/2009 01:53 pm Iustin Pop

Unify the “--nic-parameters” option

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

e32df528 09/18/2009 01:53 pm Iustin Pop

Unify the “--candidate-pool-size” option

This required a slight tweak since in init we want a different default.

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

b58726e8 09/18/2009 01:53 pm Iustin Pop

Unify the “--vg-name” option

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

1f587d3d 09/18/2009 01:53 pm Iustin Pop

Move the “--yes-do-it” option to cli.py

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

58371861 09/18/2009 01:53 pm Iustin Pop

Move the “--no-voting” option to cli.py

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

e3646f22 09/18/2009 01:53 pm Iustin Pop

Move the “--mac-prefix” option to cli.py

The default has also been changed to None as this will be useful once
cluster modify will be able to change this setting too.

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

073271f6 09/18/2009 01:53 pm Iustin Pop

Unify the last “--hypervisor” (as list) option

This third form takes a list of name+options, and is used only in
gnt-cluster. Who knew that we have three forms of ‘-H’?

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

91e0748c 09/18/2009 01:53 pm Iustin Pop

Unify the “--no-ip-check” option

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

7d3a9fab 09/18/2009 01:53 pm Iustin Pop

Unify the “--net” option

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

e3876ccb 09/18/2009 01:53 pm Iustin Pop

Unify the “--disk” (identkeyval) option

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

4b038a1e 09/18/2009 01:53 pm Iustin Pop

Unify the “--disks” (disk indices) option

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

ff00c1a7 09/18/2009 01:53 pm Iustin Pop

Unify the “--os-size” option

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

82a786d5 09/18/2009 01:53 pm Iustin Pop

Unify the “--ignore-consistency” option

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

f2a0828c 09/18/2009 01:53 pm Iustin Pop

Unify the “--non-live” option

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

990b7886 09/18/2009 01:53 pm Iustin Pop

Unify the “--node” (as instance placement) option

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

7edc4637 09/18/2009 01:53 pm Iustin Pop

Unify the “--node” (as list of nodes) option

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

f36d7d81 09/18/2009 01:53 pm Iustin Pop

Unify the last “--node” (single node) option

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

edeb878a 09/18/2009 01:53 pm Iustin Pop

Move the “--no-start” option to cli.py

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

fdcf4d84 09/18/2009 01:53 pm Iustin Pop

Move the “--show-cmd” option to cli.py

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

baef337d 09/18/2009 01:53 pm Iustin Pop

Move the “--cleanup” option to cli.py

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

99a8c799 09/18/2009 01:53 pm Iustin Pop

Move the “--static” option to cli.py

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

2d5e7ae1 09/18/2009 01:53 pm Iustin Pop

Move the “--all” option to cli.py

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

67840b40 09/18/2009 01:53 pm Iustin Pop

Move the “--select-os” option to cli.py

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

b6e841a8 09/18/2009 01:53 pm Iustin Pop

Move the “--ignore-failures” option to cli.py

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

a14db5ff 09/18/2009 01:53 pm Iustin Pop

Unify the “--new-secondary” option

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

4f365444 09/18/2009 01:53 pm Iustin Pop

Unify the “--disk-template” option

Signed-off-by: Iustin Pop <>
Reviewed-by: Guido Trotter <>

26023ecd 09/18/2009 01:53 pm Iustin Pop

Unify the “--no-nics” option

Signed-off-by: Iustin Pop <>
Reviewed-by: Guido Trotter <>

4a25828c 09/18/2009 01:53 pm Iustin Pop

Unify the “--file-storage-dir” option

Signed-off-by: Iustin Pop <>
Reviewed-by: Guido Trotter <>

0f87c43e 09/18/2009 01:53 pm Iustin Pop

Unify the “--file-driver” option

Signed-off-by: Iustin Pop <>
Reviewed-by: Guido Trotter <>

4eb62659 09/18/2009 01:53 pm Iustin Pop

Unify the “--iallocator” option

This patch also changes the gnt-debug's “--algorithm” into
IALLOCATOR_OPT, since it was the only non-standard use of this (due to
historical reasons). Since it's just a debug option,
backwards-compatibility is not critical here....

d3ed23ff 09/18/2009 01:53 pm Iustin Pop

Unify the “--os-type” option

This was already unified inside gnt-instance, I just moved that
definition (and upper-cased it) into cli.py.

Signed-off-by: Iustin Pop <>
Reviewed-by: Guido Trotter <>

087ed2ed 09/18/2009 01:53 pm Iustin Pop

Unify the “--backend-parameters” option

This is not straight-forward. First, gnt-cluster had
“--backend-parameters” wheres the rest of the script had just
“--backend”. I settled on the full form, since one can always abbreviate
options, but not vice-versa....

48f212d7 09/18/2009 01:53 pm Iustin Pop

Unify the “--hypervisor” (params only) option

This unifies the two uses of --hypervisor-parameters with only options
(a=b,…) form. The patch changes a little SetInstanceParms since that
expected opts.hypervisor instead of opts.hvparams.

Note that there is another form of --hypervisor-parameters which also...

236fd9c4 09/18/2009 01:53 pm Iustin Pop

Unify the “--hypervisor” (with name) option

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

3f75b4f3 09/18/2009 01:53 pm Iustin Pop

Unify the “--no-wait-for-sync” option

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

3cebe102 09/17/2009 06:53 pm Michael Hanselmann

Remove RpcResult.RemoteFailMsg completely

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

a0c9776a 09/17/2009 05:37 pm Iustin Pop

Add an error-simulation mode to cluster verify

One of the issues we have in ganeti is that it's very hard to test the
error-handling paths; QA and burnin only test the OK code-path, since
it's hard to simulate errors.

LUVerifyCluster is special amongst the LUs in the fact that a) it has a...

7c874ee1 09/17/2009 05:12 pm Iustin Pop

Introduce parseable error codes in LUVerifyCluster

Currently the output of cluster verify can be parsed for 'ERROR'
messages, but that is the only indication we get (error or no error). In
order to allow monitoring tools to separate different error conditions,...

9cdb9578 09/17/2009 05:12 pm Iustin Pop

Unify the multiple 'verbose' options

Currently multiple files define a 'verbose' option. This patch moves all
these definitions to a single VERBOSE_OPT option which is exported from
cli.py.

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

4abc4f1e 09/17/2009 05:11 pm Iustin Pop

Rewrite the lib/cli.py export list

Right now, the export list is a mess, it's not sorted, and the exported
items are in random places. This patches does grow the length of the
list, but at least it's more clear.

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

edb4b374 09/16/2009 07:13 pm Michael Hanselmann

Remove RpcResult.failed attribute

It's redundant with RpcResult.fail_msg. This change survived QA, burnin and
unittests.

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

efbb4fd2 09/16/2009 04:55 pm Luca Bigliardi

Confd: add primary IPs queries

Extend confd to answer queries about nodes primary IPs and master candidates
primary IPs.

Signed-off-by: Luca Bigliardi <>
Reviewed-by: Michael Hanselmann <>

e4ccf6cd 09/16/2009 03:55 pm Guido Trotter

Confd client library

Initial confd client library implementation. This initial version uses
asyncore, and supports answers via a callback.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

5f3269fc 09/16/2009 03:55 pm Guido Trotter

Abstract AsyncUDPSocket to daemon

This allows this extended asyncore+udp module to be used also in other
daemons, and in the confd client library

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

c8eded0b 09/16/2009 03:55 pm Guido Trotter

AsyncUDPSocket: Move to a well defined UDP size

Currently we read maximum 4K packets, and don't check packets when
sending them. With this patch we move to a well defined maximum size of
60K.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

a3758ab2 09/16/2009 03:55 pm Guido Trotter

Add a magic fourcc code to confd packets

This will make it easier to change the protocol later on

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

9748ab35 09/16/2009 03:55 pm Guido Trotter

Move fourcc packing/unpacking to main confd module

This way it can be used by the client as well

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

7a0156dc 09/16/2009 03:47 pm Luca Bigliardi

Fix authorized_keys generation at cluster init

Copy pub_key in authorized_keys.

Signed-off-by: Luca Bigliardi <>
Reviewed-by: Michael Hanselmann <>

d25c1d6a 09/15/2009 02:19 pm Michael Hanselmann

jqueue: Remove unused run_op_index attribute

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

1d2dcdfd 09/15/2009 02:19 pm Michael Hanselmann

Export new lock_status field to gnt-job

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

ef2df7d3 09/15/2009 02:19 pm Michael Hanselmann

Keep lock status with every job

This can be useful for debugging locking problems.

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

031a3e57 09/15/2009 02:19 pm Michael Hanselmann

Move OpCode processor callbacks into separate class

There are two major arguments for this:
- There will be more callbacks (e.g. for lock debugging) and extending the
parameter list is a lot of work.
- In the jqueue module this allows us to keep per-job or per-opcode variables in...

f60759f7 09/14/2009 03:20 pm Iustin Pop

Replace last hardcoded 'nodelist' with NV_NODELIST

LUAddNode has this usage remaining, as it's the only other LU to use
call_node_verify (beside LUVerifyCluster).

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

33f2a81a 09/14/2009 03:20 pm Iustin Pop

Treat virtual LVs as inexistent

Currently, “gnt-cluster verify” and “gnt-cluster verify-disks” use the
list of LVs as returned by backend.GetVolumeList to determine whether an
LV exists or not. However, LVs can also be ‘virtual’, which is handled
correctly (i.e. as missing) by the bdev code, but not by this function....

9216a9f7 09/14/2009 02:21 pm Michael Hanselmann

locking: Acquire SharedLock in shared mode in separate function

This is for some more symetry with
SharedLock.__exclusive_acquire.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

fe89794e 09/14/2009 02:17 pm Michael Hanselmann

RpcResult: Fix cases where “failed” wouldn't be set to True

This broke “gnt-instance replace-disks --auto” when the instance
is down.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Olivier Tharan <>

ea205dbc 09/14/2009 02:16 pm Michael Hanselmann

locking: Add level name dict

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Olivier Tharan <>

4d5fe81b 09/14/2009 01:31 pm Michael Hanselmann

Merge commit 'origin/next' into branch-2.1

  • commit 'origin/next':
    Fix gnt-node modify online help
    Fix gnt-job info entry in gnt-job(8)
    locking: Don't swallow exceptions
    Add check for duplicate MACs in instance add
    scripts/gnt-node: fix a help string...
470ce2ee 09/11/2009 06:29 pm Michael Hanselmann

locking: Don't swallow exceptions

This is an indentation bug.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

4d4a651d 09/11/2009 05:33 pm Michael Hanselmann

Wrap lines over 80 characters

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Luca Bigliardi <>

aa053071 09/11/2009 05:33 pm Michael Hanselmann

cmdlib: Fix typo in variable name

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Luca Bigliardi <>

e948770c 09/10/2009 07:01 pm Michael Hanselmann

Move LoadModule function to ganeti.build

It should only be used at build-time.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

f9897b6d 09/10/2009 07:01 pm Michael Hanselmann

Add new ganeti.build namespace

This will be used to store build-time Python code.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

640b961e 09/09/2009 12:46 pm Luca Bigliardi

mcpu: formatting/indenting fix

Small fix for a mistake done by bad editor settings.

Signed-off-by: Luca Bigliardi <>

87e43988 09/08/2009 06:22 pm Iustin Pop

Add check for duplicate MACs in instance add

Currently LUAddInstance doesn't check for duplicate MACs, and it fails
during the Exec() phase when trying to add the instance to the config
(ConfigWriter checks for this). This patch copies the code from
LUModifyInstance (which already does it)....

009e73d0 09/07/2009 04:38 pm Iustin Pop

Optimise multi-job submit

Currently, on multi-job submits we simply iterate over the
single-job-submit function. This means we grab a new serial, write and
replicate (and wait for the remote nodes to ack) the serial file, and
only then create the job file; this is repeated N times, once for each...

2d3ed64b 09/04/2009 06:58 pm Michael Hanselmann

Add bash completion for --node node1[:node2]

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Luca Bigliardi <>

016d04b3 09/03/2009 08:32 pm Michael Hanselmann

Even more style fixes

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Luca Bigliardi <>

1e37ad45 09/03/2009 08:32 pm Michael Hanselmann

KVM hypervisor: Use ReadFile

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Luca Bigliardi <>

d73ef63f 09/03/2009 06:45 pm Michael Hanselmann

A few style fixes

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Luca Bigliardi <>

508e9b20 09/03/2009 06:45 pm Michael Hanselmann

Add RAPI resource to redistribute config

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Luca Bigliardi <>