Statistics
| Branch: | Tag: | Revision:

root / lib / server @ b40c0e97

# Date Author Comment
b40c0e97 11/26/2013 11:14 am Helga Velroyen

Remove op queries from masterd

Masterd still had some 'if' branches for the queries that
used to be op queries, but are now luxi queries. This
patch removes them.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

a9532fb0 11/26/2013 11:13 am Helga Velroyen

masterd: implement query via luxi

The master daemon so far still did queries via the python
implementation. This patch implements that it uses the
haskell implementation and removes the node queries from
the list of OP-queriable entities.

Signed-off-by: Helga Velroyen <>...

a9f33339 11/14/2013 05:40 pm Petr Pudlak

Use custom SSH ports in node groups when working with nodes

Calling `gnt-instance console` with a custom SSH port doesn't work yet.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

d9d1e541 11/08/2013 07:00 pm Klaus Aehlig

Add Luxi Request to pick up a job in the queue

During the transition to the new daemon layout, from step 2
onwards, luxid will write to the queue but masterd will trigger
the execution. Therefore, add a new luxi request to tell masterd
to pick up a job that has already been written to the queue....

cba1fce1 11/05/2013 03:31 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Fix documentation
    Replace all constant definitions with re-exports
    Prepare constants for automatic reexport
    Hs2Py constants: 'hvsParameterTypes' and 'hvsParameters'
    Fix indentation that triggers PEP8 error...
bb133242 10/31/2013 12:46 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Remove FIXME + update man pages wrt iallocator
    Don't check for master netdev when using OVS
    Fix TypeError in backend/ConfigureOVS
    Create Open vSwitch on Master during Cluster init
    SimpleRetry on BlockDev.Remove()...
24711492 10/31/2013 11:28 am Dimitris Aragiorgis

Check if hotplug is supported in CheckPrereq

Introduce new RPC hotplug_supported that invokes the corresponding
hypervisor's method which checks if hotplug is generally
supported. Call this RPC early in CheckPrereq() and abort if
hotplug is not supported. Currently only KVM hypervisor with...

3fd85fba 10/29/2013 03:56 pm Thomas Thrainer

Remove blockdev_export RPC

This RPC call is no longer used, as for intra-cluster instance moves the
import/export daemon is used too.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

c5708931 10/24/2013 12:27 pm Dimitris Aragiorgis

Hotplug: rpc support

Introduce new RPC that eventually invoke hypervisor specific
hotplug functions. In order to be generic it has the following
arguments: device type, action, device, extra info, seq.
Device type can be NIC or DISK, action can be ADD, REMOVE,...

b9e12624 10/17/2013 11:09 am Hrvoje Ribicic

Add a console information RPC call

As the instance queries need console information, and the information
is retrieved through python classes that should not be ported yet, an
RPC call supplying the information has been added. Some tests as well.

Signed-off-by: Hrvoje Ribicic <>...

346c3037 10/04/2013 05:11 pm Klaus Aehlig

Provide means of submitting jobs to a drained queue

During an upgrade, the job queue needs to be drained in order to avoid
new jobs coming to the cluster. Nevertheless, the upgrade process
needs to carry out some maintenance, like redistributing the new...

f56ab6d1 09/27/2013 09:33 am Thomas Thrainer

Use secondary IP when moving instances

All data traffic usually goes over the secondary network, but
gnt-instance move didn't. This patch corrects this problem by using the
target nodes secondary IP as move target.

Signed-off-by: Thomas Thrainer <>...

effc1b86 09/25/2013 01:50 pm Jose A. Lopes

Move 'BuildVersion' to 'lib/utils/version.py'

Functions 'BuildVersion' and 'SplitVersion' are no longer needed by
the constants and, given that they are not constants, they should be
moved elsewhere. Since they are only used by 'cfgupgrade' and tests,
these functions are moved to 'lib/utils/version.py' and references to...

0c3d9c7c 09/24/2013 09:17 am Thomas Thrainer

Replace physical_id with dynamic_params

The disk field 'physical_id' has to be kept up to date whenever a disk
object is sent to a node via RPC. This is done with the SetDiskID method
manually, which is a source of bugs.

This patch replaces the use of 'physical_id' with a new field names...

0c5f1b13 09/12/2013 03:23 pm Thomas Thrainer

Merge branch 'stable-2.9' into master

  • stable-2.9
    Fix bridging in net-common
    Sync build_chroot with buildbot slack role
    Auto-upgrade of disks' config wrt LD-renaming
    Fix tests regarding DISK_LD_DEFAULTS
    Fixing renaming of DISK_LD_DEFAULTS
    Replace LD_* constants with DT_* constants...
