Statistics
| Branch: | Tag: | Revision:

root @ 4a34c5cf

# Date Author Comment
4a34c5cf 07/20/2009 07:58 pm Guido Trotter

Generate a shared HMAC key at cluster init time

This key is shared on all nodes (via cmdlib._RedistributeAncillaryFiles)
and will be used for HMAC authentication of confd messages.

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

c071c5b3 07/20/2009 06:54 pm Michael Hanselmann

Fix unittests broken by commit 2bb5c9115f

File "../test/ganeti.hooks_unittest.py", line 239, in setUp
self.lu = FakeLU(FakeProc(), self.op, self.context, None)
File "…/ganeti/cmdlib.py", line 92, in init
self.LogStep = processor.LogStep
AttributeError: FakeProc instance has no attribute 'LogStep'...

2bb5c911 07/20/2009 06:38 pm Michael Hanselmann

cmdlib: Move code doing disk replacements into separate class

This class will be used for a new opcode to evacuate nodes.

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

923ddac0 07/20/2009 02:58 pm Michael Hanselmann

cmdlib: Pass config and rpc objects directly to IAllocator

Before IAllocator would access them using “self.lu.cfg” and “self.lu.rpc”.
It shouldn't know about the internals of the LU.

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

e5a45a16 07/20/2009 02:06 pm Iustin Pop

Fix backend import errors from GetHypervisorClass

The merge of commit 360b0dc into branch-2.1 broke import of backend,
since it uses hypervisor.GetHypervisor() which returns an instance of
the hypervisor. Some of the hypervisors create directories at init time,...

b397a7d2 07/19/2009 09:26 pm Iustin Pop

Merge branch 'next' into branch-2.1

Conflicts:
lib/backend.py: non-trivial conflict but easy to solve

360b0dc2 07/19/2009 09:21 pm Iustin Pop

backend: Only build once the list of upload files

The list of upload files is built currently at every UploadFile() call.
This patch moves it to a separate variable which is initialized only
once.

This won't make much difference but I regard it as cleanup....

25f9901f 07/19/2009 07:47 pm Iustin Pop

Merge commit 'origin/next' into branch-2.1

Conflicts:
lib/cli.py: trivial extra empty line

b8f31860 07/19/2009 07:42 pm Iustin Pop

Fix gnt-instance reinstall

Commit 55efe6dabe48e5c37dc1ff6099e0bb8afde7a468 "Convert instance
reinstall to multi instance model" actually broke instance reinstall for
single-instance cases. This one-liner fixes it.

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

6af6270a 07/19/2009 07:38 pm Iustin Pop

Fix a couple of epydoc warnings

It seems epydoc needs fully-qualified references, and doesn't deal with
relative ones (not even in the current module) if there are any
ambiguities.

There are other epydoc warnings, in the rapi docstrings, but those are
left as-is as they're removed in 2.1....

34327f51 07/19/2009 07:36 pm Iustin Pop

job queue: fix loss of finalized opcode result

Currently, unclean master daemon shutdown overwrites all of a job's
opcode status and result with error/None. This is incorrect, since the
any already finished opcode(s) should have their status and result
preserved, and only not-yet-processed opcodes should be marked as...

b59252fe 07/19/2009 03:03 pm Iustin Pop

Switch gnt-debug submit-job to JobExecutor

Currently gnt-debug submits jobs individually, but in 2.1 JobExecutor
uses the optimized SubmitManyJobs luxi call and as such should be used
whenever multiple jobs need to be submitted.

This patch converts gnt-debug submit-job to use it and also removes an...

3d2ca95d 07/19/2009 02:53 pm Iustin Pop

Convert instance reinstall to multi instance model

This patch converts ‘gnt-instance reinstall’ from single-instance to
multi-instance model; since this is dangerours, it's required to pass
“--force --force-multiple” to skip the confirmation.

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

dd7dcca7 07/19/2009 02:53 pm Iustin Pop

gnt-instance batch-create: use the job executor

This small patch changed the batch create functionality to use the job
executor instead of single-job submits.

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

f2921752 07/19/2009 02:53 pm Iustin Pop

Modify cli.JobExecutor to use SubmitManyJobs

