Statistics
| Branch: | Tag: | Revision:

root @ c12adead

# Date Author Comment
c12adead 12/07/2011 10:57 pm Andrea Spadaccini

Add DRBD dynamic resync speed params to design doc

  • Expand the Name column of the table (for c-delay-target)
  • Add the c-* DRBDparameters to the table containing the disk parameters
  • Add the unit of measurement in square brackets, when needed
  • Document the supported DRBD version, warn about the DRBD version...
a1505857 12/07/2011 12:00 pm Iustin Pop

Convert opcode TH code to the use of Field type

This makes more explicit the field behaviour - previously an optional
field was detected via a "Maybe" constructor, and an optional one via
a "Just defval" one. With this, field behaviour become more explicit...

656a7fdf 12/07/2011 12:00 pm Iustin Pop

Unify some file lists in Makefile.am

These were repeated needlessly; I hope I grouped them correctly.

Signed-off-by: Iustin Pop <>
Reviewed-by: Andrea Spadaccini <>

8a69b3a8 12/06/2011 06:34 pm Andrea Spadaccini

Add DRBD barriers disk parameters

Add the disk-barriers and meta-barriers parameters described in the
design doc.

constants.py:
  • add the needed LD and DT-level parameters, use the defaults provided
    at ./configure time;
  • add constants representing which barriers should be disabled and the...
8bec868e 12/06/2011 02:12 pm Iustin Pop

Style fixes on confd-client

Oops, forgot to check this before initial commit, sorry!

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

a591e210 12/06/2011 12:01 pm Michael Hanselmann

NEWS: Add missing space

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

6bd26f00 12/06/2011 11:38 am Iustin Pop

htools: small change in error message in THH.hs

We should also display the value we can't parse, otherwise debugging
is very hard.

Signed-off-by: Iustin Pop <>
Reviewed-by: Agata Murawska <>

706f7f51 12/06/2011 11:38 am Iustin Pop

htools: improvements to JSON deserialisation

This fixes two problems:

- first, when we deserialise a big object, showing its value is not
useful, as it will hide the actual error message
- second, we shouldn't deserialise a container at once, because then...

879273e3 12/06/2011 11:37 am Iustin Pop

htools: add new template haskell system

This system based on explicit types instead of ad-hoc rules
(e.g. instead of deducing from "Maybe Int" an optional field, we now
can say explicitly OptionalField ''Int). In the first phase, this will
be used for the equivalent of lib/objects.py, which has slightly...

4ef0399b 12/06/2011 10:48 am Iustin Pop

Add a small confd client

This can be used to test live servers; currently there's not direct
way to interact with a confd server, except for burnin's builtin tests
(which were the source of this file).

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

530b64e6 12/06/2011 10:48 am Iustin Pop

A few updates to the confd design (2.1)

While the 2.1 design is old and should be “immutable”, I can't find
documentation about the confd protocol anywhere else, so let's correct
the design doc.

The patch is mostly style changes, plus a clarification on the ‘query’...

406a9c91 12/02/2011 06:55 pm Michael Hanselmann

cmdlib: Make use of cluster's new “primary_hypervisor” property

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

0fbedb7a 12/02/2011 06:55 pm Michael Hanselmann

objects.Cluster: Add property for primary hypervisor

This is useful for working with a node's hypervisor state, where only
the primary hypervisor will be authoritative.

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

43e11798 12/02/2011 06:29 pm Andrea Spadaccini

LV stripes parameters for plain and drbd

configure.ac:
  • change the documentation of --with-lvm-stripecount parameter to
    reflect the change
doc/design-resource-model.rst:
  • change drbd/stripes to drbd/data-stripes and drbd/metastripes to
    drbd/meta-stripes...
6e9814a1 12/01/2011 01:04 pm Andrea Spadaccini

Add DRBD8 static resync speed disk parameter

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Iustin Pop <>

5e99141b 12/01/2011 01:04 pm Andrea Spadaccini

Use disk parameters in Logical Units

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Iustin Pop <>

94dcbdb0 12/01/2011 01:04 pm Andrea Spadaccini

Use disk parameters in noded

  • add the params attribute to BlockDev, and add the corresponding
    parameter to all the BlockDev classes;
  • change the Create, Assemble and FindDevice factory functions interface
    to accept as parameters an objects.Disk instance and a list of...