90d8d4d1 08/21/2013 06:26 pm Sebastian Gebhard

Add RPC functionality for creating OpenvSwitches

This patches adds the needed RPC functions in order to create the
OpenvSwitches on the nodes.

Signed-off-by: Sebastian Gebhard <>
Signed-off-by: Klaus Aehlig <>
Reviewed-by: Klaus Aehlig <>

b01d9504 08/21/2013 04:30 pm Michele Tartara

Fix bug in NodeD and RapiD usage strings

The strings did not comply with the style guide, and were not diplayed
correctly either.

Signed-off-by: Michele Tartara <>
Reviewed-by: Klaus Aehlig <>

37f56360 08/09/2013 02:08 pm Sebastian Gebhard

Typo fix in lib/server/noded.py

Signed-off-by: Sebastian Gebhard <>
Reviewed-by: Guido Trotter <>

c832f7e9 07/16/2013 10:29 am Klaus Aehlig

Merge branch 'stable-2.8' into master

  • stable-2.8
    Change method dispatch in ClientOps to enforce luxi.REQ_ALL
    Allow modify_etc_hosts to be changed
    Add --modify-etc-hosts option for CLI tools
    Add luxiReqQueryNetworks to LuxiOp
    Log received message at debug level...
64d7e30f 07/15/2013 03:59 pm Klaus Aehlig

Change method dispatch in ClientOps to enforce luxi.REQ_ALL

ClientOps' handle_request dispatches on the luxi request received. Change
this to first verify if the request is luxi.REQ_ALL. In this way, we catch
programming errors introducing "secret" luxi requests earlier. This is relevant,...

235a6b29 07/02/2013 04:54 pm Thomas Thrainer

Check DRBD status on verify-disks

Enhance `gnt-cluster verify-disks` such that it checks the DRBD status
of all disks. If the status of at least one disk of an instance is
either StandAlone or Diskless, the instance disks are activated
automatically.

Signed-off-by: Thomas Thrainer <>...

a59c31ca 07/02/2013 12:47 pm Helga Velroyen

noded.py: remove fallback of 'node_info'

In order to change backend and frontend code of the RPC
call 'node_info' in separate patches, we included a
fallback to the old implementation. Since all RPC callers
are adjusted, this can be removed now.

Signed-off-by: Helga Velroyen <>...

152759e4 07/02/2013 12:47 pm Helga Velroyen

Add general storage parameters to node info call

As described in the design doc about storage types,
we plan to generalize the RPC call "node info" wrt to
storage types. This patch extends the call by accepting
a list of storage units, that is not only identified...

be9150ea 06/28/2013 03:38 pm Bernardo Dal Seno

Limit the PVs used for disk growth with exclusive storage

The exclusive storage flag is passed along in the backend functions for
disk growth. LVM volumes handles the flag by reusing the same PVs, as disks
are constrained by the number of their spindles....

e43a624e 06/28/2013 03:37 pm Bernardo Dal Seno

Add exclusive_storage to blockdev_grow RPC

The flag is passed to the RPC, but it's still ignored by noded.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

da4a52a3 06/20/2013 05:04 pm Thomas Thrainer

Index instances by their UUID

No longer index instances by their name but by their UUID in the cluster
config. This change changes large parts of the code, as the following
adjustments were necessary: * Change the index key to UUID in the configuration and the...

1c3231aa 06/13/2013 12:32 pm Thomas Thrainer

Index nodes by their UUID

No longer index nodes by their name but by their UUID in the cluster
config. This change changes large parts of the code, as the following
adjustments were necessary: * Change the index key to UUID in the configuration and the
ConfigWriter, including all methods....

bc0a2284 06/13/2013 10:32 am Helga Velroyen

Add cluster name to instance migration RPC

This fixes a 'FIXME' in the xen hypervisor. The instance
migration requires the cluster's name. This should come
from the RPC call, but so far was hackishly taken from
ssconf. Ssconf is intended to be used by scripts only and...

8ef418bb 06/12/2013 10:18 am Helga Velroyen

Remove XEN_CMD from constants, adjust to PowercycleNode

This patch extend the RPC to powercycle a node by a
hvparams parameter. This parameter is used by the
xen hypervisor to determine which xen command to use.
The respective LU is adjusted as well.

Since this was the last operation depending on the...