This patch changes the generic "multiple job executor" to use the many
jobs submit model, which automatically makes all its users use the new
model.

This makes, for example, startup/shutdown of a full cluster much more...

56d8ff91 07/19/2009 02:53 pm Iustin Pop

Add a luxi call for multi-job submit

As a workaround for the job submit timeouts that we have, this patch
adds a new luxi call for multi-job submit; the advantage is that all the
jobs are added in the queue and only after the workers can start
processing them....

f6424741 07/19/2009 02:34 pm Iustin Pop

job queue: fix interrupted job processing

If a job with more than one opcodes is being processed, and the master
daemon crashes between two opcodes, we have the first N opcodes marked
successful, and the rest marked as queued. This means that the overall...

ed21712b 07/19/2009 02:33 pm Iustin Pop

Fix an error path in job queue worker's RunTask

In case the job fails, we try to set the job's run_op_idx to -1.
However, this is a wrong variable, which wasn't detected until the
slots addition. The correct variable is run_op_index.

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

66d895a8 07/17/2009 06:36 pm Iustin Pop

Add slots on objects in jqueue

Adding slots to _QueuedOpCode decreases memory usage (of these objects)
by roughly four times. It is a lesser change for _QueuedJobs.

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

6839a874 07/17/2009 06:31 pm Michael Hanselmann

Merge commit 'origin/next' into branch-2.1

  • commit 'origin/next':
    ganeti.initd: Pass $*_ARGS to programs when restarting them
7f5e61b4 07/17/2009 06:23 pm Michael Hanselmann

ganeti.initd: Pass $*_ARGS to programs when restarting them

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

b2aa5035 07/17/2009 04:30 pm Iustin Pop

Merge branch 'next' into branch-2.1

  • next:
    Optimizie OpCode loading
    Yet another fallout from the pylint fixes
363acb1e 07/17/2009 04:30 pm Iustin Pop

Optimizie OpCode loading

This patch converts the opcode loading to a pre-built map (at import
time) instead of iteration over the globals dict at each call.

Microbenchmarks show that this should be around three times faster, and
burnin still passes.

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

b0c63e2b 07/17/2009 03:42 pm Iustin Pop

Yet another fallout from the pylint fixes

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

539210af 07/17/2009 02:41 pm Guido Trotter

Merge branch 'next' into branch-2.1

  • next:
    Fix another issue with hypervisor_name change
    Update NEWS and version for 2.0.2 release
    Improve the description of node flags in man page
    Add enabled hypervisors to TestConfigRunner
    Add a few more checks to verify config...
2a061e15 07/17/2009 02:40 pm Guido Trotter

Merge branch 'master' into next

  • master:
    Update NEWS and version for 2.0.2 release
    Improve the description of node flags in man page
    Change default stripe count to 1
    Use full-stripe size in LVM growth
    RAPI: implement instance reinstall
3df6e710 07/17/2009 02:37 pm Iustin Pop

Fix another issue with hypervisor_name change

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

550a995a 07/17/2009 02:28 pm Iustin Pop

Update NEWS and version for 2.0.2 release

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

253ba78f 07/16/2009 08:00 pm Raiford Storey

Improve the description of node flags in man page

[: slightly reworded the explanation for offline and
changed the commit message]
Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>

529d13a4 07/16/2009 04:53 pm Guido Trotter

Add enabled hypervisors to TestConfigRunner

This parameter is now mandatory for the cluster config to work.

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

9a5fba23 07/16/2009 04:40 pm Guido Trotter

Add a few more checks to verify config

- Check that the enabled hypervisors list is valid
- Check that the master node is a valid node

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

b119bccb 07/16/2009 04:40 pm Guido Trotter

Make sure enabled_hypervisors list is valid

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

066f465d 07/16/2009 04:34 pm Guido Trotter

Get rid of the default_hypervisor slot

Currently we have both a default_hypervisor and an enabled_hypervisors
list. The former is only settable at cluster init time, while the latter
can be changed with cluster modify.

This becomes cumbersome in a few ways: at cluster init time for example...

00b66530 07/16/2009 04:34 pm Guido Trotter