13d2e231 12/01/2011 01:03 pm Andrea Spadaccini

qa: add gnt-cluster tests related to disk params

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Iustin Pop <>

bc5d0215 12/01/2011 01:03 pm Andrea Spadaccini

Add basic support for disk parameters

objects.py: * add disk parameters to Disk, Cluster, NodeGroup.

constants.py: * add dictionaries that will hold types and default values for disk
parameters (for now, empty).

test/ganeti.constants_unittest.py:...

1e89a135 12/01/2011 12:38 pm Michael Hanselmann

More fixes after commit 78519c106

A quick QA run successfully finished with these changes.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Andrea Spadaccini <>

ff3be305 11/30/2011 03:52 pm Michael Hanselmann

Fix “node_info” RPC result

Commit 78519c106 broke everything. Here's the fix.

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

54ac87c0 11/30/2011 01:57 pm Michael Hanselmann

query: Add fields for node's disk/hv state

These fields just return the node attribute's contents. They will be
used by the watcher to detect out of date node states.

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

16ca6243 11/30/2011 01:57 pm Michael Hanselmann

hv_xen: Report memory used by hypervisor

- Report memory used by hypervisor (“mem_hv” as per resource model
design document, “xmem” in htools)
- Also report number of CPUs available to Dom0
- Some other, small changes

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

1d60fec6 11/30/2011 01:57 pm Michael Hanselmann

hv_xen: Export number of CPUs for Dom0

This will be stored in the node object and used for calculations.

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

5f06ce5e 11/30/2011 01:57 pm Michael Hanselmann

Add objects for disk/hv state

- Data objects
- Serialization/deserialization
- Unittests

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

634d30f4 11/30/2011 12:28 pm Michael Hanselmann

objects.Node: Add static hv/disk state

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

18bf85b1 11/30/2011 12:28 pm Michael Hanselmann

hv_xen: Use constant for “Domain-0” name

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

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

c6a622cf 11/30/2011 12:16 pm Michael Hanselmann

locking: Allow checking if lock is owned in certain mode

With this patch the “LockSet” and “GanetiLockManager” classes have a new
function to check if a single or a group of locks (at a certain level)
have been acquired in a specific mode. This will be used for additional...

c1ef933c 11/24/2011 04:11 pm Michael Hanselmann

Merge branch 'devel-2.5'

  • devel-2.5:
    ConfigWriter: Fix epydoc error
    ConfigWriter: Fix epydoc error

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

53f75d02 11/24/2011 03:59 pm Michael Hanselmann

Merge branch 'devel-2.4' into devel-2.5

  • devel-2.4:
    ConfigWriter: Fix epydoc error

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

1df43aa3 11/24/2011 02:22 pm Michael Hanselmann

Merge branch 'stable-2.5' into devel-2.5

  • stable-2.5:
    ConfigWriter: Fix epydoc error

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Andrea Spadaccini <>

1d4930b9 11/24/2011 02:11 pm Michael Hanselmann

ConfigWriter: Fix epydoc error

The parameter is called “mods”, not “modes”.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Andrea Spadaccini <>
(cherry picked from commit 1730d4a1ab56ef36d082b614d3d0ab13f3e14a85)

1730d4a1 11/24/2011 02:07 pm Michael Hanselmann

ConfigWriter: Fix epydoc error

The parameter is called “mods”, not “modes”.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Andrea Spadaccini <>

75191077 11/24/2011 12:31 pm Michael Hanselmann

Merge branch 'devel-2.5'

  • devel-2.5:
    LUGroupAssignNodes: Fix node membership corruption
    LUGroupAssignNodes: Fix node membership corruption
    Fix pylint warning on unreachable code
    LUNodeEvacuate: Disallow migrating all instances at once
    Separate OpNodeEvacuate.mode from iallocator...
a0d39c8f 11/24/2011 11:50 am Michael Hanselmann

Merge branch 'devel-2.4' into devel-2.5

  • devel-2.4:
    LUGroupAssignNodes: Fix node membership corruption

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

2b9245ff 11/24/2011 11:04 am Michael Hanselmann

