Statistics
| Branch: | Tag: | Revision:

root / lib @ c772d142

# Date Author Comment
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....

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 <>

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 <>

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 <>...

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

Fix pylint warnings

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 <>

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 <>

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 <>...

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 <>...

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 <>

c98162a7 06/17/2009 03:52 pm Iustin Pop

Show disk size in instance info

The size of the instance's disk was not shown in “gnt-instance info”.
This patch adds it and formats it nicely if possible.

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

2b1ac224 06/16/2009 06:25 pm Guido Trotter

Merge branch 'next' into branch-2.1

  • next:
    gnt-cluster(8) fix --backend-parameters opt name
    LUQueryInstances: fix querying for nic data
    Specify the object type in two docstring
39a02558 06/16/2009 06:03 pm Guido Trotter

LUQueryInstances: fix querying for nic data

Currently we support querying for "mac" "ip" or "bridge", meaning "the
one of the first nic. We are not checking that there is a first nic,
though, and thus could incur in errors. This patch fixes it by returning...

a2a24f4c 06/16/2009 06:02 pm Guido Trotter

Specify the object type in two docstring

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

7b381438 06/16/2009 03:35 pm Guido Trotter

KVMHypervisor, fix a bug in MigrateInstance

This was introduced as a typo in commit
7e66c35b5685525538dd65dd3dff75b5346d30d7 while removing duplicate code
from the KVM hypervisor.

Signed-off-by: Guido Trotter <>

541741d3 06/16/2009 03:27 pm Guido Trotter

Fix backend.{Start,Stop}Master

Commit c26a6bd21c17641f718369caed88ae16947fa774 changed GetMasterInfo
not to return a tuple anymore, but didn't update its two callers in
backend.py, which were trying to extract the values from the second
tuple element. This causes a stack trace in node-daemon.log....

af0413bb 06/16/2009 02:28 pm Guido Trotter

Merge branch 'next' into branch-2.1

  • next: (22 commits)
    Update NEWS and version for 2.0.1 release
    gnt-{instance,backup}(8) --nic is actually --net
    Fix a wrong function name in backend.DrbdAttachNet
    GNT-CLUSTER fix search-tags example
    Enable stripped LVs...
c57f169e 06/16/2009 02:25 pm Guido Trotter

Merge branch 'master' into next

  • master:
    Update NEWS and version for 2.0.1 release
    gnt-{instance,backup}(8) --nic is actually --net
    Fix a wrong function name in backend.DrbdAttachNet
    GNT-CLUSTER fix search-tags example
6f7d4e75 06/15/2009 08:13 pm Iustin Pop

Small whitespace change

Some indentation was wrong, and pylint rightfully complained.

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

4c4e4e1e 06/15/2009 08:13 pm Iustin Pop

Simplify RPC call result check in cmdlib.py

Now that all results are the same, we can even more simplify the
handling in cmdlib more. Almost all if result.RemoteFailMsg()…
constructs are similar, and we resurect the RpcResult.Raise() function
to take a message argument, which it will process and raise an...

c26a6bd2 06/15/2009 08:08 pm Iustin Pop

Simplify the RPC result framework in backend.py

Since now all functions fail via _Fail, the return True, … is redundant
as all normal return paths have it, and thus the True value can be added
in the ganeti-noded handler.

This means that all functions can now forget about the special result...

afdc3985 06/15/2009 08:08 pm Iustin Pop

Convert all backend function to exception

Instead of returning (False, msg) from rpc endpoints, we raise always
exceptions (the non-endpoint, internal functions can remain as is). This
means that the error paths are agnostic to how the failure is signalled...

5a533f8a 06/15/2009 08:08 pm Iustin Pop

Simplify usage of backend._FindDisks

Since all users of _FindDisks now return new-style results, we can
simply make it raise an exception and not deal with the status field.

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

d3c8b360 06/15/2009 08:08 pm Iustin Pop

Pre-compute error status in RpcResult

Since now all RPCs have the new style result type, we can pre-compute
the error message at RpcResult() init time and not wait until it's
requested.

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

8e70b181 06/15/2009 08:08 pm Iustin Pop

Remove old invalid-os related functionality

We no longer need OS objects to be able to represent invalid OSes. This
cleans up the code handling those cases.

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

255dcebd 06/15/2009 08:08 pm Iustin Pop

Big rewrite of the OS-related functions

Currently the OSes have a special, customized error handling: the OS
object can represent either a valid OS, or an invalid OS. The associated
function, instead of raising other exception or failing, create custom
OS objects representing failed OSes....

c8457ce7 06/15/2009 08:08 pm Iustin Pop

Convert the jobqueue rpc to new style result

This patch converts the job queue rpc calls to the new style result.
It's done in a single patch as there are helper function (in both jqueue
and backend) that are used by multiple rpcs and need synchronized
change....

b2b8bcce 06/15/2009 08:08 pm Iustin Pop

Convert the file storage rpcs to new style result

This patch converts all three file-storage rpc (create, delete, rename)
to new style result. This is done in a single patch as they all use a
helper function which itself needs to/can be converted.

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

38ea42a1 06/15/2009 08:08 pm Iustin Pop

Convert test_delay rpc to new style result

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

87f5c298 06/15/2009 08:08 pm Iustin Pop

Convert iallocator_runner rpc to new result style

This patch converts this rpc into the new style. Since the function
already had some error handling, we remove this custom error reporting
and replace it with our (new-style) result type. This allows significant...