design-2.1: Update OS Flavours section

This reflects a discussion we had, according to which the full
"parameters" implementation is too heavy weight for 2.1, and we should
have a partial version for now, and decide again later.

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

7b3ac94d 07/16/2009 02:54 pm Iustin Pop

Change default stripe count to 1

In order not to change the default during a stable series, we modify
configure.ac to default to one stripe, in effect keeping the status quo
(well, minus the LVM Attach() changes).

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

c772d142 07/16/2009 02:21 pm Michael Hanselmann

cmdlib: Use dict.fromkeys instead of custom loop

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

a33848a5 07/16/2009 01:57 pm Guido Trotter

Simplify InitConfig and remove SimpleConfigWriter

InitConfig currently creates the cluster config_data, then puts it into
a dict, passes it to SimpleConfigWriter to load it from a dict (which
just reuses the dict value) and then saves it. The SimpleConfigWriter is...

9e1333b9 07/16/2009 01:57 pm Guido Trotter

InitCluster, don't use SimpleConfigWriter

InitConfig returns a SimpleConfigWriter to InitCluster, which then
passes it on to ssh.WriteKnownHostsFile, which extracts a couple of
values from it. One line later the full ConfigWriter is initialized.

By initializing it one line before we can pass the full writer to...

541822e0 07/16/2009 01:51 pm Guido Trotter

Fix python 2.4 compatibility

I got overexcited and forgot we have to remain compatible with python
2.4. With this patch we move from sha256 to sha1 for hmac authenticated
serialized messages, and we handle both newer and older python, by
importing the right module for each....

38256320 07/16/2009 01:29 pm Iustin Pop

Use full-stripe size in LVM growth

LVM has issues when growing stripped volumes, so it's best to specify
the growth in exact multiples of the full stripe size (as precise as
possible). For this we need to do a couple of changes:
- in LVM Attach(), we query additionally the VG extent size and the LV...

e52019f7 07/14/2009 07:17 pm Guido Trotter

Remove ConfigWriter.InitConfig

It's been replaced by a simpler bootstrap.InitConfig function, which
does the same job, and is currently unused.

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

d393737d 07/14/2009 06:18 pm Guido Trotter

Merge branch 'next' into branch-2.1

  • next:
    Remove SimpleConfigWriter.SetMasterNode
    _GenerateDiskTemplate: use base_index in the name
    ganeti-masterd: avoid SimpleConfigReader
    cmdlib: Fix typo in LUQueryClusterInfo

Conflicts:

daemons/ganeti-masterd...
48c8887b 07/14/2009 06:07 pm Guido Trotter

Remove SimpleConfigWriter.SetMasterNode

This function is not used.

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

fb4b324b 07/14/2009 06:07 pm Guido Trotter

_GenerateDiskTemplate: use base_index in the name

Currently if a disk is added later the base_index is not considered, and
all the disks are called disk0. This patch fixes it.

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

b2890442 07/14/2009 03:13 pm Guido Trotter

ganeti-masterd: avoid SimpleConfigReader

SimpleStore is a lot less heavyweight than SimpleConfigReader, and to
just get the master name we can use that. This is the only usage of
SimpleConfigReader currently, but we're not going to delete the class,
as new usages will come in for ganeti-confd (in 2.1). Using it there,...

f4a2f532 07/14/2009 01:35 pm Guido Trotter

HMAC authenticated json messages

This patch includes HMAC authenticated json messages to the serializer.
The new interface works on any json-encodable data type, and can sign it
with a private key and an optional salt. The same private key must be
used upon message loading to verify the message....

64dae8fc 07/13/2009 05:59 pm Michael Hanselmann

rapi: Implement /2/nodes/[node_name]/role resource

This resource can be used to retrieve and set the role of a node.

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

3427d34f 07/13/2009 05:58 pm Michael Hanselmann

rapi: Add generic “force” parameter

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

b8810fec 07/13/2009 05:01 pm Michael Hanselmann

cmdlib: Fix typo in LUQueryClusterInfo

This was broken by my pylint fixes patch.

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

e5b7c4ca 07/13/2009 12:47 pm Iustin Pop

RAPI: implement instance reinstall