Merge branch 'stable-2.5' into devel-2.5

  • stable-2.5:
    LUGroupAssignNodes: Fix node membership corruption
    Fix pylint warning on unreachable code
    LUNodeEvacuate: Disallow migrating all instances at once
    LUNodeEvacuate: Locking fixes
    Fix error when removing node...
54c31fd3 11/24/2011 10:39 am Michael Hanselmann

LUGroupAssignNodes: Fix node membership corruption

Note: This bug only manifests itself in Ganeti 2.5, but since the
problematic code also exists in 2.4, I decided to fix it there.

If a node was assigned to a new group using “gnt-group assign-nodes” the...

218f4c3d 11/24/2011 10:32 am Michael Hanselmann

LUGroupAssignNodes: Fix node membership corruption

Note: This bug only manifests itself in Ganeti 2.5, but since the
problematic code also exists in 2.4, I decided to fix it there.

If a node was assigned to a new group using “gnt-group assign-nodes” the...

9c4f4dd6 11/24/2011 10:32 am Michael Hanselmann

Fix pylint warning on unreachable code

Commit c50452c3186 added an exception when all instances should be
evacuated off a node, but did so in a way which made pylint complain
about unreachable code.

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

c50452c3 11/23/2011 03:25 pm Michael Hanselmann

LUNodeEvacuate: Disallow migrating all instances at once

There is a design issue in the iallocator interface which prevents us
from doing this.

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

cb92e7a1 11/23/2011 03:03 pm Michael Hanselmann

Separate OpNodeEvacuate.mode from iallocator

Until now the iallocator constants for node evacuation
(IALLOCATOR_NEVAC_*) were also used for the opcode. However, it turned
out this was due to a misunderstanding and is incorrect. This patch adds
new constants (with the same values) and changes the affected places....

50722bfd 11/23/2011 03:03 pm Michael Hanselmann

LUNodeEvacuate: Locking fixes

When evacuating a node, only an assertion without informative text was
used to check if the necessary node locks had been acquired. This was on
top of evaluating the list of nodes without having a node group lock, so
this was changed as well....

d05326fc 11/23/2011 11:51 am Michael Hanselmann

Fix error when removing node

ConfigWriter.GetAllInstancesInfo returns a dictionary, not a list.
Removing a node would fail with “too many values to unpack”.

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

90bb3fe1 11/22/2011 07:55 pm Guido Trotter

manpages: update beparams explanations

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

2e1a6024 11/22/2011 07:55 pm Guido Trotter

constants: reindent a few dicts

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

b2e233a5 11/22/2011 07:55 pm Guido Trotter

Remove BE_MEMORY from beparams but keep compatibility

Queries are already compatible (be/memory is an alias for be/maxmem) and
import/exports work. This patch patch fixes it for cluster init, modify
and instance add/start/modify.

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

37036867 11/22/2011 07:55 pm Guido Trotter

burnin: use mem_size as max and min

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

861610e9 11/22/2011 07:55 pm Guido Trotter

unittests: use max/min memory

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

63c55458 11/22/2011 07:55 pm Guido Trotter

cmdlib: use MAXMEM for all operations

Since for now we can only start instances at their maximum memory, we
modify all checks to use that value. When we'll have better support for
using a value in between some of these checks have to move to minimum
memory....

8ccbbe4b 11/22/2011 07:55 pm Guido Trotter

qa: use maximum and minimum memory

test modification of either parameter, but also both at once.

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

f5a4b9ce 11/22/2011 04:53 pm Guido Trotter

hypervisors: use maximum memory for all operations

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

1db993d5 11/22/2011 04:53 pm Guido Trotter

ImportExport: use max and min memory params

Import uses the old "memory" parameter to populate the two new ones, if
they're not overridden already.

FinalizeExport exports minmem and maxmem, but also memory, as maxmem, to
allow importing to older ganeti clusters....

31d1791a 11/22/2011 04:52 pm Guido Trotter

Query: allow query on maximum and minimum memory

be/memory is kept as an alias.

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

b5ef2316 11/22/2011 04:52 pm Guido Trotter

ShowInstanceConfig: show max and min memory

The old "memory" value is kept as maxmem, for now, for
retrocompatibility.

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

