Statistics
| Branch: | Tag: | Revision:

root / lib @ 582ed043

# Date Author Comment
582ed043 05/12/2010 02:01 pm Guido Trotter

Remove oneline= parameter from utils.ReadFile

This partially reverts commit b774bb106cc28d008e790ad2666eb64c76866fa0.
Unittests unrelated to that particular functionality but introduced in
that commit are left untouched. Since the temporary directory is now...

0d9bc5d2 05/12/2010 01:41 pm Michael Hanselmann

RAPI client: Fix SSL error reporting for real

My previous patch, commit 857705e8, helped in one particular
situation where the exception didn't contain any arguments
(pyOpenSSL reporting a WantReadError, which shouldn't occur with a
blocking socket anyway). With this patch, more common and uncommon...

857705e8 05/11/2010 08:28 pm Michael Hanselmann

RAPI client: Improve SSL error reporting

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

1068639f 05/11/2010 08:27 pm Michael Hanselmann

RAPI client: Don't check node role in client

Only the server knows which node roles can be set via RAPI.
Constants are provided for convenience.

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

bfc2002f 05/11/2010 08:27 pm Michael Hanselmann

RAPI client: Update ReplaceInstanceDisks

- The RAPI client shouldn't check the replacement mode as only
the server knows which ones are valid (constants are still
provided for convenience)
- Disks shouldn't be a list of names, but of indexes

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

fde28316 05/11/2010 08:27 pm Michael Hanselmann

RAPI client: Fix behaviour of “allocatable” storage flag

When modifying a storage unit, the “allocatable” flag should default
to “no modification”. This replicates the behaviour of the command
line interface.

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

10f5ab6c 05/11/2010 08:27 pm Michael Hanselmann

RAPI client: Encode boolean and None query values

Boolean values must be passed as 0 or 1. None should be an empty
value ("").

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

75f53ffe 05/11/2010 08:27 pm Michael Hanselmann

RAPI client: No longer check storage type locally

Only the RAPI server (actually masterd) knows which storage types
are valid. The exception can no longer be raised as the type is
only checked in the job.

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

a198b2d9 05/11/2010 08:27 pm Michael Hanselmann

RAPI client: Add constant for RAPI version

This reverts a60e3cb0a partially by moving the RAPI version into a constant.

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

20b509de 05/11/2010 06:04 pm Michael Hanselmann

Add RAPI client utility module with RAPI PollJob function

The RAPI client module shouldn't depend on any Ganeti module, yet it's
useful to have some Ganeti-specific code, like a PollJob function for
RAPI.

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

dfc8ad25 05/11/2010 06:04 pm Michael Hanselmann

RAPI client: Don't assume job IDs to be numeric

Signed-off-by: Michael Hanselmann <>
Reviewed-by: David Knowles <>

8a019a03 05/11/2010 05:59 pm Michael Hanselmann

RAPI client: Include HTTP error code in GanetiApiError exception

Having the HTTP error code allows users of the class to act differently based
on the error code.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: David Knowles <>

d9b67f70 05/11/2010 05:31 pm Michael Hanselmann

RAPI client: Allow waiting for job changes

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

793a8f7c 05/11/2010 05:31 pm Michael Hanselmann

RAPI: Allow waiting for job changes

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

cf9ada49 05/11/2010 05:31 pm Michael Hanselmann

RAPI client: Rename “DeleteJob” to “CancelJob”

Jobs can't be deleted, but cancelled (even though the HTTP method
“DELETE” is used).

Signed-off-by: Michael Hanselmann <>
Reviewed-by: David Knowles <>

cfc03c54 05/11/2010 05:31 pm Michael Hanselmann

RAPI client: Various code style changes

- Replace hardcoded values with constants
- Code formatting
- Exception messages without periods and fixed string formatting

Signed-off-by: Michael Hanselmann <>
Reviewed-by: David Knowles <>

768747ed 05/11/2010 05:30 pm Michael Hanselmann

RAPI client: Always pass _SendRequest args as positional

Signed-off-by: Michael Hanselmann <>
Reviewed-by: David Knowles <>

ccd6b542 05/11/2010 05:29 pm Michael Hanselmann

