Statistics
| Branch: | Tag: | Revision:

root / lib / config.py @ 48bba9de

History | View | Annotate | Download (86.8 kB)

# Date Author Comment
41044e04 04/29/2013 06:53 pm Bernardo Dal Seno

Add multiple min/max specs in instance policy

Now instance policies can contain more than one min/max specs. This is the
main element of the "Constrained instance sizes" section in the
"Partitioned Ganeti" design doc.

This is a big patch, but changing the type of a configuration item requires...

b87a9c5f 04/17/2013 07:04 pm Christos Stavrakakis

Add Disks and NICs to _AllUUIDObjects

Since disks and NICs have UUIDs, they must be considered
to _AllUUIDObjects.

Signed-off-by: Christos Stavrakakis <>
Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Helga Velroyen <>

3da6e141 04/11/2013 11:53 pm Helga Velroyen

Consistency checks for config wrt disk templates

This patch adds consistency checks for the configuration regarding
disk templates. In particular, it checks that the list of enabled
disk templates is not empty, does not contain any bogus templates,
and that all instances use actually enabled disk templates....

da5f09ef 03/27/2013 12:46 pm Bernardo Dal Seno

Refactor ispecs in ipolicy structures

Minimum and maximum instance specs are put together into a single element
of the instance policy. This is in preparation for introducing multiple
min/max specs.

Signed-off-by: Bernardo Dal Seno <>...

04db1880 03/27/2013 12:46 pm Bernardo Dal Seno

Configuration is verified on load

If there are errors in the configuration when master daemon is started,
they are now logged and reported. Previously they were logged sometimes at
startup, and when performing any change to the configuration.

Signed-off-by: Bernardo Dal Seno <>...

e0519c34 02/26/2013 03:53 am Dimitris Aragiorgis

Add networks to _AllIDs()

networks config objects have UUIDs and thus should be included
in _AllUUIDObjects().

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Guido Trotter <>

9394f4d1 02/19/2013 07:21 pm Dimitris Aragiorgis

Minor fixes regarding nic.network change

Make LookupNetwork() return None in case target is None. This fixes
Issue 380. Rapi passes network=None and the lookup should not fail.

Make network client aware of new nic.network.gnt-network info shows
the IPs of each instance inside the network. It parses nic.networks...

922610c9 02/18/2013 12:03 pm Dimitris Aragiorgis

Add GetInstanceNetworks() config method

This will be needed for Instance Queries. It walks through the
instance's NICs and returns a list network uuids that the NICs
are attached to.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Helga Velroyen <>

9ccacbc8 02/18/2013 12:02 pm Dimitris Aragiorgis

Make network config methods take uuid as argument

This will be needed in the following patches where nic.network
will refer to network's uuid and not name.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Helga Velroyen <>

1b68f268 02/12/2013 03:39 pm Helga Velroyen

If _UnlockedLookupNetwork() fails raise error

Make _UnlockedLookupNetwork() raise OpPrereqError (instead of returning
None) in case it does not find the requested network. Remove useless and
duplicate code such as:

if net_uuid is None:
raise...

This is a cherry-pick of commit 1cce2c4....

3697def0 02/11/2013 04:21 pm Bernardo Dal Seno

Moved uniformity check for exclusive_storage flag

Cluster-verify used to check that the value of exclusive_storage is uniform
within node groups. Now, it's impossible to change the flag for a single
node, so that check has been removed and an equivalent one has been added...

45f62156 02/11/2013 04:20 pm Bernardo Dal Seno

Upgrades made on loading the configuration are always saved

Before, only some upgrades were written back to the configuration file. A
little refactoring of _UpgradeConfig() has been done to write unit tests.

Signed-off-by: Bernardo Dal Seno <>...

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

Fix a few docstrings

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

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

Simplify GenerateFree in network module

GenerateFree now returns the first available IP in the network
or raises AddressPoolError if it is full.

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

e81eef56 11/20/2012 07:51 pm Dimitris Aragiorgis

Replace string values with proper constants

_UnlockedCommitIp is used either for releasing or reserving an
IP inside a network. New constants RELEASE_ACTION/RESERVE_ACTION
are used to decide which is the case.

Signed-off-by: Dimitris Aragiorgis <>...