3fb4f740 06/15/2009 08:08 pm Iustin Pop

Convert hooks_runner rpc to new style result

This also converts (and fixes) unittests and mock objects to deal with
this change, and the custom hook verifier in cmdlib.LUClusterVerify.

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

83d92ad8 06/15/2009 08:08 pm Iustin Pop

Convert os_diagnose rpc to new style result

This also removes custom post-processing from rpc.py; since this call
has only one user, it was simple to move it back to the caller.

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

90b54c26 06/15/2009 08:08 pm Iustin Pop

Convert call_version rpc to new style result

This also cleans up its single use in cmdlib.py.

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

e1e75d00 06/15/2009 08:08 pm Iustin Pop

Convert write_ssconf_files to new style

The patch also adds logging of errors from the ConfigWriter in case the
RPC fails (although today we don't have failure modes).

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

2a52a064 06/15/2009 08:08 pm Iustin Pop

Convert master_info rpc to new style result

This was more tricky as the backend function is used by other function
in backend.py. As such, it must be handled specially - it must raise
always an exception and not simply return False, err.

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

10bfe6cb 06/15/2009 08:08 pm Iustin Pop

Convert node_volumes rpc to new style result

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

0623d351 06/15/2009 08:08 pm Iustin Pop

Conver node_leave_cluster rpc to new style result

This patch converts this rpc call to the new style result, and also
changes in the process the meaning of the QuitGanetiException's
arguments and the node daemon rpc call exception handler.

The problem with the exception handler is that we used a two-stage one,...

6c00d19a 06/15/2009 08:08 pm Iustin Pop

Convert node_stop_master rpc to new style result

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

b726aff0 06/15/2009 08:08 pm Iustin Pop

Convert node_start_master to new style result

This is used in multiple places outside cmdlib.py, so it's a more
interesting patch.

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

6f68a739 06/15/2009 08:08 pm Iustin Pop

Convert node_verify rpc to new result style

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

31e22135 06/15/2009 08:08 pm Iustin Pop

Remove utils.CheckDict since it's no longer used

Only the custom handling in rpc.py for call_node_info used this, so now
it can be removed.

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

070e998b 06/15/2009 08:08 pm Iustin Pop

Convert node_info rpc to new style result

This patch also does some cleanup and enforces valid results (with
proper type, i.e. int for memory/disk values) from remote node,
otherwise we handle the result as failure.

We do this so that we can remove custom processing in rpc.py which is...

c2fc8250 06/15/2009 08:08 pm Iustin Pop

Convert node_has_ip_address rpc to new style

This should actually have a function in backend, but it's fine for now.

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

aca13712 06/15/2009 08:08 pm Iustin Pop

Convert instance_list rpc to new style result

Since backend.GetInstanceList() is used both as RPC endpoint and as
internal function, it can't return (status, value). Instead it returns
only valid instance info, and failures are denoted by exceptions; and...

2fa74ef4 06/15/2009 08:08 pm Iustin Pop

Convert all_instances_info rpc to new result style

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

7ad1af4a 06/15/2009 08:08 pm Iustin Pop

Convert instance_info rpc to new style result

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

944bf548 06/15/2009 08:08 pm Iustin Pop

Convert instance_os_import rpc to new style result

This changes from a list of booleans to «status, error messages». This
means that instead knowing which disk has failed (position based), we
get a list of all failures (with details how they failed).

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

35c0c8da 06/15/2009 08:08 pm Iustin Pop

Convert bridges_exist to new style result

This was a very simple (boolean) RPC, so converting it to actually have
more value with the new style results was more difficult.

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

e480923b 06/15/2009 07:37 pm Iustin Pop

Convert vg_list rpc to new style result

This doesn't have known failure modes but converting will help later.

We also now call directly utils.ListVolumeGroups() instead of the
backend.ListVolumeGroups() so that we don't have to undo the (status,
value) result type....

29d376ec 06/15/2009 07:37 pm Iustin Pop

Convert volume_list rpc to new style result

This is a big change, because we need to cleanup its users too.

The call and thus LUVerifyDisks LU used to differentiate between failure
at node level and failure at LV level, by returning different types in
the RPC result. This is way too complicated for our needs....

35fbcd11 06/15/2009 07:37 pm Iustin Pop

Convert export_remove rpc to new style

This converts the export_remove rpc to new style result and also fixes
and old TODO by adding exception handling (and conversion to failure).

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

1b7bfbb7 06/15/2009 07:37 pm Iustin Pop

Convert export_list rpc to new style result

This is used in multiple places, so it has a little more changes than
the previous ones.

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

3eccac06 06/15/2009 07:37 pm Iustin Pop

Convert export_info rpc to new style result

This also removes some code from ganeti-noded and rpc.py, which should
not do such processing of data (and be simply glue code). (Or
alternatively they could, if we had better infrastructure).

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

9b201a0d 06/15/2009 07:37 pm Iustin Pop

Convert finalize_export rpc to new style results

This rpc doesn't have explicit failure modes, but once all RPCs are
converted and we can catch and convert expceptions to failure in noded,
we will have meaningfull error messages.

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

ba55d062 06/15/2009 07:37 pm Iustin Pop

Convert snapshot_export rpc to new style

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

87812fd3 06/15/2009 07:37 pm Iustin Pop

Convert blockdev_snapshot rpc to new result style

This also slightly changes the code in cmdlib that uses it for more
clarity.

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