3fa222b4 11/22/2011 04:52 pm Guido Trotter

instance hooks: pass maximum and minimum memory

Also pass the "memory" value for retrocompatibility, for now.

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

8c72ab2b 11/22/2011 04:52 pm Guido Trotter

beparams: add min/max memory values

For now the new "memory" parameter stays there, but it will be removed
later. The new values are just taken from the old one, in this patch.

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

5d40c988 11/21/2011 12:54 pm Andrea Spadaccini

design-resource-model: update disk params section

Simplify design by moving all the parameters to disk template level,
explaining why this is sub-optimal. Add notes about DRBD versions,
corner cases and parameters application time.

Signed-off-by: Andrea Spadaccini <>...

d529599f 11/21/2011 12:04 pm Andrea Spadaccini

Set DRBD sync speed in DRBD8.Assemble

Instead of relying on clients of the class for setting the device speed
(and, in general, the DRBD parameters), move this responsibility inside
the Assemble method.

Signed-off-by: Andrea Spadaccini <>...

99cafe0f 11/21/2011 11:59 am Michael Hanselmann

build-rpc: Fail if call is defined more than once

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

edea391e 11/21/2011 11:52 am Andrea Spadaccini

Reapply commit 2a6de57 after merge

In the last merge I erroneously discarded the changes introduced by
commit 2a6de57 "Check the results of master IP RPCs". This commit
reintroduces them.

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Michael Hanselmann <>

f73e5568 11/21/2011 10:45 am Michael Hanselmann

Fix QA breakage caused by merge 0e82dcf9

Patch tested and confirmed to work by Andrea Spadaccini
<>.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Andrea Spadaccini <>

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

2d6b5414 11/21/2011 09:36 am Michael Hanselmann

daemon: Support clean daemon shutdown

Instead of aborting the main loop as soon as a fatal signal (SIGTERM or
SIGINT) is received, additional logic allows waiting for tasks to finish
while I/O is still being processed.

If no callback function is provided the old behaviour--shutting down...

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

daemon: Allow custom maximum timeout for scheduler

This is needed in case the scheduler user (daemon.Mainloop in this case)
has other timeouts at the same time. Needed for clean master shutdown.

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

6d5ea385 11/21/2011 09:36 am Michael Hanselmann

jqueue: Add code to prepare for queue shutdown

Doing so will prevent job submissions (similar to a drained queue),
but won't affect currently running jobs. No further jobs will be
executed.

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

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

workerpool: Export function to check for running tasks

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

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

daemon: Use counter instead of boolean for mainloop abortion

Also log a message when a fatal signal was received and use dict.items.

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

7345b69b 11/18/2011 07:20 pm Iustin Pop

htools: adjust imports for newer compilers

While testing with ghc 7.2, I saw that some imports we are using are
very old (from ghc 6.8 time), even though current libraries are using
different names.

We fix this and bump minimum documented version to ghc 6.12, as I...

0e82dcf9 11/18/2011 01:48 pm Andrea Spadaccini

Merge branch 'devel-2.5'

  • devel-2.5: (24 commits)
    LUInstanceCreate: Release unused node locks
    htools: rework message display construction
    hbal: handle empty node groups
    Document OpNodeMigrate's result for RAPI
    Ensure unused ports return to the free port pool...
0c1441eb 11/18/2011 12:41 pm Michael Hanselmann

Merge branch 'stable-2.5' into devel-2.5

  • stable-2.5:
    htools: rework message display construction
    hbal: handle empty node groups
    Document OpNodeMigrate's result for RAPI
    Fail if node/group evacuation can't evacuate instances
    LUInstanceRename: Compare name with name...
05c2e624 11/18/2011 12:05 pm Michael Hanselmann

Merge branch 'devel-2.4' into devel-2.5

  • devel-2.4:
    Ensure unused ports return to the free port pool
    Re-wrap a paragraph to eliminate a sphinx warning

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

edc282ad 11/17/2011 05:24 pm Agata Murawska

admin.rst update regarding offline state of the instance

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

555d5304 11/17/2011 05:24 pm Agata Murawska

NEWS update - offline instance state

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

754cc530 11/17/2011 05:24 pm Agata Murawska

Backwards compatibity - added admin_up to query

