Statistics
| Branch: | Tag: | Revision:

root / lib / rapi / client.py @ 9b5a7ce9

History | View | Annotate | Download (63.6 kB)

# Date Author Comment
3312709d 07/10/2013 05:21 pm Leon Handreke

Expose bulk parameter for GetJobs in RAPI client

This patch exposes the bulk argument of the jobs resource on
the RAPI python wrapper, making it possible to retrieve status
information about all jobs with a single call.

Signed-off-by: Leon Handreke <>...

1fa6fcba 04/24/2013 02:44 pm Michele Tartara

Reason trail implementation for "start"

Opcode-specific implementation of the reason trail for the instance
startup operation.

Signed-off-by: Michele Tartara <>
Reviewed-by: Guido Trotter <>

1f350e0f 04/24/2013 02:44 pm Michele Tartara

Reason trail implementation for "shutdown"

Opcode-specific implementation of the reason trail for the instance shutdown
operation.

Signed-off-by: Michele Tartara <>
Reviewed-by: Guido Trotter <>

55cec070 04/22/2013 02:19 pm Michele Tartara

Reason trail implementation for instance reboot

This commits allows ganeti to correctly forward the reason trail information
regarding instance reboot.

Signed-off-by: Michele Tartara <>
Reviewed-by: Helga Velroyen <>

aa922d64 04/22/2013 02:10 pm Michele Tartara

Remove old "reason" implementation

Remove the useless parts of the old, partial, implementation of the support for
tracking the reason of instances state change, before implementing the new
reason trail support, as per the design document.

Signed-off-by: Michele Tartara <>...

05b6f4d8 03/21/2013 12:13 pm Bernardo Dal Seno

Merge branch 'devel-2.7'

  • devel-2.7
    cfgupgrade: Fix error messages
    Update "FIXME" string in RAPI
    rapi client: add target_node to migrate instance
    Make diskless instances externally mirrored
    Fix migrate/failover -n for ext mirror storage

Trivial merge: no conflicts...

dc700f75 03/12/2013 07:19 pm Daniel Krambrock

rapi client: add target_node to migrate instance

This allows migrating to any node, as it is already possible for
failover, when instances are externally mirrored.

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

46d21495 03/12/2013 01:32 pm Bernardo Dal Seno

Merge branch 'devel-2.7'

  • devel-2.7
    Add QA for instance creation with policy violation
    Add QA for policy-instance interactions
    Add QA for cluster policies
    Unit tests for objects.InstancePolicy + a fix
    Unit tests for objects.FillIPolicy() + small fix...
7db266bb 03/11/2013 03:06 pm Daniel Krambrock

GanetiRapiClient: fix the no_remember option

There was a typo which prevented the correct option from being passed to
RAPI

Signed-off-by: Daniel Krambrock <>
Signed-off-by: Guido Trotter <>
Reviewed-by: Guido Trotter <>

4a90bd4f 02/19/2013 04:27 pm Michele Tartara

Status change reason support for Reboot

Add support to the Reboot command for specifying the reason for the last
status change.

Some features are implemented as functions, even if used only once, because
they will be used by the future patches introducing reason support for all...

5cfa6c37 02/11/2013 05:31 pm Dimitris Aragiorgis

Remove network_type slot (Issue 363)

This slot was not used by Ganeti so the same info can be
provided via tags. In order not to break configuration data
we add a FromDict() method in Network config object that
removes the deprecated network_type (if found) and then invoke...

e2dd6ece 12/10/2012 06:03 pm Michael Hanselmann

Change value for ECODE_TEMP_NORES

Unfortunately there was a bug in commit 518a45e whereby ECODE_TEMP_NORES
had the same value as ECODE_NORES, leading to failures in a Haskell
test. Of course this would also have affected other users of the constant.

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

bc826292 12/07/2012 02:47 pm Michael Hanselmann

Export error codes from RAPI client module

Until now the error codes were not available from the RAPI client
module. A newly added unit test ensures all error codes are contained in
“ECODE_ALL”, as well as ensuring consistency between the RAPI client and...

2556424d 11/21/2012 05:54 pm Iustin Pop