0200a1af 06/12/2013 10:18 am Helga Velroyen

Use hvparams in GetAllInstancesInfo

This patch extends the GetAllInstancesInfo method of the
hypervisors by a hvparams parameter. This change propagates
up to the RPC call all_instances_info, which also needed
to be extended. All callers of this call were adjusted...

0bbec3af 06/12/2013 10:18 am Helga Velroyen

Use hvparams in GetInstanceInfo

This patch extends the GetInstanceInfo function of the
hypervisors by an hvparams parameters. This leads to
an extension of the instance_info RPC call and the
adjustmend of all classes using this call.

Signed-off-by: Helga Velroyen <>...

030ab01a 06/12/2013 10:18 am Helga Velroyen

Add hvparams to RPC call 'node_info'

This patch adds the hvparams parameter to the RPC call
'node_info'. It also adjusts the related code in noded.py
and Query/Node.hs

Signed-off-by: Helga Velroyen <>
Reviewed-by: Thomas Thrainer <>

5b0dfcef 06/12/2013 10:17 am Helga Velroyen

Verify: node info and instance list

This patch enhances node verification by:
- Factoring out the verification of the node info
and the instance list to increase testability.
- Make both of them use the hvparams parameter.

Signed-off-by: Helga Velroyen <>...

75bf3149 06/12/2013 10:17 am Helga Velroyen

Verify: xen toolstack, hypervisor and hvparams

This patch extends the node verification by:
- Adding a check for the xen toolstack when the hypervisor
is verified.
- Factoring out the hypervisor verification in a
subfunction to increase testability.
- Factoring out the hvparams verification in a...

8ac806e6 06/12/2013 10:17 am Helga Velroyen

rpc / noded: add hvparams to instance_list call

The 'instance_list' call needs to be extended to accept
hvparams. This is one of the few RPCs where it is
necessary, because there is no instance given whose
hvparams could be reused.

Signed-off-by: Helga Velroyen <>...

802ed2aa 05/28/2013 06:05 pm Klaus Aehlig

Add generic daemon options support binding to interfaces

In some situations, it is desirable to bind one of our servers only to
a particular interface, like eth0, instead of an IP address. Therefore,
add an option -i to specify an interface; its address will then be bound...

6ef8077e 05/28/2013 12:45 pm Bernardo Dal Seno

New RPC to get size and spindles of disks

This RPC replaces the existing one that only returned disk size.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Helga Velroyen <>

4b92e992 05/21/2013 03:13 pm Helga Velroyen

RPC 'node_info': <storage_type,key> instead of vg_names

This replaces the field 'vg_names' in the RPC call of 'node info' by
'storage_units'. A storage unit is a tuple <storage_type,key>
and a generalization of a vg_name. The list of vg names is replaced by...

8f096849 05/14/2013 04:46 pm Helga Velroyen

Move 'container.py' to storage directory

Moving 'container.py' to the storage directory.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Thomas Thrainer <>

c23bb217 05/14/2013 04:45 pm Helga Velroyen

Rename storage.py to container.py

Renaming 'storage.py' to 'container.py'. It will be moved into the new
'storage' directory, which will come in later patches to avoid clashes of
notation.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Thomas Thrainer <>

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

8e00f36a 04/22/2013 02:13 pm Michele Tartara

Add function for extending the reason trail

Noded functions will have to extend the reason trail specifying what
operation is being executed.

This commit adds a function for doing that (will be used by future commits).

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

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

a82d9394 02/25/2013 02:52 pm Michael Hanselmann

Fix style violations in commit 4a90bd4, small changes

- Commit 4a90bd4 contained a rather large number of style violations:
- Indentation/sequence formatting
- Wrapping of long lines
- Docstrings whose first line was wrapped
- A stray backslash in a docstring...

27a8a190 02/22/2013 12:51 pm Michael Hanselmann

RAPI: Add flag to require authentication

Most RAPI resources do not require authentication for the “GET” method.
In some setups it can be desirable to always require authentication.
This patch adds a command line parameter to always require it.

Some unrelated minor typos in the “ganeti-rapi” man page are also fixed....

5224c9bf 02/19/2013 04:29 pm Michael Hanselmann

Helper to retrieve access permissions for RAPI resource

Merge similar code into a helper function.

Signed-off-by: Michael Hanselmann <>
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...

14fe92c7 01/16/2013 07:09 pm Bernardo Dal Seno

New RPC call for node verify in dns-only RPC client

This will be used in node-add.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