RAPI client: Simplify URL construction

Signed-off-by: Michael Hanselmann <>
Reviewed-by: David Knowles <>

d3844674 05/11/2010 05:29 pm Michael Hanselmann

RAPI client: Instantiate JSON encoder only once

Signed-off-by: Michael Hanselmann <>
Reviewed-by: David Knowles <>

cd577680 05/11/2010 05:29 pm Michael Hanselmann

RAPI client: Always return job ID

Even removing tags returns a job ID.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: David Knowles <>

a60e3cb0 05/11/2010 05:27 pm Michael Hanselmann

RAPI client: Hardcode version in URLs

If the version changes, the API is likely to change as well. Not
having to ask for the version first makes the code simpler.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: David Knowles <>

9279e986 05/11/2010 05:27 pm Michael Hanselmann

Remove httplib2 dependency from ganeti.rapi.client

- It's possible to implement all functionality in ganeti.rapi.client
using Python's standard modules httplib and urllib2
- By doing so, proper SSL certificate verification is implemented
- Adjust some of the code to Ganeti's code style (this is not yet...

b774bb10 05/11/2010 02:01 pm Michael Hanselmann

utils.ReadFile: Add parameter to read only one line

Reading only one line is useful for reading passwords from files. This
also adds unittests for utils.ReadFile.

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

95f84636 05/11/2010 11:48 am Iustin Pop

Fix tiny typo in cluster verify

Signed-off-by: Iustin Pop <>
Reviewed-by: Balazs Lecz <>

4e338533 05/10/2010 05:17 pm Michael Hanselmann

cli: Make PollJob generic to support other protocols

By separating the LUXI-specific code and stdio-related code
into separate classes, we can make cli.PollJob protocol-
agnostic, allowing it to be used with RAPI.

This patch also adds unittests for cli.PollJob....

f724a702 05/10/2010 12:15 pm Balazs Lecz

Force ssh to allocate a tty

This is required to avoid the
"Pseudo-terminal will not be allocated because stdin is not a terminal."
ssh error message in case a Ganeti script is run non-interactively.

Signed-off-by: Balazs Lecz <>
Reviewed-by: Iustin Pop <>

40bc67e1 05/10/2010 11:56 am Guido Trotter

Retry{Again,Timeout}: explain reraising

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

5ef5ea45 05/10/2010 11:56 am Guido Trotter

IsProcessAlive: retry stat() a few times

On multiprocessor dom0 stat() on /proc can sometimes return EINVAL.
Before giving up, we try a few times to get a consistent answer.

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

506be7c5 05/10/2010 11:56 am Guido Trotter

utils.Retry: pass up timeout arguments

If Retry has to fail with RetryTimeout, it might be useful to pass the
Retry argument to RetryTimeout, to help debugging outside the Retry
cycle. We also define a RetryTimeout.RaiseInner() helper, to re-raise an
exception passed to RetryAgain. All served with a side of unit tests....

036c7f68 05/07/2010 05:25 pm Guido Trotter

Merge branch 'stable-2.1' into devel-2.1

  • stable-2.1:
    Bump version for 2.1.2.1 release
    Update NEWS for Ganeti 2.1.2.1
    KVM: only export instance tags if present

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

1cc831ea 05/07/2010 04:14 pm Guido Trotter

KVM: only export instance tags if present

Currently non-tagged instances fail starting with a TypeError.

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

5bae14d9 05/07/2010 02:34 pm Guido Trotter

ssh.GetUserFiles: move to EnsureDirs

We also create a generic SECURE_DIR_MODE constant, rather than
hardcoding 0700 in the code.

Signed-off-by: Guido Trotter <>
Reviewed-by: Balazs Lecz <>

98c98ab9 05/07/2010 02:34 pm Guido Trotter

Hypervisors: use utils.EnsureDirs

Swap a few os.mkdir calls with utils.EnsureDirs

Signed-off-by: Guido Trotter <>
Reviewed-by: Balazs Lecz <>

0a865080 05/07/2010 02:34 pm Guido Trotter

backend: remove a couple of useless mkdir calls