This patch adds instance reinstall to RAPI, with two optional parameters:
- ‘os', in order to change the OS on reinstall
- ‘nostartup’, in order to leave the instance down after reinstall

The call will first shutdown the instance, the reinstall it, and unless...

3583908a 07/08/2009 12:49 pm Guido Trotter

Extend call_node_start_master rpc with no_voting

When the parameter is set to True and start_daemons is also True,
ganeti-masterd will be started with the new --no-voting --yes-do-it
options.

This new option is set to True only on masterfailover, when no_voting is...

2f7140ba 07/08/2009 12:28 pm Guido Trotter

Merge branch 'next' into branch-2.1

  • next:
    Create a new --no-voting option for masterfailover
    ganeti-masterd: allow non-interactive --no-voting
    Fix pylint warnings
    Add custom pylintrc
    bootstrap: Don't leak file descriptor when generating SSL certificate...
fba15943 07/08/2009 12:27 pm Guido Trotter

Merge branch 'master' into next

  • master:
    Create a new --no-voting option for masterfailover
    ganeti-masterd: allow non-interactive --no-voting
8e2524c3 07/08/2009 12:17 pm Guido Trotter

Create a new --no-voting option for masterfailover

This allows failing over in certain corner cases, such as a 2 node
cluster with one node down. The man page is also updated to document
this dangerous option and how to recover from this situation.

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

5e96d216 07/08/2009 11:33 am Guido Trotter

ganeti-masterd: allow non-interactive --no-voting

This will be used by ganeti-noded to start ganeti-masterd in a
--no-voting masterfailover.

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

7c4d6c7b 07/07/2009 03:54 pm Michael Hanselmann

Fix pylint warnings

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

70c771f6 07/07/2009 03:54 pm Michael Hanselmann

Add custom pylintrc

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

88828491 07/07/2009 03:54 pm Michael Hanselmann

bootstrap: Don't leak file descriptor when generating SSL certificate

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

6096ee13 07/07/2009 03:53 pm Michael Hanselmann

Fix problem with EAGAIN on socket connection in clients

If a user used ^Z to stop the program, poll() in socket.recv would return
EAGAIN due to SIGSTOP. This patch changes luxi.Transport.Recv to ignore EAGAIN.

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

5bbd3f7f 07/07/2009 03:51 pm Michael Hanselmann

Fix some typos

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

1dc10972 07/01/2009 12:40 pm Iustin Pop

Increase maximum accepted size for a DRBD meta dev

With the change to stripped LVs, the actual size of a meta device (which
is small) can be more than we expected (for non-stripped LVs). This
patch increases from 160MB to 1GB the accepted size, and updates the...

dec0d9da 06/30/2009 07:33 pm Iustin Pop

Cleanup config data when draining nodes

Currently, when draining nodes we reset their master candidate flag, but
we don't instruct them to demote themselves. This leads to “ERROR: file
'/var/lib/ganeti/config.data' should not exist on non master candidates...

a8ae3eb5 06/30/2009 07:33 pm Iustin Pop

Fix node readd issues

This patch fixes a few node readd issues.

Currently, the node readd consists of two opcodes:
- OpSetNodeParms, which resets the offline/drained flags
- OpAddNode (with readd=True), which reconfigures the node

The problem is that between these two, the configuration is inconsistent...

9a5cb537 06/30/2009 07:33 pm Iustin Pop

backend.DemoteFromMC: don't fail for missing files

If the config file is missing when the DemoteFromMC() function is
called, it will raise a ProgrammerError. Instead of changing the
utils.CreateBackup() file which is called from multiple places, for now
we only change the DemoteFromMC() function to not call it if the file is...

23f06b2b 06/30/2009 07:31 pm Iustin Pop

Allow GetMasterCandidateStats to ignore some nodes