b954f097 12/22/2012 11:47 am Constantinos Venetsanopoulos

Add the gnt-storage client

Add a new client called 'gnt-storage'.
The client interacts with the ExtStorage interface, similarly to
the way gnt-os interacts with the OS interface.

For now, only two commands are supported: 'info' and 'diagnose'.

'diagnose' calculates the node status of each provider on each node,...

1a3c5d4e 12/21/2012 06:45 pm Bernardo Dal Seno

Add exclusive_storage parameter to node_info RPC

The flag is passed to the low-level functions that need it, but it's not
yet used. Also, RPCs get just a default value for now.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Iustin Pop <>

ee1478e5 12/21/2012 01:40 pm Bernardo Dal Seno

Add exclusive_storage parameter to blockdev_create RPC

The flag is passed to the low-level functions that need it, but it's not
yet used.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Iustin Pop <>

ec5af888 12/13/2012 01:29 pm Michael Hanselmann

Read watcher pause using RPC, not directly

The master daemon should not directly read files written by the node
daemon. This patch adds a new RPC to read the watcher pause file and
changes the master code to use it.

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

7c4bd156 12/13/2012 01:29 pm Michael Hanselmann

Set watcher pause on all nodes

Instead of just setting the watcher pause file, which isn't replicated,
RPC is used to set it on all nodes (where possible). This means that
after an outage of the master node and a following master-failover, the
watcher will still be paused....

99e222b1 12/13/2012 01:29 pm Michael Hanselmann

Add RPC for setting watcher pause

The watcher pause file should be set/unset on all nodes at once, not
only the master node. For that a new RPC is needed.

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

be6c403e 12/11/2012 03:37 pm Michael Hanselmann

Replicate queue drain flag across all master candidates

Until now, the flag was unset on a master failover unless the
“$localstatedir/lib/ganeti/queue/drain” file existed.

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

78fcfd43 12/10/2012 04:47 pm Michael Hanselmann

masterd: Remove duplicate code

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

42bd26e8 11/21/2012 03:43 pm Michael Hanselmann

backend: Rename RunRemoteCommand to RunRestrictedCmd

As per Iustin Pop's suggestion in <> on
<>.

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

306bed0e 11/20/2012 07:50 pm Apollon Oikonomopoulos

Implement LUNetworkQuery

Summarily list all existing networks
Supply detailed info for every existing network
- List used/free IPs
- List instances with NICs assigned to the corresponding network
- List NIC index and IP for the above instances

Implement complementary config methods for retrieving networks....

6c0a75db 11/20/2012 07:50 pm Dimitris Aragiorgis

Basic IP pool management logic

Implement LUs for corresponding opcodes: * LUNetworkAdd:
- Check for IP validity
- Reserves all necessary IPs
- Create new Network config object * LUNetworkRemove:
- Checks if connected to any nodegroup
- Remove a Network config object...

db2203e0 11/19/2012 03:12 pm Michael Hanselmann

Add RPC for restricted commands

Expose the functionality to run restricted commands remotely via RPC.

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

f63ffb37 11/13/2012 09:28 pm Michael Hanselmann

Expose changing job priority via LUXI

A new LUXI request is added, in both Python and Haskell.

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

8e09e801 11/01/2012 07:44 pm Michael Hanselmann

Merge branch 'devel-2.6'

  • devel-2.6:
    Fix typo in gnt-instance man page
    jqueue: Return jobs to queue when shutting down
    gnt-debug delay: Add "--submit" option
    Make hostname checks uniform between instance rename and add
    Improve logging of new job submissions...
4c91d2ad 11/01/2012 03:00 pm Iustin Pop

Improve logging of new job submissions

This addresses issue 290: when receiving new jobs, logging is
incomplete, and we don't have the job ID and/or summaries
logged. Only later, when the job is queried for or being processed, we
know more.

This is not good when troubleshooting, so let's improve the initial...

48e175a2 10/19/2012 05:55 pm Iustin Pop

Update blockdev's "info" at instance rename

Currently, we set "info" metadata on block devices at device creation
time, but we never update it, leading to stale data in case of
instance renames. This would not be a big problem in case of regular
renames (assuming this is a rare operation), but importing instances...

a7862455 10/17/2012 02:56 pm Iustin Pop

Remove support for PUT in noded

This takes care of a FIXME; 2.6 already uses the new method, so we're
good during upgrades.

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

ee501db1 10/04/2012 04:38 am Michael Hanselmann

Move a function from backend to ssconf