Small style fixes (' vs ") in network code

This is just trivial fixes; I think I caught all of them.

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

1fa2c40b 11/20/2012 07:51 pm Dimitris Aragiorgis

Fixes to pass py-apidoc (make commit-check)

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Iustin Pop <>

3c286190 11/20/2012 07:51 pm Dimitris Aragiorgis

Fixes to pass pep8 (make lint)

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Iustin Pop <>

6e8091f9 11/20/2012 07:51 pm Dimitris Aragiorgis

Fixes to pass unittests (make check)

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Iustin Pop <>

8140e24f 11/20/2012 07:51 pm Dimitris Aragiorgis

Add tags in network objects

Support:
- gnt-network add --tags.
- gnt-network list-tags/add-tags/remove-tags/.
- gnt-network list -o +tags

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Iustin Pop <>

4588b4bd 11/20/2012 07:51 pm Dimitris Aragiorgis

Rapi support for networks

Support:
- GetNetwork(s)
- CreateNetwork
- ConnectNetwork
- DisconnectNetwork
- RemoveNetwork

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Iustin Pop <>

1eaddbc6 10/16/2012 06:05 pm Michael Hanselmann

Add new constant for pending job status

This constant contains the job status' “queued”, “waiting” and
“cancelled”.

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

915faf72 09/27/2012 02:42 pm René Nussbaumer

Adding RAPI client for instance multi allocation

It was very easy to refactor CreateInstance to repurpose some part of it
for the instance multi allocation request. So we do this.

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

6ce90543 09/12/2012 01:47 pm Michael Hanselmann

RAPI client: Fix typo in docstring

Also update the copyright header.

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

b8481ebf 08/08/2012 12:57 pm Guido Trotter

rapi client: accept arbitrary shutdown arguments

The "ignore_offline_nodes" parameter is unsupported. Rather than
explicitely adding it, just pass all keyword arguments in the body of
the query, and rapi on the other side will do the right thing.

Supports for old arguments that were passed via the query is unchanged....

592eb0df 05/30/2012 02:08 pm René Nussbaumer

Fix GenericCurlConfig when pycurl is linked against nss

Redhat links its pycurl against NSS/ so this check fails and therefore
makes ganeti-watcher unusable.

Even though this seems to fix the problem and works, further testing on
this might be needed.

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

4b129313 04/20/2012 09:01 pm Chris Schrier

Change CertificateError to subclass GanetiApiError

Signed-off-by: Chris Schrier <>
Reviewed-by: Michael Hanselmann <>

b5800ee9 04/19/2012 11:44 am Chris Schrier

Include PycURL error code in GanetiApiError.

Signed-off-by: Chris Schrier <>
Reviewed-by: Iustin Pop <>

f0fd35b1 02/01/2012 10:11 am René Nussbaumer

rapi.client: Removing constants not needed anymore

They were not referenced through the whole code and were marked internal
only.

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

57d8e228 12/13/2011 02:00 pm Michael Hanselmann

RAPI client: Replace body value assignments with helper

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

6396dc04 12/13/2011 02:00 pm Michael Hanselmann

RAPI client: Export feature constants

Users of the RAPI client may want to use feature strings too, therefore
they should be explicitely public.

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

4c864b55 12/13/2011 02:00 pm Michael Hanselmann

RAPI client: Use utilities for building query parameters

Instead of repeating a “if cond: query.append(…)” pattern, utility
functions are added and used.

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

7dcf333d 10/31/2011 05:54 pm Michael Hanselmann

Merge branch 'devel-2.5'

  • devel-2.5:
    Fix wrong headers and licences
    Update NEWS and increase to 2.4.5
    Fix parameters of RpcResult in hooks unit tests
    Fix a too long line.
    Move RenameFile to the new functions
    ensure_dirs: Move some useful functions into utils....
97298dc9 10/21/2011 04:16 pm René Nussbaumer

Merge branch 'stable-2.5' into devel-2.5

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

0b58db81 10/18/2011 06:29 pm Michael Hanselmann

RAPI: Make node evacuation actually work

Commit e1f23243 changed te LU and opcode for node evacuation to receive
a “mode” parameter (among other things). Commit de40437a changed the
RAPI code accordingly, but did so for an earlier version of the first
patch. Obviously this couldn't work, so here's the fix....

8b8f54dd 10/18/2011 06:10 pm Guido Trotter

Merge branch 'devel-2.5'

  • devel-2.5:
    Revert "rapi.client.ModifyNode should PUT rather than POST"
    - also fix the actual call, which was merged as PUT in master by
    mistake.

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

e366273a 10/18/2011 06:05 pm Guido Trotter

Revert "rapi.client.ModifyNode should PUT rather than POST"

This was a mistake on my side because ModifyGroup and ModifyInstance
were PUT, and I was not aware of the discussion and the rationale why
this one had to be POST.

This reverts commit 55ef0cf6497c570aaab9413851435a7ee744222e....

682878d9 10/18/2011 04:00 pm Guido Trotter

Merge branch 'devel-2.5'

  • devel-2.5:
    rapi.client.ModifyNode should PUT rather than POST
    Fix RAPI node modify client and server calls
    xen: changes to facilitate "xl" support (xen 4.1)
    xen: abstract instance config file naming
    Abstract xen's 'xm' command as a constant...
55ef0cf6 10/18/2011 03:56 pm Guido Trotter

rapi.client.ModifyNode should PUT rather than POST

This was caught (albeit in a sibylline manner) by unittests on master
which are not present in 2.5.

Signed-off-by: Guido Trotter <>
Reviewed-by: René Nussbaumer <>

370f2042 10/18/2011 01:45 pm Guido Trotter

Fix RAPI node modify client and server calls

rapi.client.ModifyNode accepts a "group" and not a "node" param.
(this bug is invisible but still not nice)

rlib2.R_2_nodes_name_modify submits the opcode with instance_name rather
than node_name as a param. This would break the call....

539d65ba 10/17/2011 04:58 pm Michael Hanselmann

RAPI: Fix resource for replacing disks

Commit d1c172deb4f inadvertently changes the
“/2/instances/[instance_name]/replace-disks” resource to use body
parameters. There were no QA tests and the issue wasn't noticed.

This patch re-introduces support for query parameters and adds a QA...

8de8e68d 10/13/2011 05:40 pm Michael Hanselmann

rapi: Allow auto-promotion on node role change

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

94497dd1 10/13/2011 05:40 pm Michael Hanselmann

rapi: Add resource for modifying node

A separate patch will add “auto-promote” through
“/2/nodes/[node_name]/role”.

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

2e5c33db 10/12/2011 02:01 pm Iustin Pop

Rename filter and filter_ to qfilter

We currently use 'filter' as the OpCode, QueryRequest and RAPI field
name for representing a query filter. However, since 'filter' is a
built-in function, we actually have to use filter_ throughout the code
in order to not override the built-in function....

42d4d8b9 09/20/2011 06:17 pm Michael Hanselmann

RAPI: Add resource to powercycle node

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

a52978c7 09/16/2011 10:44 am Michael Hanselmann

RAPI: Add resource to recreate instance's disks

This was still missing from RAPI.

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

b459a848 08/30/2011 11:24 am Andrea Spadaccini

DeprecationWarning fixes for pylint

In version 0.21, pylint unified all the disable-* (and enable-*)
directives to disable (resp. enable). This leads to a lot of
DeprecationWarning being emitted even if one uses the recommended
version of pylint (0.21.1, as stated in devnotes.rst)....

c0a146a1 07/21/2011 04:25 pm Michael Hanselmann

Implement instance failover via RAPI

No idea why this was missed before.

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

47099cd1 07/21/2011 02:20 pm Michael Hanselmann

Rename *_STATUS_WAITLOCK to …_WAITING

This patch renames the {JOB,OP}_STATUS_WAITLOCK constants to {JOB,OP}_STATUS_WAITING, as per design document for chained jobs.

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

de40437a 07/06/2011 12:31 am Michael Hanselmann

Change RAPI for new node evacuation opcode

The change is not backwards compatible, see the updated NEWS file.

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

b7a1c816 05/30/2011 06:07 pm Michael Hanselmann

gnt-node migrate: Use LU-generated jobs

Until now LUNodeMigrate used multiple tasklets to evacuate all primary
instances on a node. In some cases it would acquire all node locks,
which isn't good on big clusters. With upcoming improvements to the LUs
for instance failover and migration, switching to separate jobs looks...

6aac5aef 05/20/2011 11:11 am Iustin Pop

Merge remote branch 'origin/devel-2.4'

  • origin/devel-2.4:
    Fix errors in hooks documentation
    Clarify a bit the noded man page
    Note --no-remember in NEWS
    Switch QA over to using instance stop --no-remember
    Implement no_remember at RAPI level
    Implement no_remember at CLI level...
2ba39b8f 05/16/2011 04:24 pm Iustin Pop

Implement no_remember at RAPI level

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

414ebaf1 04/21/2011 04:08 pm Michael Hanselmann

RAPI: Add support for tagging node groups

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

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

RAPI client: Remove support for version 0 instance creation requests

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

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

Improved GanetiRapiClient docstrings

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

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

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

RAPI client: Tidy and test WaitForJobCompletion

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

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

RAPI client: Add job status constants

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

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

RAPI client: Job IDs are strings

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

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

RAPI client: fix epydoc formatting

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

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

Add a helper function to the RAPI client

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

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

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

RAPI: Add support for querying resources

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

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

c97fcab8 03/02/2011 10:11 pm Guido Trotter

Remove bridge field from rapi client

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

b82d4c5e 01/28/2011 04:31 pm Michael Hanselmann

Add RAPI resource for instance console

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

54d4c13b 01/27/2011 01:04 pm Michael Hanselmann

RAPI client: Wrap /2/redistribute-config resource

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

b680c8be 01/27/2011 01:04 pm Michael Hanselmann

RAPI client: De-/activating instance disks

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

4245446f 01/10/2011 06:32 pm Adeodato Simo

Expose OpAssignGroupNodes over RAPI and RAPI client

Signed-off-by: Adeodato Simo <>
Reviewed-by: Michael Hanselmann <>

e23881ed 01/05/2011 06:14 pm Michael Hanselmann

RAPI: Add resource to grow instance disk

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

62e999a5 01/05/2011 01:27 pm Michael Hanselmann

RAPI: Add resource to modify cluster

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

f18fab7d 12/13/2010 06:33 pm Adeodato Simo

Expose OpSetGroupParams in RAPI and RAPI client

This creates the /2/groups/<name>/modify resource; at the moment, only the
"alloc_policy" attribute can be modified.

Signed-off-by: Adeodato Simo <>
Reviewed-by: Michael Hanselmann <>

90e99856 12/13/2010 06:33 pm Adeodato Simo

Add the "alloc_policy" attribute to node groups

This can be set at group creation time and via OpSetGroupParams. The default
is "preferred", and existing node groups from previous Ganeti version will
get the attribute set to this value.

Signed-off-by: Adeodato Simo <>...

a268af8d 12/08/2010 02:27 pm Adeodato Simo

Group operations: update ganeti.rapi.client with all node group operations

Signed-off-by: Adeodato Simo <>
Reviewed-by: Michael Hanselmann <>

c744425f 11/29/2010 07:52 pm Michael Hanselmann

RAPI: Implement OS parameters for instance reinstallation

Dictionaries are hard to encode into query strings, therefore the
“/2/instances/[instance_name]/reinstall” resource is changed to accept
its parameters via the request body. The old query string parameters are...

0f979a34 08/18/2010 07:59 pm Guido Trotter

Merge branch 'devel-2.2'

  • devel-2.2:
    RAPI client: Support modifying instances
    RAPI: Allow modifying instance
    Small fixes for instance creation via RAPI documentation
    gnt-debug: Extend job queue tests
    jqueue: Mark opcodes following failed ones as failed, too...
3b7158ef 08/18/2010 02:21 pm Michael Hanselmann

RAPI client: Support modifying instances

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

1a8337f2 08/18/2010 11:28 am Manuel Franceschini

rapi.client, http.client: Format url correctly when using IPv6

This patch moves the FormatAddress helper function from daemon.py to
netutils.py. This enables its use in http.client as well as in
rapi.client. Furthermore this adds functionality to format IPv6...

c63eb9c0 08/10/2010 06:56 pm Michael Hanselmann

RAPI client: Fix docstring for migrating instance

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

d654aae1 08/10/2010 06:56 pm Michael Hanselmann

RAPI client: Support renaming instances

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

a5eba783 08/10/2010 06:55 pm Michael Hanselmann

RAPI client: Don't re-use PycURL object

With this patch, a new PycURL object will be created for each request.
This should make the RAPI client safe for simultaneous calls from
multiple threads. Unittests are adjusted accordingly.

An unnecessary variable assignment is also removed from the unittest...

fcee9675 07/29/2010 04:05 pm David Knowles

RAPI client: The os argument for instance reinstalls is optional

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

e0ac6ce6 07/29/2010 04:05 pm Michael Hanselmann

RAPI client: Support migrating instances

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

1f334d96 07/23/2010 08:26 pm Iustin Pop

Update the RAPI client for the migration mode

See the discussion on the previous patch about this. Basically unless we
want to a add a new 'feature' marking for the live migration parameter,
there is no simple way to handle this nicely in the client.

Given that the client was/is marked as experimental, this patch simply...

8306e0e4 07/19/2010 04:49 pm Michael Hanselmann

RAPI client: Encode empty body to JSON

If the body consists of an empty dict, it should also be encoded.

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

54dc4fdb 07/13/2010 11:39 pm Michael Hanselmann

Merge remote branch 'origin/devel-2.1'

  • origin/devel-2.1:
    RAPI client: Implement old instance creation request format
    rlib2: Use constants for disk and NIC parameters

Conflicts:
test/ganeti.rapi.client_unittest.py: Trivial
test/ganeti.rapi.rlib2_unittest.py: Trivial...

48436b97 07/13/2010 09:55 pm Michael Hanselmann

RAPI client: Implement old instance creation request format

Commit 8a47b4478 implemented instance creation in the RAPI client,
but it left out support for the old instance creation request format.
This patch now implements the old format as good as possible. This...

14ff387e 07/01/2010 04:49 pm Guido Trotter

RapiClient: fix multi-authentication in Python 2.6

In Python 2.6 the urllib2.HTTPBasicAuthHandler has a "retried" count for
failed authentications. The handler fails after 5 of them. To solve this
we reset the handler's "retried" member variable to 0 after every...

2a7c3583 07/01/2010 03:13 pm Michael Hanselmann

RAPI client: Switch to pycURL

Currently the RAPI client uses the urllib2 and httplib modules from
Python's standard library. They're used with pyOpenSSL in a very fragile
way, and there are known issues when receiving large responses from a RAPI
server.
...

941b9309 06/23/2010 07:23 pm Iustin Pop

RAPI: switch evacuate node to the new model

This patch removes the last use of the old-style OpEvacuateNode. It also
fixes the dry-run mode for this RAPI resource - the dry-run parameter
was not used at all before.

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

809bc174 06/17/2010 06:07 pm Michael Hanselmann

RAPI client: Add support for Python 2.6

The httplib module used by urllib2 requires its sockets to have a
makefile() method to provide a file-like interface (or rather
file-in-Python-like) to the socket. PyOpenSSL doesn't implement
makefile() as the semantics require files to call dup(2) on the...

beba56ae 06/17/2010 05:48 pm Michael Hanselmann

RAPI client: Add support for Python 2.6

The httplib module used by urllib2 requires its sockets to have a
makefile() method to provide a file-like interface (or rather
file-in-Python-like) to the socket. PyOpenSSL doesn't implement
makefile() as the semantics require files to call dup(2) on the...

d4d1e3dd 06/01/2010 01:37 pm Guido Trotter

Merge branch 'devel-2.1'

  • devel-2.1:
    Convert gnt-instance list and info to use roman
    gnt-cluster info --roman
    FormatUidPool: provide optional roman conversion
    gnt-node: remove latinfriendlyfields
    Move roman conversion to compat
    Add a new opcode timestamp field...
2652b363 05/31/2010 08:17 pm Tom Limoncelli

RAPI client should convert urllib2.URLError to GanetiApiError

Signed-off-by: Tom Limoncelli <>
Reviewed-by: Michael Hanselmann <>

ebeb600f 05/18/2010 06:53 pm Michael Hanselmann

RAPI changes for instance moves

Two new resources are added:
- /2/instances/$name/prepare-export
- /2/instances/$name/export

The documentation for the existing resource for creating instances is updated
for remote imports. The RAPI client is extended for the new resources....

5ed59e1e 05/18/2010 01:10 pm Michael Hanselmann

RAPI client: Handle urllib2.HTTPError and raise GanetiApiError

This allows users of the RAPI client to catch GanetiApiError for all HTTP
errors.

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

591e5103 05/17/2010 01:52 pm Michael Hanselmann

RAPI client: Rename Get{Node,Instance}Info, add new GetInstanceInfo

GetInstanceInfo should return the resource /2/instances/$name/info,
but so far it returns /2/instances/$name. The same applies to
GetNodeInfo, which returns /2/nodes/$name. Both names are stripped...

f961e2ba 05/17/2010 01:52 pm Michael Hanselmann

RAPI client: Log request to be made

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

8a47b447 05/13/2010 04:58 pm Michael Hanselmann

RAPI client: Implement instance creation

Currently this only supports the new instance creation request data
format version 1, but support for the old version can be easily
implemented.

Most arguments are optional and documented in the RAPI documentation....

5ef5cfea 05/13/2010 04:58 pm Michael Hanselmann

Mention RAPI client in documentation

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

7eac4a4d 05/13/2010 04:57 pm Michael Hanselmann

Add new /2/features RAPI resource

The /2/features RAPI resource can be used to detect optional
features implemented by the RAPI server. This will be used
to recognize servers implementing a new request format for
instance creation requests.

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

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