This patch modifies ConfigWriter.GetMasterCandidateStats to allow it to
ignore some nodes in the calculation, so that we can use it to predict
cluster state without some nodes (which we know we will modify, and thus...

e631cb25 06/30/2009 12:01 pm Iustin Pop

Fix error message for extra files on non MC nodes

Currently the message for extraneous files on non master candidates is
confusing, to say the least. This makes it hopefully more clear.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

cc208ed0 06/29/2009 05:41 pm Guido Trotter

Merge branch 'master' into branch-2.1

  • master:
    Fix adjustement of candidates in cluster modify
    Add a new node list field
    Fix HTTP server library handling of credentials
    Fix a typo in backend.InstanceReboot docstring
    Fix handling of 'vcpus' in instance list...
b2a6ccd4 06/29/2009 05:33 pm Iustin Pop

Rename the volume_list RPC call to lv_list

There are volume-related rpc calls. This patch renames the ‘volume_list’
call to ‘lv_list’ to make more clear its purpose.

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

3126878d 06/29/2009 05:26 pm Guido Trotter

GenericMain, handle ParameterError from _ParseArgs

Before this case was not covered, and printed a stack trace.

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

8b46606c 06/29/2009 05:26 pm Guido Trotter

check_ident_key_val, handle no_ and - prefixes

If an ident member of an IdentKeyVal relationship starts with no_ or -,
handle it the same way we do for a key. Some unittests are added to
check that check_ident_key_val behaves as expected.

This patch also changes ForceDictType to, for now, fail on such an...

4f31882e 06/29/2009 04:14 pm Guido Trotter

_SplitKeyVal with no data return an empty dict

If an empty string is passed to _SplitKeyVal, we should return {},
rather than {'': True}. Also test for the correct behavior.

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

d1a7d66f 06/29/2009 04:12 pm Guido Trotter

Introduce OS api version 15

Also, since Ganeti 2.1 will be compatible with both 10 and 15, change
the OS_API_VERSION constant to be an OS_API_VERSIONS set, and update the
places in the code that used that constat to use something else.

In particular:
- in the qa for now we just create a fake version 10 OS...

63b9b186 06/29/2009 04:12 pm Guido Trotter

_OSOndiskAPIVersion: save a loop

The api_versions list is first stripped and then converted to integer.
Combining the two operations.

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

75e914fb 06/29/2009 04:01 pm Iustin Pop

Fix adjustement of candidates in cluster modify

The code for adjusting the candidate pool size was done after the config
update, and this means we triggered the save of the config file without
fixing the candidate pool, which aborts with an error.

The patch just moves it above. The old comment was valid, but we anyway...

c120ff34 06/29/2009 01:43 pm Iustin Pop

Add a new node list field

This patch adds a ‘role’ node list field, which shows a one-character
node status. This is a simpler way to see the node status than selecting
all the flags individually.

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

3374afa9 06/26/2009 04:45 pm Guido Trotter

Use ReadFile.splitlines() rather than readlines

A few places in the code open a file "manually" rather than using our
wrapper function, because they need an array with the lines. Combining
the result of utils.ReadFile with splitlines() we get rid of the
exceptions....

7ead9575 06/26/2009 04:45 pm Guido Trotter

Rename _OSOndiskVersion to _OSOndiskAPIVersion

This makes what versions we're talking about clearer.

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

920b5878 06/24/2009 06:17 pm Guido Trotter

Convert ssconf._ReadFile to utils.ReadFile

Making ssconf._ReadFile a wrapper over utils.ReadFile

Signed-off-by: Guido Trotter <>

396b5733 06/23/2009 06:29 pm Iustin Pop

backend.StartMaster: fix variable name

As per comments for patch “Convert node_start_master to new style
result”, the ‘payload’ variable is renamed to ‘err_msgs’.

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

81b59aaf 06/23/2009 03:19 pm Iustin Pop

Fix HTTP server library handling of credentials

Currently the http library only checks credentials when authentication
is required. This means that any credentials are accepted on the root
resource, for example, which makes problems hard to diagnose - the...

73e5a4f4 06/23/2009 02:30 pm Iustin Pop

Fix a typo in backend.InstanceReboot docstring

The documentation for the reboot was wrong. This patch fixes it and
updates the docstring with more details.

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

2cad4b91 06/19/2009 04:40 pm Iustin Pop

Update RAPI docs for the dry-run mode

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

6f59b964 06/19/2009 04:24 pm Iustin Pop

rapi: implement dry-run mode

This patch implements dry-run mode for the operations which modify the
state of the cluster. Dry-run mode is enabled by passing a 'dry-run'
query argument with positive integer value.

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

08896026 06/19/2009 04:24 pm Iustin Pop

LUCreateInstance: the node list as return value

Currently LUCreateInstance has no result; this patch changes it so that
both the normal result and the dry-run result is the node list of the
selected instance.

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

64c65a2a 06/19/2009 04:24 pm Iustin Pop

Implement dry-run mode at cli level (partially)

This patch adds support for the dry-run mode for all command line
operations, and also makes use of this for commands using the
SubmitOrSend function. For the ones not using it, the flag has no
effect (future patches)....

20777413 06/19/2009 04:24 pm Iustin Pop

LU execution: implement dry-run framework

This patch adds a new (global) opcode flag 'dry_run' which, when True,
causes early exit from the LU workflow, returning a special value from
the LU object (initialized in the parent LogicalUnit class, and which if...

4f05fd3b 06/19/2009 04:23 pm Iustin Pop

Introduce slots deriving in opcodes.py

This simple patch adds to all opcodes extension of the base opcode
slots. This way we can add slots across all opcodes, for example
'dry-run'.

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

f2fd87d7 06/19/2009 02:14 pm Iustin Pop

Fix some small epydoc warnings

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

0b063b42 06/18/2009 04:50 pm Guido Trotter

gnt-instance(8) one more batch-create update

Document the new nics list, as an alternative to the one nick which you
can create with the old mac, ip, mode, link/bridge keys.

Also specify that 'bridge' is still accepted as well.

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

a379d9bd 06/18/2009 04:50 pm Guido Trotter

Update gnt-instance batch-create for NIC params

This is compatible with the previous version, but also allows specifying
more than one nic, by giving a "nics" list of dicts. The two methods
(individual fields for the first nic, and list of all nics) are
incompatible with each other....

29921401 06/18/2009 01:49 pm Iustin Pop

Fix various pylint warnings

There were multiple issues:
- copy-paste resulted in wrong indentation
- wrong function name
- missing spaces around assignment
- overriding built-in names (type, dir) or already defines ones
(errors, hypervisor)

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

3bd3d643 06/18/2009 12:51 pm Iustin Pop

Document iallocator proposed improvements

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

c1ce76bb 06/17/2009 06:21 pm Iustin Pop

Fix handling of 'vcpus' in instance list

Currently running “gnt-instance list -o+vcpus” fails with a cryptic message:
Unhandled Ganeti error: vcpus

This is due to multiple issues:
- in some corner cases cmdlib.py raises an errors.ParameterError but
this is not handled by cli.py...

495cfdf0 06/17/2009 04:22 pm Guido Trotter

RAPI: move to nic parameters

In query we ask for nic.links, rather than nic.bridges
In create we accept both "link" and "bridge" and let the opcode deal
with it. Note that we still can create only one nic per instance.

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

7d713344 06/17/2009 04:22 pm Guido Trotter

Update manpages for NIC parameters

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

5e3d3eb3 06/17/2009 04:21 pm Guido Trotter

Update a forgot docstring for nic parameters

Properly document the expected nic format.

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

0b13832c 06/17/2009 04:21 pm Guido Trotter

Fix QueryInstanceData for nic parameters

This CL updates QueryInstanceData to return NICs in the new format (mac,
ip, mode, link) and fixes gnt-instance info to properly display them.

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

638c6349 06/17/2009 04:21 pm Guido Trotter

Update instance query for NIC parameters

Compatibility with the old parameters is maintained, by allowing to
query for "bridge" "nic.bridges" and "nic.bridge/N", but None is
returned in that case for routed nics.

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

f9b10246 06/17/2009 04:21 pm Guido Trotter

Rename _PreBuildNICHooksList to _NICListToTuple

We're going to use this helper function for more than just hooks, so
we'll give it a more generic name.

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

6dfad215 06/17/2009 03:52 pm Iustin Pop

Fix checking for valid OS in instance create

The current check in LUCreateInstance.CheckPrereq() is wrong - it only checks
if we got an OS, but not if we got a valid OS. This patch fixes it.

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