The “WriteSsconfFiles” function is used to write ssconf files. By moving
it we can avoid importing backend into bootstrap. The latter is imported
by CLI programs and backend doesn't have much to do with them.

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

b0dcdc10 10/02/2012 08:44 pm Iustin Pop

Remove the python confd server side code

In 2.7 we will only support the Haskell version, if enabled.

Since the original hconfd enabling was a bit hack-ish (copying over
the actual installed ganeti-confd, Python version), the Makefile.am
changes are a bit more involved than just the removal of the Python...

a5ce2ea2 09/18/2012 06:09 pm Michael Hanselmann

Migrate lib/server/*.py from constants to pathutils

File system paths moved from constants to pathutils.

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

5ae4945a 08/23/2012 02:41 pm Iustin Pop

Bump pep8 version to 1.2

Debian Wheezy will ship with this version, and it has many improved checks compared to 0.6, so let's:

- bump version in the docs
- silence some new checks that are wrong due to our indent=2 instead of 4
- fix lots of errors in the code where the indentation was wrong by 1...

2cfbc784 08/02/2012 03:46 pm Iustin Pop

Fix uses of OpPrereqError without code info

A while back, we did cleanup the code and ensured (manually) that use
of OpPrereqError includes an errors.ECODE_* field as second
argument. Since we cannot automate the check for this, it turns out
that more and more such usage has crept over the years, including in...

7803e37c 07/19/2012 03:51 pm Iustin Pop

Merge branch 'stable-2.6'

  • stable-2.6: (21 commits)
    Release Ganeti 2.6.0 rc4
    Prepare NEWS for Ganeti 2.6.0rc4
    Add some rudimentary node group ipolicy checks
    Fix setting ipolicy on node groups
    Fix --no-headers for the new list-drbd command
    Add a simple QA test for gnt-node list-drbd...
1b5b1c49 07/18/2012 02:42 pm René Nussbaumer

Another small consistency fix with if branches

While looking at the testability of this piece of code, I found another
consistency problem. We have two if branches instead of one, with
elif's.

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

734a2a7c 07/18/2012 02:01 pm René Nussbaumer

Fix inconsistency in the LUXI protocol w.r.t. args

This inconsistency was found during rebalancing. Hbal failed because,
Ganeti couldn't load the opcode. After digging through the cause, an
inconsistency with the "args" field in the LUXI protocol was triggered...

cad0723b 07/05/2012 03:20 pm Iustin Pop

Fix DRBD resize code

There are two bugs in the current resize code, affecting mostly DRBD.

First, due to bugs in old DRBD versions (pre 8.0.14), the code currently
calls `drbdsetup resize' on both the primary or secondary. However,
this is actually wrong per current DRBD (from drbdsetup(8)):...

83c046a2 05/08/2012 01:37 pm Iustin Pop

Correct capitalisation of two Luxi calls

Two Luxi calls have inconsistent an name/value mapping (in the Python
code):

- REQ_AUTOARCHIVE_JOBS versus AutoArchiveJobs (versus AutoarchiveJobs)
- REQ_QUEUE_SET_DRAIN_FLAG versus SetDrainFlag (no Queue)

While these are only a consistency issue, let's fix them so that the...

352e1a26 04/26/2012 10:33 pm Michael Hanselmann

errors: Add exception for RAPI testing utilities

This exception is raised to abort before actually sending a LUXI call
(there is no LUXI server involved in the test). The testing utilities
catch the exception to report a success (i.e. the code didn't throw...

abe318b3 04/26/2012 09:11 pm Michael Hanselmann

server.rapi: Factorize RAPI user loading

By moving the code loading RAPI users from a file into a standalone
function it becomes easier to use the RAPI request handler in
tests.

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

da04c447 04/26/2012 09:11 pm Michael Hanselmann

RemoteApiHandler: Add support for mocked LUXI client

This will be used for providing a type-checking RAPI client for tests.

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

dc4bdf73 04/20/2012 07:11 pm Michael Hanselmann

Stop acquiring BGL for LUXI queries

Short description: This fixes an issue whereby masterd would become
unresponsive on the LUXI socket, leading to client timeouts. While made
worse in 2.5, the underlying issue was already present in 2.4.

Longer description: Until now all LUXI queries would acquire the BGL...

cfdf561d 04/20/2012 07:11 pm Michael Hanselmann

Stop using locks in LUXI "QueryTags"

Also mark it as deprecated in NEWS as normal queries can be used
instead.

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

b4b3266b 04/18/2012 07:13 pm Michael Hanselmann

Drop objects.QueryRequest

It was only used in one place and wasn't really necessary.

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

5ad68a23 04/13/2012 04:19 pm Michael Hanselmann

Merge branch 'devel-2.5'

  • devel-2.5: (29 commits)
    gnt-* {add,list,remove}-tags: Unify options
    Bump version for 2.5.0 final release
    configure.ac: Fix “too many arguments” error
    Fix extra whitespace
    Further fixes concerning drbd port release
    Fix a bug concerning TCP port release...
e07f7f7a 03/30/2012 03:03 pm Michael Hanselmann

Add job support to query2 via LUXI

This enables the use of filters through query2 when listing jobs.

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

a20e4768 03/22/2012 04:29 pm Michael Hanselmann

cmdlib: Stop forking in LUClusterQuery

While debugging another issue we realized that LUClusterQuery forks.
This turned out to be the “platform.architecture” function from the
Python library. It uses the “file” command to determine the architecture
of the Python binary....

377ae13e 02/22/2012 03:12 pm Michael Hanselmann

http.server: Move error message formatting to handler class

Like before this patch moves more functionality from the actual server
class into a separate handler class. At the same time the function is
changed to return both content-type and body instead of relying on a...

cca5b3fc 02/22/2012 03:12 pm Michael Hanselmann

noded: Shorter docstring for mlockall(2) executor

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

e0003509 02/22/2012 03:12 pm Michael Hanselmann

Split handling HTTP requests into separate class

Until now HTTP requests were handled in the same class as incoming
connections (http.server.HttpServer). With this change the request
handling is delegated to a separate class which can be re-used in tests...

09037780 02/22/2012 02:03 pm Michael Hanselmann

Remove deprecated “QueryLocks” LUXI request

This has been deprecated since Ganeti 2.4 and hasn't been used by
Ganeti's code since. I'm not aware of any external users.

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

5d0566de 02/07/2012 01:52 pm Iustin Pop

Accept both PUT and POST in noded

This is a partial cherry-pick from
7530364ddbe949bc34fc26f25ba3f5d921beb021 on master:

Currently, noded requires PUT, even though the semantics of the RPC
calls do not match a PUT. We change the code accept both PUT and POST,...

ebe466d8 01/17/2012 03:01 pm Guido Trotter

Add instance_balloon_memory rpc

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

7530364d 01/17/2012 12:08 pm Iustin Pop

Accept both PUT and POST in noded

Currently, noded requires PUT, even though the semantics of the RPC
calls do not match a PUT. We change the code accept both PUT and POST,
with the intention to remove the PUT support in a later version.

On the client side, the RPC code is changed to send POST requests....

d5ea30e8 01/06/2012 01:34 pm Michael Hanselmann

rpc: Change signature of RpcRunner

Instead of receiving the whole masterd context, it only gets the
configuration and the lock monitor callback. This simplifies
unittesting.

Additionaly, two new arguments for testing are added.

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

5449685e 12/21/2011 06:02 pm Iustin Pop

Switch blockdev_getmirrorstatus_multi to per-node bodies

Even for a small 4-node node-group, this reduces the payload of this
RPC call by half for each node; for a big node group, previous testing
(using a different patch) showed a general reduction in traffic over...

a182a3ed 12/21/2011 04:55 pm Michael Hanselmann

serializer: Remove JSON indentation and dict key sorting

Serializing to JSON using “simplejson” is significantly slower when
indentation and/or sorting of dictionary keys is used. In simplejson 1.x
the difference isn't that big, but with simplejson 2.x the difference...

78519c10 11/30/2011 12:26 pm Michael Hanselmann

Change “node_info” RPC to accept multiple VGs/hypervisors

Keeping the node state up to date will require information from multiple
VGs and hypervisors. Instead of requiring multiple calls this change
allows a single call to return all needed information. Existing users...

cb4d3314 11/21/2011 09:36 am Michael Hanselmann

masterd: Initialize job queue only after RPC client

Otherwise jobs started after an unclean master shutdown will fail as
they depend on the RPC client.

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

5483fd73 11/21/2011 09:36 am Michael Hanselmann

masterd: Shutdown only once running jobs have been processed

Until now, if masterd received a fatal signal, it would start shutting
down immediately. In the meantime it would hang while jobs are still
processed. Clients couldn't connect anymore to retrieve a jobs' status....

e8a701f6 11/17/2011 03:39 pm Michael Hanselmann

masterd: Don't pass mainloop to server class

It is not used.

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