7f033fb3 11/20/2012 07:51 pm Dimitris Aragiorgis

Add docstring to the GetECReserved config method

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

032a7d71 11/20/2012 07:51 pm Dimitris Aragiorgis

Simplify mac generation funtions

Introduce new config method _UnlockedGetNetworkMACPrefix and refactor
original _GenerateOneMAC so that it takes prefix as an optional
argument and returns a function that actually generates a MAC. If
prefix is not given or None it uses the cluster level default....

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

Fixes to pass pep8 (make lint)

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

beb81ea5 11/20/2012 07:51 pm Dimitris Aragiorgis

Fixes to pass pylint (make lint)

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

a0af6c80 11/20/2012 07:51 pm Dimitris Aragiorgis

Use network's mac prefix

Modify existing GenerateMAC so that it takes network as an argument.

Substitute _GenerateOneMAC with a decorator _GenerateMACPrefix that
chooses the prefix (network's or cluster's) and wraps
_GenerateMACSuffix that generates the three remaining bytes....

d1547283 11/20/2012 07:51 pm Dimitris Aragiorgis

Modify LUInstanceSetParams() to support networks

Keep backwards compatibility just like LUInstanceCreate() and support
network parameter for NIC object.

Add ec_id argument in Update() to be able to commit temporary IPs that
were previously reserved.

Signed-off-by: Dimitris Aragiorgis <>...

ced51149 11/20/2012 07:51 pm Dimitris Aragiorgis

Modify RemoveInstance() to support networks

Release any IPs held the instance before actually removing.

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

e8e079f3 11/20/2012 07:51 pm Dimitris Aragiorgis

Modify LUInstanceCreate to support networks

Implement backend support, to export the IP pool management
functionality to the clients. When the new NIC parameter 'network' is
given, the ippool management system is triggered. If a NIC belongs to
a network, it inherits the netparams (mode, link) as its nicparams. If...

ad4a9ae7 11/20/2012 07:51 pm Dimitris Aragiorgis

Config methods for reserving/releasing IPs

Use TemporaryReservationManager for IP handling to ensure config data
consistency.

Implement:
- methods for reserving/releasing IPs
- _UnlockedCommitTemporaryIps()
- CheckIPInNodeGroup() used for conflicting IPs...

1e0d3321 11/20/2012 07:50 pm Dimitris Aragiorgis

Implement LUNetworkSetParams

Support modifying all network parameters except for network (ip
range). Cannot modify gateway and reserved ips at the same time.

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

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

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

Migrate lib/config.py from constants to pathutils

File system paths moved from constants to pathutils.

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

951accad 08/27/2012 05:18 pm Iustin Pop

Merge branch 'devel-2.6'

  • devel-2.6:
    Make stable-2.6 compatible with newer pep8
    Fix computation of disk sizes in _ComputeDiskSize
    Add verification of RPC results in _WipeDisks
    Add test for checking that all gnt-* subcommands run OK
    Fix double use of PRIORITY_OPT in gnt-node migrate...
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...

2ed0e208 07/27/2012 12:16 pm Iustin Pop

Fix 'explicitely' common typo

It seems that 'explicitely' is wrong, and that the right form is
'explicitly'. This is just fixing the typo plus adjusting affected
paragraphs.

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

8b057218 07/19/2012 03:15 pm René Nussbaumer

Fix setting ipolicy on node groups