Those directories must exist for the node daemon to run (it's in the
node daemon's list of ensured directories) and those functions are only
called by the node daemon, so there's no point in those checks+mkdir...

5a062513 05/07/2010 02:34 pm Guido Trotter

daemon.GenericMain: fix docstring

The docstring reports a wrong type for the "dirs" argument. Fixing.

Signed-off-by: Guido Trotter <>
Reviewed-by: Balazs Lecz <>

c33549ef 05/07/2010 02:34 pm Guido Trotter

jstore: use EnsureDirs, and add more constants

Signed-off-by: Guido Trotter <>
Reviewed-by: Balazs Lecz <>

f2f88abf 05/04/2010 08:13 pm David Knowles

Small fixes for RAPI client

- Always check SSL certificate for validity
- Actually JSON-encode HTTP content

Signed-off-by: David Knowles <>
Signed-off-by: Michael Hanselmann <>
Reviewed-by: Michael Hanselmann <>

58385fad 05/03/2010 06:27 pm Iustin Pop

verify cluster: check /etc/hosts consistency

If we are told to modify /etc/hosts, then verify its consistency during
cluster verify.

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

7672a621 05/03/2010 06:27 pm Iustin Pop

Cleanup /etc/hosts during node removal

It seems that commit d8470559 dropped the cleanup of /etc/hosts when a
node is removed from the cluster. I don't know for sure, but it seems
accidental. As long as we add it to /etc/hosts, we should clean it up
too....

87e510fd 04/28/2010 02:57 pm Apollon Oikonomopoulos

KVM: make tags available in KVM_NET_SCRIPT

Make instance tags available as a space-separated list during the execution of
the network setup script. This allows tag-based control of things like firewall
rules and/or networking setup.

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

1c69ad80 04/28/2010 02:57 pm Guido Trotter

Remove "ssconf.CheckMasterCandidate"

This function is not used anymore, so there's no point in keeping it
around.

This reverts commit 3f71b464ad5cdd1f1b53f2a31a4eef4e2a5550cc, apart from
a one empty line conflict in ssconf.py

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

f93f2016 04/23/2010 06:07 pm Michael Hanselmann

masterd: Log PID, UID and GID of connected client

This can be very useful if client programs run as non-root.

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

e311ed53 04/22/2010 05:55 pm Michael Hanselmann

Factorize LUExportInstance

Apart from moving parts of the code to separate functions, error handling
is also improved by making sure snapshots are always removed.

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

c7e4b037 04/22/2010 04:20 pm Balazs Lecz

Use ints instead of strings to represent user-ids

Signed-off-by: Balazs Lecz <>
Reviewed-by: Guido Trotter <>

14b3f969 04/22/2010 02:32 pm Iustin Pop

Fix broken commit 9e302a8

Commit 9e302a8 split the StopInstance function in two without properly
duplicating the local variables.

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

2892a4c9 04/22/2010 02:32 pm Iustin Pop

ssh: make quiet configurable

Currently both CopyFileToNode and BuildCmd hardcode "-q" in the options.
This patch moves this setting as a configurable option to
_BuildSshOptions.

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

b427788e 04/22/2010 12:11 pm Iustin Pop

SSH: do not check IPs

Since we use the cluster name for the SSH known_hosts file, ssh will
always detect a changed IP (since we never connect to the cluster master
name, but the node names), and will complain about it/try to update the
user known hosts file (since that is /dev/null, it doesn't matter, but...

cea881e5 04/21/2010 08:48 pm Michael Hanselmann

Add separate module for backported language functionality

utils.py, where they were before, is already huge.

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

9e302a8c 04/21/2010 08:22 pm Iustin Pop

hv_chroot: move unmount to CleanupInstance()

This allows cleanup to be done properly if the "instance" wasn't running
at all (based on the CleanupInstance framework, instead of the retry in
hypervisor).

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

96d1a0c5 04/21/2010 08:22 pm Iustin Pop

LUSetClusterParams: initialize needed parameters

… since the opcode doesn't auto-initialize to None.

Signed-off-by: Iustin Pop <>
Reviewed-by: Balazs Lecz <>

d271c6fd 04/21/2010 08:22 pm Iustin Pop

Add a hypervisor constant for migration support

This variable can be used by other tools to determine in a generic way
whether a given hypervisor supports migration or not.

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

74a4c11b 04/21/2010 08:01 pm Guido Trotter

Fix indentation error

Commit 9cf4321fc39ec36359d9c90b22b36d33b6adc2f4 indented some lines by
4 spaces rather than 2, and was git-amed without noticing. Fixing.

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

fde0203b 04/21/2010 07:26 pm Michael Hanselmann

utils: Add function for partial application of function arguments

The function's code was mostly copied from Python's documentation
and it's equivalent to “functools.partial” in Python 2.5 and above.

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

5b062a58 04/21/2010 05:48 pm Apollon Oikonomopoulos

Add -usbdevice tablet to KVM when using vnc

When using VNC, it is recommended to use a tablet-style
input device instead of a mouse. This allows most VNC viewers
to send proper mouse coordinates to the virtual machine's desktop
resulting in perfectly aligned guest and host mouse pointers....

9cf4321f 04/21/2010 05:48 pm Apollon Oikonomopoulos

Only use boot=on on non-ide disks only (KVM)

boot=on implies that KVM boots using extboot. This is only required
to boot non-IDE disks and has the side-effect that there is at most
one bootable device. This behaviour breaks some operating systems,
most notably the windows installer that tries to chainload the hard-disk...

aa0b600b 04/21/2010 05:48 pm Guido Trotter

KVM: fix a bug in _TryReadUidFile

If the uid pool is not in use _TryReadUidFile will try to return "uid"
even if it hasn't tried to read it at all.

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

cab667cc 04/21/2010 10:23 am David Knowles

Fix RAPI client methods return values

Ensure that all RAPI client methods that should return job ids actually
return job ids.

Signed-off-by: David Knowles <>
Reviewed-by: Iustin Pop <>
Signed-off-by: Iustin Pop <>

76431533 04/20/2010 06:45 pm Guido Trotter

KVM: implement the HT_SM_POOL security model

In order not to complicate to much the _ExecuteKVMRuntime function with
nested try/except/finally/else constructs we move the actual
runcmd+check call in a separate _RunKVMCmd function.

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

7548396c 04/20/2010 06:45 pm Guido Trotter

KVM: add an instance uid file concept

If this file exists, for an instance, we release the uid contained
inside back to the uid pool, at instance shutdown.

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

ff20190d 04/20/2010 06:45 pm Guido Trotter

ReleaseUid: accept an integer as uid

We can't guarantee to keep the LockedObject around, when ReleaseUid is
called (because that might happen, for example, after a ganeti
shutdown/restart). So we'll support releasing on just an integer uid.

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

14850c5e 04/20/2010 06:45 pm Guido Trotter

LockedUid: add GetUid() method

uidpool users that get passed a LockedUid by the uidpool need to know
which one the uid is. Since it's not nice to make them access a private
member, and we shouldn't make "uid" public either, we'll add a getter
method.

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

8904b35c 04/20/2010 06:45 pm Guido Trotter

KVM: move post-shutdown cleanup operations

Currently putting the cleanup just after the actual shutdown ensures
that it never gets called, due to how the retry/shutdown cycle works.
So we move those cleanups to their new dedicated place.

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

f28ec899 04/20/2010 01:24 pm Guido Trotter

Add CleanupInstance hypervisor call

Currently some hypervisors (namely kvm) need to do some cleanup after
making sure an instance is stopped. With the moving of the retry cycle
in backend those cleanups were never done. In order to solve this we add
a new optional hypervisor function, CleanupInstance, which gets called...

9f3ac970 04/20/2010 12:25 pm Iustin Pop

Fix changing the list of enabled hypervisors

When enabling a new hypervisor, we must ensure that we have its
parameters in the cluster (global) hvparams dictionary.

Furthermore, we add a verify check for this case (this should be better
replaced with an auto-fix?)....

bb579a7d 04/20/2010 12:11 pm René Nussbaumer

Fix heading to the one of epydoc

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

d3b790bb 04/19/2010 03:32 pm Balazs Lecz

Fix a couple of pydoc syntax problems

Signed-off-by: Balazs Lecz <>
Reviewed-by: Michael Hanselmann <>

1513e2dd 04/16/2010 05:13 pm Iustin Pop

Readd node: allow changed primary IP

The primary IP is not used for DRBD disks, only for the job queue and
internal commands. As such, it's trivial (with a quiet job queue) to
re-ip the node.

The patch just relaxes the checks in LUAddNode, and manual testing shows...

5833b7e6 04/16/2010 04:11 pm Balazs Lecz

Add ExecuteWithUnusedUid() to uidpool.py

Signed-off-by: Balazs Lecz <>
Reviewed-by: Guido Trotter <>

649bcdd8 04/16/2010 04:11 pm Balazs Lecz

Manage the assignment of uids from the uid pool

Signed-off-by: Balazs Lecz <>
Reviewed-by: Guido Trotter <>

0fbae49a 04/16/2010 04:11 pm Balazs Lecz

Add uid_pool to ssconf

Signed-off-by: Balazs Lecz <>
Reviewed-by: Guido Trotter <>

39b0f0c2 04/16/2010 04:10 pm Balazs Lecz

Add --uid-pool option to gnt-cluster init

Signed-off-by: Balazs Lecz <>
Reviewed-by: Guido Trotter <>

852bbc95 04/16/2010 04:10 pm Balazs Lecz

Add printing of uid_pool to gnt-cluster info

Signed-off-by: Balazs Lecz <>
Reviewed-by: Guido Trotter <>

fdad8c4d 04/16/2010 04:10 pm Balazs Lecz

Add --add-uids/--remove-uids to gnt-cluster modify

Signed-off-by: Balazs Lecz <>
Reviewed-by: Guido Trotter <>

1338f2b4 04/16/2010 04:10 pm Balazs Lecz

Add --uid-pool option to gnt-cluster modify

Signed-off-by: Balazs Lecz <>
Reviewed-by: Guido Trotter <>

6d127406 04/16/2010 04:10 pm Balazs Lecz

Add lib/uidpool.py module

Signed-off-by: Balazs Lecz <>
Reviewed-by: Guido Trotter <>

4437d889 04/16/2010 04:10 pm Balazs Lecz

Add uid_pool cluster parameter

Signed-off-by: Balazs Lecz <>
Reviewed-by: Guido Trotter <>

f2e07bb4 04/16/2010 03:33 pm Michael Hanselmann

backend: Consolidate code opening real block device

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

339be5a8 04/15/2010 06:24 pm Michael Hanselmann

utils: Add class to split string stream into lines

This will be used by the new import/export daemon to split
output by its child processes into lines.

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

0e3baaf3 04/15/2010 05:37 pm Iustin Pop

Fix cluster behaviour with disabled file storage

There are a few issues with disabled file storage:
- cluster initialization is broken by default, as it uses the 'no'
setting which is not a valid path
- some other parts of the code require the file storage dir to be a...

aeefe835 04/15/2010 05:36 pm Iustin Pop

Fix cfgupgrade with non-default DATA_DIR

Commit 43575108 added bootstrap.GenerateclusterCrypto and commit
7506a7f1 changed cfgupgrade to use it. However, this lost the
functionality of upgrading in non-default DATA_DIR.

To fix this, we enhance bootstrap.GenerateclusterCrypto to accept custom...

88394aa7 04/15/2010 12:08 pm René Nussbaumer

Improving the RAPI documentation

  • Be more clear about when POST and PUT should be used
  • Be more verbose on parameters
  • Describe allowed parameter values (if not self explaining)

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

e588764d 04/12/2010 04:57 pm Iustin Pop

Add a identify-defaults options for import

When importing an instance, all the saved valued will be used as
explicitly specified values, overriding the cluster defaults. This means
export+import will change the status (from default to explicitly
specified) of parameters....

b6cd72b2 04/12/2010 04:57 pm Iustin Pop

Fix create/import verification of hvparams

Currently the instance creation checks the cluster hv defaults + the new
parameters for validity, ignoring the os-specific hvparams (this was an
oversight during the implementation of the os hvp). This patch uses the...

d63479b5 04/12/2010 04:57 pm Iustin Pop

objects.Cluster: add method to get hv defaults

Currently the FillHV method is the one that does the cluster hvparams +
os hvparams merger. However, in some cases we need to do just this,
without adding the instance hvparams on top.

This patch adds a function to compute just this (hv + os hvp...

0af0f641 04/12/2010 04:57 pm Iustin Pop

Reuse NIC information from export

If the user doesn't pass any nics in import, do not use a default
one-nic, but instead read the nics from the export file as is.

Fortunately the export and the way nics are read from the command line
are compatible…

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

cc0d88e9 04/12/2010 04:57 pm Iustin Pop

Reuse backend parameters from export

Similar to the previous patches, if we're missing some parameters and
the export has them (either in the new style or old-style), we reuse
them.

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

9b12ed0f 04/12/2010 04:57 pm Iustin Pop

Reuse disk information from export

If the user doesn't pass the disk information on import, automatically
reuse the number and size of disks. This loses the iv_name attribute,
but that is only cosmetic and cannot be changed by the user.

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

9f88b0e8 04/12/2010 04:56 pm Iustin Pop

Reuse hypervisor parameters in import

If available, we reuse the parameters from the export info.

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

f276c4b5 04/12/2010 04:56 pm Iustin Pop

Read disk template from export info

This patch changes the instance import to read the disk template
automatically from the export info, if the opcode doesn't already
specify a disk template.

To do this, we have a couple of additional changes:

- change from required parameter to optional one for disk_template...

c1c31426 04/12/2010 04:56 pm Iustin Pop

CreateInstance: separate the reading of the export

We move the reading of the export to a separate function, to simplify
CheckPrepreq and also read it earlier. This will allow building the
missing opcode parameters from the export information, instead of...

22f50b1d 04/12/2010 04:56 pm Iustin Pop

Move code from ExpandNames to CheckPrereq

This is needed since only in CheckPrereq we have the nodes locked, and
future import enhancements will need to have access to the export info
during the parameter build.

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

417eabe2 04/12/2010 04:56 pm Iustin Pop

CreateInstance: Move some code to CheckArguments

ExpandNames holds too much non-locking code (first LU to be converted to
ExpandNames, and we didn't have CheckArguments at that poin), and this
patch moves the checks that are lock-independent to CheckArguments....

3c8954ad 04/12/2010 04:56 pm Iustin Pop

Export more instance parameters in instance export

Currently the backend parameters are not exported automatically, but
only a few directly in the '[instance]' section. Hypervisor type and
hypervisor parameters are not exported at all.

This patch creates two separate sections for the be and hv parameters,...

6801eb5c 04/12/2010 04:56 pm Iustin Pop

Export the nicparams too during instance export

The patch tries to export all params (based on the dict defined in
constants), using None for missing keys.

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

2a518543 04/12/2010 04:56 pm Iustin Pop

Handle errors better for wrong nic_count in export

This fixes an old 'FIXME' entry.

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

fe7c59d5 04/09/2010 05:54 pm Guido Trotter

Fix new pylint errors

Under squeeze pylint reports the following errors:
  • Module ganeti.serializer
    E1103:155:LoadSignedJson: Instance of 'False' has no 'get' member (but some types could not be inferred)
  • Module ganeti-masterd
    E1103:166:ClientRqHandler.handle: Instance of 'False' has no 'get' member (but some types could not be inferred)...
cc6484c4 04/09/2010 10:57 am Iustin Pop

ConfdClient.SendRequest: allow max coverage

This patch changes the coverage parameter to allow specification of max
coverage (via -1), versus auto-computation (default, 0) and manual
specification.

Unittests are updated for this case too.

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

5c465a95 04/08/2010 06:50 pm Iustin Pop

Export the maintain_node_health option in ssconf

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

3953242f 04/08/2010 06:50 pm Iustin Pop

Add a new cluster parameter maintain_node_health

This will be used to conditionally enable the watcher node maintenance
feature.

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

aa2efc52 04/08/2010 06:50 pm Iustin Pop

Add a new confd callback (StoreResultCallback)

This new callback simply stores (without calling any lower-level
callback) the last result; coupled with the filtering callback, this
ensures that it has the 'best' response after all have been received.

The result can then be retrieved via the GetResponse method....