Signed-off-by: Agata Murawska <>
Reviewed-by: Michael Hanselmann <>

bafb5067 11/17/2011 05:24 pm Agata Murawska

Man page update: online/offline state of instance

Signed-off-by: Agata Murawska <>
Reviewed-by: Michael Hanselmann <>

10d3f678 11/17/2011 03:49 pm Iustin Pop

Add small node in admin.rst about confd disabling

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

d29036c1 11/17/2011 03:49 pm Iustin Pop

Warn if we enable maintain-node-health without confd

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

c4e5d11e 11/17/2011 03:49 pm Iustin Pop

Adapt daemon-util to ENABLE_CONFD

We still allow explicit shutdown of confd, but we prevent manual
or automatic start-up.

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

aa224134 11/17/2011 03:49 pm Iustin Pop

Adapt watcher for ENABLE_CONFD

If confd is disabled, do not automatically restart it. Furthermore, we
can't run maintenance actions if it is disabled so log a warning.

Note that I haven't completely disabled the NodeMaintenance class with
ENABLE_CONFD = False because I think they are at two different levels...

db3780f9 11/17/2011 03:49 pm Iustin Pop

Prevent runnning of confd tests in burnin

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

cd8b0072 11/17/2011 03:49 pm Iustin Pop

Add toggle for enabling/disabling confd

Doesn't do anything yet.

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

b99d1638 11/17/2011 03:49 pm Iustin Pop

Fix unittest bug related to offline instances

Currently, the code in Node.hs is overly strict: once a node's free
memory reaches 0, it will refuse to add any instances (offline or
not). I think this is a safe safeguard (I don't expect nodes to run
without at least 1MB of free memory), so rather than change this...

ebf38064 11/17/2011 03:49 pm Iustin Pop

htools: reindent the rest of the files

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

00dd69a2 11/17/2011 03:49 pm Iustin Pop

htools: re-indent IAlloc.hs

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

3c3690aa 11/17/2011 03:49 pm Iustin Pop

htools: reindent hspace

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

2ba17362 11/17/2011 03:49 pm Iustin Pop

htools: reindent hbal

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

cd08cfa4 11/17/2011 03:49 pm Iustin Pop

htools: reindent CLI.hs

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

d5dfae0a 11/17/2011 03:49 pm Iustin Pop

htools: re-indent QC.hs

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

fd7a7c73 11/17/2011 03:49 pm Iustin Pop

htools: re-indent Node.hs

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

9fc18384 11/17/2011 03:49 pm Iustin Pop

htools: finish re-indenting Cluster.hs

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

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

27caa993 11/17/2011 03:39 pm Michael Hanselmann

workerpool: Allow processing of new tasks to be stopped

This is different from “Quiesce” in the sense that this function just
changes an internal flag and doesn't wait for the queue to be empty.
Tasks already being processed continue normally, but no new tasks will...

2db05c94 11/17/2011 03:39 pm Michael Hanselmann

workerpool: Use loop to ignore spurious notifications

This saves us from returning to the worker code when there is no
task to be processed.

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

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

jqueue: Factorize code checking for drained queue

This is in preparation for a clean(er) shutdown of masterd.

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

ac2c8bc0 11/17/2011 03:31 pm Michael Hanselmann

LUInstanceCreate: Release unused node locks

After iallocator ran we can release any unused node locks. Since they
must be in exclusive mode this should improve parallelization during
instance creation.

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

69f0340a 11/17/2011 01:04 pm Michael Hanselmann

cmdlib.TLReplaceDisks: Use itertools.count

… instead of a variable which needs to be incremented for every step.

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

bdd8c739 11/16/2011 04:01 pm Iustin Pop

htools: rework message display construction

While diagnosing some (unrelated) memory usage in htools, I've
stumbled upon some very bad behaviour in checkData: mapAccum is
non-strict, and the tuple we use also, so that results in the list of
list of messages being very bad space-wise (hundreds of MB of memory...

2072221f 11/16/2011 04:01 pm Iustin Pop

hbal: handle empty node groups

This patch changes an internal assert (which can only be triggered
when a node group is empty) into properly handling this case (and
returning empty node/instance lists).

While we could handle this in the backend (Cluster.splitNodeGroup)...