Statistics
| Branch: | Tag: | Revision:

root @ e7d6946c

# Date Author Comment
e7d6946c 08/03/2009 12:22 pm Michael Hanselmann

Add “gnt-job watch” command

This command can be used to follow the output of a job. It's useful
together with the --submit parameter for other commands.

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

6e237482 08/03/2009 12:22 pm Michael Hanselmann

jqueue: Fix error when WaitForJobChange gets invalid ID

When JobQueue.WaitForJobChange gets an invalid or no longer existing job ID it
tries to return job_info and log_entries, both of which aren't defined yet.

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

a9e97393 08/03/2009 12:20 pm Michael Hanselmann

jqueue: Update message for cancelling running job

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

e194129a 07/24/2009 12:26 pm Stephen Shirley

lvmstrap: Change diskinfo to use GenerateTable

This way the produced table is formatted nicely.

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

e1876432 07/24/2009 11:35 am Guido Trotter

Get rid of constants.RAPI_ENABLE

This constant is unused, except in qa. Removing it since it's always True.

This patch also removes the unused qa_rapi.PrintRemoteAPIWarning
function, and removes a comment about temporary constants "until we have
cluster parameters"....

68b1fcd5 07/23/2009 12:07 pm Guido Trotter

Remove references to utils.debug

Various modules set it to True when called in debugging mode, but the
utils module supports no such global.

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

be73fc79 07/23/2009 11:39 am Guido Trotter

ganeti-rapi, replace hardcoded exit value

substitute exit(1) with exit(constants.EXIT_FAILURE).
Also fix a wrongly indented line.

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

8790ac54 07/23/2009 11:39 am Guido Trotter

Add the bind-address option to ganeti-rapi

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

46479775 07/22/2009 08:27 pm Guido Trotter

noded: Abstract hard-coded sys.exit value

On machines without the ssl file noded exists '5'.
Changing this to constants.EXIT_NOTCLUSTER.

Also utils.GetNodeDaemonPort hasn't risen errors.ConfigurationError for
a while, so removing that try/except block.
...

93db3d8f 07/22/2009 04:13 pm Guido Trotter

Add an example "ethers" hook

This hook can be used to update /etc/ethers with instance's mac
addresses. A dhcp server on the nodes can then serve to the instances
their correct address. (This has been tested with dnsmasq's dhcp
implementation)

Signed-off-by: Guido Trotter <>

c70481ab 07/21/2009 03:15 pm Iustin Pop

burnin: move batch init/commit into a decorator

Many burnin steps initialize the batch queue at the beginning and commit
it at the end of their operation. This patch moves this code to a
decorator, in order to reduce redundant code.

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

d9b7a0b4 07/21/2009 03:14 pm Iustin Pop

burnin: move instance alive checks to a decorator

Many burn steps to a manual check of instance aliveness, via duplicate
code. This patch moves this code to a decorator.

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

73ff3118 07/21/2009 03:14 pm Iustin Pop

burnin: Implement retryable operations

Some burnin steps are idempotent: e.g. reinstalling an instance (from
burning p.o.v.) can be done multiple times without any side-effects that
would affect later burnin steps. As such, failing the whole burnin
process due a reinstall failure is undesirable....

699d856f 07/20/2009 02:40 pm Michael Hanselmann

Ignore vim swap files

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

8629a543 07/20/2009 12:47 am Iustin Pop

burnin: fix removal errors hiding real errors

A long-standing bug in burnin makes errors during the removal phase
(e.g. because an import has failed, or because the initial creation has
failed) hide the original error.

This patch suppresses removal errors if we are already in ‘has_err’...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

280b79b3 06/16/2009 06:25 pm Guido Trotter

gnt-cluster(8) fix --backend-parameters opt name

It was mistakenly called --backend

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

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

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
0dea942c 06/16/2009 02:03 pm Iustin Pop

Update NEWS and version for 2.0.1 release

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

091c2c64 06/16/2009 02:00 pm Guido Trotter

gnt-{instance,backup}(8) --nic is actually --net