On node groups we don't have the std field. However, the InstancePolicy
object always verifies that the std value is within a given range. As we
fill it up with defaults if not set (as it happens to be on node groups)
and the min value is higher than the default std value (taken from...

af9fb4cc 05/10/2012 02:56 pm René Nussbaumer

apidoc: Fix some typos and errors introduced by my previous patches

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

99ccf8b9 05/10/2012 02:30 pm René Nussbaumer

cmdlib: Remove all diskparams calculations not required anymore

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

8a147bba 05/10/2012 02:30 pm René Nussbaumer

config: Adding convenience method for disk parameters

Signed-off-by: René Nussbaumer <>
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...
ce445897 04/12/2012 08:52 pm Michael Hanselmann

Merge branch 'stable-2.5' into devel-2.5

  • stable-2.5:
    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
    Fix extra whitespace...
3b3b1bca 03/29/2012 06:28 pm Dimitris Aragiorgis

Fix a bug concerning TCP port release

Commit f396ad8 returns the TCP port used by DRBD disk back to the
TCP/UDP port pool using AddTcpUdpPort().

However, AddTcpUdpPort() writes the config on every invocation,
using _WriteConfig(). This causes two problems:...

080fbeea 03/22/2012 08:44 pm Michael Hanselmann

gnt-instance info: Show node group information

This requires acquiring the node group locks in shared mode.

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

3ccb3a64 02/21/2012 05:23 pm Michael Hanselmann

Replace single- with double-quotes

In at least two cases "%s" is replaced with str(), too.

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

82c54b5b 02/20/2012 01:27 pm Michael Hanselmann

config: Add check for disk's “iv_name”

This check verifies “iv_name” of all instance disks. If one is wrong
(which shouldn't happen in the first place), cluster verification will
warn:

“ERROR: cluster: Instance 'inst.example.com' has wrongly named disks:...

e2569c1d 02/17/2012 12:52 pm Michael Hanselmann

ConfigWriter: Stop using “iv_name”

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

ea642319 02/17/2012 12:52 pm Michael Hanselmann

ConfigWriter.RenameInstance: Stop using iv_name, safer operation

Stop using the disk index encoded in “iv_name” when renaming an instance.

This patch also changes the code to operate on a copy of the instance
until the major changes have been applied. In the case of a failure we...

ff6c5e55 01/26/2012 01:53 pm Iustin Pop

Add new ipolicy parameter vcpu_ratio

This adds the new parameter and changes the validation routines to
handle IPOLICY_PARAMETER value as floats. Very very ugly code :(,
should be redone much cleaner.

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

12378fe3 01/26/2012 01:47 pm Iustin Pop

Rename IPOLICY_PARAMETERS to IPOLICY_ISPECS

As opposed to the initial situation, the PARAMETERS will be more than
just the min/std/max ispecs. Let's rename it, before re-adding the
PARAMETERS constant with a different meaning.

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

2cc673a3 01/13/2012 03:16 pm Iustin Pop

Add new disk_templates parameter to instance policy

This is a bit more complex patch, as it requires changing the
assumption that all keys in the policy dict points to values that are
themselves dicts. Right now we introduce an assumption that any
non-dicts are lists, we'll see in the future if this holds or whether...

a41fd46e 01/09/2012 06:16 pm Michael Hanselmann

Merge branch 'devel-2.4' into stable-2.5

  • devel-2.4:
    Add UnescapeAndSplit unittest for multi-escapes
    Fix a bug in command line option parsing code
    ConfigWriter: Fix epydoc error
    LUGroupAssignNodes: Fix node membership corruption
    Ensure unused ports return to the free port pool...
81e3ab4f 12/08/2011 07:24 pm Agata Murawska

Introduce instance policy on nodegroup level

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

918eb80b 12/08/2011 07:23 pm Agata Murawska

Introduce instance policy on cluster level

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

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

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

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

57de31c0 11/16/2011 03:15 pm Agata Murawska

Transition into and out of offline instance state

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

2e04d454 11/16/2011 03:15 pm Agata Murawska

Introduce admin_state as 3-values data type

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

9ca8a7c5 11/16/2011 03:15 pm Agata Murawska

Rename admin_up to admin_state

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

33be7576 11/14/2011 05:17 pm Andrea Spadaccini

Add use_external_mip_script cluster parameter

Add the use_external_mip_script cluster parameter, that represents
whether the master IP address turnup/turndown procedures must use a
script provided by the user (True) or the one provided by Ganeti
(False)....

f396ad8c 11/14/2011 11:03 am Vangelis Koukis

Ensure unused ports return to the free port pool

Ensure ports previously allocated by calling ConfigWriter's AllocatePort() are
returned to the pool of free ports when no longer needed:

  • Return the network_port of an instance when it is removed
  • Return the port used by a DRBD-based disk when it is removed...
cc19798f 11/07/2011 07:32 pm Michael Hanselmann

LUNodeSetParams: Lock affected instances only

Until now LUNodeSetParams would lock all instances if a node's
secondary IP address was to be changed and would then release
all instances it didn't actually need. With this patch the LU
optimistically locks instances and, once it got the locks,...

b2acdbdc 11/03/2011 06:30 pm Michael Hanselmann

Show RPC calls from config in lock monitor

With this patch all RPC calls at runtime of masterd will show up in the
lock monitor. There is a chicken-and-egg issue with initializing the
configuration with a context since the lock manager, containing the
monitor, requires the configuration. This is worked around by setting...

c79198a0 11/03/2011 04:39 pm Andrea Spadaccini

Pass MasterNetworkParameters instances in RPCs

Pass instances of objects.MasterNetworkParameters when calling RPCs for
activation and deactivation of master IP.

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Guido Trotter <>

f9d20654 11/03/2011 04:39 pm Andrea Spadaccini

Use MasterNetworkParameters attributes for RPC

Instead of manually unpacking the return values of
cfg.GetMasterNetworkParameters, let it return an instance of
objects.MasterNetworkParameters and pass its attributes.

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

c9f4b8e6 10/28/2011 12:34 pm Andrea Spadaccini

Add shortcut for network-related cluster params

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

ee14d800 10/27/2011 09:52 pm Michael Hanselmann

config: Add unlocked function to get all node objects

This will be used for resolving node names.

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

415a7304 10/26/2011 11:53 am Michael Hanselmann

rpc: Convert last two calls to generated code

These two calls, “upload_file” and “write_ssconf_files” are treated
separated as they're used by the configuration, where we can't use the
normal resolver.

There's still some duplicated code in rpc.py, but that will be taken...

5a8648eb 10/05/2011 12:05 pm Andrea Spadaccini

Add cluster netmask parameter

Add the master_netmask cluster parameter, that represents the netmask of
the master IP, encoded as a CIDR suffix.

This parameter can be set via the --master-netmask of gnt-cluster init
and gnt-cluster modify. The default behaviour is to be consistent with...

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

e687ec01 08/25/2011 01:53 pm Michael Hanselmann

PEP8 style fixes

Identified using the “pep8” utility.

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

ce523de1 08/04/2011 04:19 pm Michael Hanselmann

Fix broken object references in docstrings

The module is called “objects”, not “object”.

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

71333cb9 08/03/2011 05:41 pm Iustin Pop

Optimise use of repeated/looping GetInstanceInfo

Similar to the previous patch, this adds a helper function to
eliminate repeated calls info ConfigWriter.

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

f5eaa3c1 08/03/2011 05:41 pm Iustin Pop

Optimise use of repeated/looping GetNodeInfo

This adds a new ConfigWriter.GetMultiNodeInfo function and replaces
multiple/looping calls to GetNodeInfo with it.

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

07346f28 06/01/2011 08:08 pm Michael Hanselmann

Merge branch 'devel-2.4'

  • devel-2.4:
    jqueue: Fix potential race condition when cancelling queued jobs
    Fix argument order in ReserveLV and ReserveMAC

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

8785b71b 05/30/2011 06:03 pm Apollon Oikonomopoulos

Fix argument order in ReserveLV and ReserveMAC

ConfigWriter.ReserveLV() and Configwriter.ReserveMAC() called
TemporaryReservationManager.Reserve() with the ec_id and resource arguments
swapped. As a result, two reservation attempts for the same resource type...

dac81741 05/25/2011 12:30 pm Michael Hanselmann

config: Add method to get members of nodes' groups

This will be used for locking during node evacuation.

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

c71b049c 05/19/2011 02:01 pm Michael Hanselmann

config: Add function to get instances in node group

This will be used for evacuating instances in a node group.

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

93384b8c 05/11/2011 05:14 pm Guido Trotter

Merge branch 'devel-2.4'

  • devel-2.4:
    Use floppy disk and a second CDROM on KVM
    Document the selection of instance kernels
    Make root_path an optional hypervisor parameter
    Some man page updates
    Add 2 new variables to the OS scripts environment
    Add --no-wait-for-sync when converting to drbd...
9d5b1371 05/06/2011 01:46 pm Michael Hanselmann

Fix race condition in LUGroupAssignNodes

The original code would get all node information and their groups
without before acquiring the necessary locks. With this patch the node
information is only retrieved once all locks have been acquired. Groups
are locked optimistically and verified after acquiring the node locks....

2674690b 05/05/2011 02:09 pm Michael Hanselmann

config: Add function to determine instance's groups

This will be used for locking only the necessary node group(s)
for per-instance operations.

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

2afc9238 04/14/2011 11:36 am Iustin Pop

Prevent ssconf values from having non-string values

For whatever reason, my test cluster managed to acquire
shared_file_storage_dir with a None value, instead of empty
string. This is not flagged in masterd itself, but the node daemon
will fail in writing the value to disk, as it calls len() on the...

3a93eebb 03/11/2011 07:05 pm Michael Hanselmann

Fix epydoc warning about unknown reference

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

fe698b38 03/11/2011 06:35 pm Michael Hanselmann

config: Wrap MatchNameComponent, reduce lock duration

- Remove duplication by merging two MatchNameComponent into a wrapper
- Reduce lock duration by getting list of names under lock and then
matching names without the lock
- Also, ExpandNodeName's docstring is fixed....

4b97f902 03/01/2011 07:11 pm Apollon Oikonomopoulos

Core shared file storage support

This patch introduces core file storage support, consisting of the following:

A configure-time switch for enabling/disabling shared file storage
support and controlling the shared file storage location:
--with-shared-file-storage-dir=. Shared file storage configuration is then...

18ffc0fe 02/01/2011 02:15 pm Stephen Shirley

Enforce that new node groups have unique names

Signed-off-by: Stephen Shirley <>
Reviewed-by: René Nussbaumer <>

e85d8982 02/01/2011 02:15 pm Stephen Shirley

Add _UnlockedLookupNodeGroup()

This allows calling of _UnlockedLookupNodeGroup() from within
AddNodeGroup()

Signed-off-by: Stephen Shirley <>
Reviewed-by: René Nussbaumer <>

7e01d204 01/28/2011 03:57 pm Iustin Pop

ConfigWriter: simplify _UnlockedVerifyConfig

This just adds a 'cluster' local variable for reducing duplication.

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

26f2fd8d 01/28/2011 03:57 pm Iustin Pop

ConfigWriter: add checks for be/nd/nic params

This adds checking (in the configuration) for invalid be, nd and nic
params. The code is a bit tricky as nd params are at cluster,
nodegroup and node level, nicparams are at cluster and nic level,
whereas beparams are at cluster and instance level....

0389c42a 01/28/2011 02:43 pm Stephen Shirley

Prevent removal of last node group

- Add check in ConfigWriter to prevent last node group from being
removed
- Tidy up error message a bit

Signed-off-by: Stephen Shirley <>
Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>

075b62ca 01/20/2011 07:43 pm Iustin Pop

Another fix for LUClusterVerifyDisks

The LVM queries should only be done for vm_capable nodes. In order to
do this, we also add a new ConfigWriter method to abstract that query.

Signed-off-by: Iustin Pop <>
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 <>...

31ed0b58 12/09/2010 05:14 pm Guido Trotter

Merge branch 'devel-2.3'

  • devel-2.3:
    Fix rename for file-backed instances

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

d1a0ab50 12/09/2010 05:13 pm Guido Trotter

Merge branch 'devel-2.2' into devel-2.3

  • devel-2.2:
    Fix rename for file-backed instances

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

3721d2fe 12/09/2010 05:09 pm Guido Trotter

Fix rename for file-backed instances

Currently the code wrongly changes the disk logical/physical id
component representing the path from "$storage_dir/$iname/disk$seq" to
"$storage_dir/$iname/disk/$seq" (note the additional slash) breaking the
rename.

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

75cf411a 12/08/2010 09:45 pm Adeodato Simo

Introduce constant for the name of the initial node group

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

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

config.py, objects.py: more node group support

In particular:

- add AddNodeGroup and RemoveNodeGroup in config.py
- refactor _UpgradeConfig to make use of _UnlockedAddNodeGroup
- add support for objects.NodeGroup in ConfigWriter.Update; add missing...
e0f9ed64 12/02/2010 05:21 pm Adeodato Simo

config.py: add error code to OpPrereqError

This adds a errors.ECODE_NOENT for OpPrereqError in LookupNodeGroup.

Signed-off-by: Adeodato Simo <>
Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>