Fix a typo in the man pages that used the wrong option name.

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

c738375b 06/15/2009 02:10 pm Iustin Pop

Fix a wrong function name in backend.DrbdAttachNet

Commit cf8df3f30c2dcd0ab398d835fa9f64d61578a4f7 "bdev: forward-port
ReAttachNet/DisconnectNet" forward-ported 1.2's bdev.DRBD8.ReAttachNet()
to 2.0 while renaming it to AttachNet(), but commit
6b93ec9d798ed53089a06bc0ced58ef1d8a9e4b0 "Forward-port DrbdNetReconfig"...

2f49d1d2 06/11/2009 05:37 pm Guido Trotter

GNT-CLUSTER fix search-tags example

Reported in issue 59.

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

fecbe9d5 06/08/2009 06:00 pm Iustin Pop

Enable stripped LVs

This patch enables stripped LVs, falling back to non-stripped if the
stripped creation fails. If the configure-time lvm-stripecount is 1,
this patch becomes a noop (with an insignificant python-level overhead,
but no extra lvm calls)....

3736cb6b 06/08/2009 06:00 pm Iustin Pop

Add a lvm stripecount configure parameter

This patch adds a configure-time customizable parameter that will be
used to enable stripped LVs. The default of the parameter is 3.

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

3c003d9d 06/08/2009 06:00 pm Iustin Pop

Add more constants for DRBD and change sync tests

This patch adds constants for the connection status, peer roles and disk
status, and it changes the rules for when the disk is considered as
“resyncing” - previously it was only for syncsource/synctarget, but...

5ce92cd3 06/08/2009 12:53 pm Iustin Pop

Merge branch 'master' into next

  • master:
    Wait for a while in failed resyncs
    Fix two issues with exports and snapshot errors
fbafd7a8 06/04/2009 01:06 pm Iustin Pop

Wait for a while in failed resyncs

This patch is an attempt at fixing some very rare occurrences of messages like:
- "There are some degraded disks for this instance", or:
- "Cannot resync disks on node node3.example.com: [True, 100]"

What I believe happens is that drbd has finished syncing, but not all...

f069addf 06/03/2009 07:09 pm Iustin Pop

Assemble DRBD using the known size

This patch changes DRBD disk attachment to force the wanted size, as opposed to
letting the device auto-discover its size.

This should make the disks more resilient with regard to small differences in
size (e.g. due to LVM rounding). This still works with regard to disk...

a97da6b7 06/03/2009 03:17 pm Iustin Pop

Fix two issues with exports and snapshot errors

This patch fixes two issues related to failed snapshots during exports:
- first, the error messages used disk.logical_id1, which is a node
name for DRBD, and it resulted in strange error messages like...

8a6c7011 05/28/2009 08:55 pm Iustin Pop

Set the size on new DRBDs in replace secondary

Currently the code in cmdlib doesn't set the device size to new DRBD
devices in replace secondary, but we need to do it otherwise it gets
initialized to None.

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

464f8daf 05/28/2009 05:05 pm Iustin Pop

Change the bdev init signatures

This patch changes all the bdev.BlockDev constructors to take an
additional ‘size’ parameter, all the backend functions that call those
functions to pass it and also changes backend.BlocdevCreate() to not use
the size passed via the rpc call but instead directly disk.size (this is...

2cd855dd 05/28/2009 01:45 pm Iustin Pop

Merge branch 'next'

  • next: (34 commits)
    watcher: automatically restart noded/rapi
    watcher: handle full and drained queue cases
    rapi: rework error handling
    Fix backend.OSEnvironment be/hv parameters
    rapi: make tags query not use jobs
    Change failover instance when instance is stopped...
7a8994d4 05/27/2009 05:15 pm Iustin Pop

Release 2.0.0 final

This is simply a version bump, no changes from rc5.

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

c4f0219c 05/25/2009 05:07 pm Iustin Pop

watcher: automatically restart noded/rapi

This patch makes the watcher automatically restart the node and rapi
daemons, if they are not running (as per the PID file).

This is not an exhaustive test; a better one would be TCP connect to the
port, and an even better one a simple protocol ping (e.g. get / for rapi...

24edc6d4 05/25/2009 02:19 pm Iustin Pop

watcher: handle full and drained queue cases

Currently the watcher is broken when the queue is full, thus not
fulfilling its job as a queue cleaner. It also doesn't handle nicely the
queue drained status.

This patch does a few changes:
- first archive jobs, and only after submit jobs; this fixes the case...

59b4eeef 05/25/2009 01:12 pm Iustin Pop

rapi: rework error handling

Currently the rapi code doesn't have any custom error handling; any
exceptions raised are simply converted into an HTTP 500 error, without
much explanation.

This patch adds a couple of generic SubmitJob/GetClient functions that...

030b218a 05/25/2009 01:12 pm Iustin Pop

Fix backend.OSEnvironment be/hv parameters

Commit 67fc3042c20f5893abf71a0b4c445c356f9603b9 added some more
variables to be exported to OSEnvironment, but it has two bugs:
- wrong variable name (env vs. result)
- in OSEnvironment we don't have the automatic converstion to strings...

25e39bfa 05/25/2009 12:14 pm Iustin Pop

rapi: make tags query not use jobs

Currently the rapi tags query implementation is similar to the command
line one: it submits OpGetTags jobs. This not good, since this being an
API it can be used a lot and can pollute the job queue with many such
trivial jobs....

d27776f0 05/21/2009 05:34 pm Iustin Pop

Change failover instance when instance is stopped

Currently, if the instance is stopped, we still check for enough memory
on the target node. This is a little bit too strict, since in case too
many nodes have failed and one is out of the memory, this prevents...

67fc3042 05/21/2009 04:05 pm Iustin Pop

Export more instance information in hooks

Currently we miss in hooks the instance's hypervisor, hypervisor
parameters and backend parameters. This forces hooks to query back into
ganeti, which is dangerous due to possible luxi sockets exhaustion.

This patch adds these three as INSTANCE_HYPERVISOR, INSTANCE_HV_*,...

f226f085 05/20/2009 04:14 pm Guido Trotter

Merge branch 'master' into next

Signed-off-by: Guido Trotter <>

78f44650 05/20/2009 04:00 pm Iustin Pop

watcher: write the instance status to a file

This patch modifies the watcher to keep on-disk a file with the instance
status; this can be used from outside of ganeti to react to instances
being down (when the watcher cannot restart them).

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

b926bd98 05/20/2009 12:15 pm Iustin Pop

Release 2.0rc5

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

d392fa34 05/19/2009 08:44 pm Iustin Pop

Fix the SafeEncoding behaviour

Currently we have bad behaviour in SafeEncode:
- binary strings are actually not handled correctly (ahem)
- the encoding is not stable, due to use of string_escape

For this reason, we replace the use of string_escape with part of the...

835528af 05/19/2009 04:21 pm Iustin Pop

Move more hypervisor strings into constants

This patch adds constants for the mouse and boot order strings; while
there are still some issues remaining, we're trying to cleanup hardcoded
strings from the hypervisors.

Since the formatting of frozensets is currently wrong, we also add an...

7dfb83c2 05/19/2009 02:28 pm Iustin Pop

watcher: try to restart the master if down

Bugs in either our code or in associated libraries can bring the master daemon
down, and this (due to the 2.0 architecture) stops all work on the cluster.

Since the watcher already does periodic checks on the cluster, we modify...

88ae4f85 05/19/2009 02:02 pm Iustin Pop

IAllocator: export total disk size for instances

This patch adds for current instance a ‘disk_space_total’ key, similar
to the key for the new instance in case of new allocations.

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

d04aaa2f 05/19/2009 11:39 am Iustin Pop

Add -H/-B startup parameters to gnt-instance

This patch modifies the start instance script, opcode and logical unit
to support temporary startup parameters.

Different from 1.2, where only the kernel arguments were supporting
changes (and thus xen-pvm specific), this version supports changing all...