Statistics
| Branch: | Tag: | Revision:

root / lib / bootstrap.py @ 7ad422ec

History | View | Annotate | Download (37.4 kB)

# Date Author Comment
5030cff3 07/15/2013 12:34 pm Helga Velroyen

cluster init: check for enabled disk templates

The purpose of this patch is to remove the usage of the
'ENABLE_FILE_STORAGE' constant. To get there, we do some
refactoring, add unit tests and add a FIXME for a forgotten
test regarding the file storage location....

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

cde49218 05/14/2013 04:46 pm Helga Velroyen

Rename dir 'block' to 'storage'

Renaming the 'block' directory to 'storage', because I plan to
place code there that is related to file storage and leaving
it named 'block' would be misleading.

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

47e0abee 05/06/2013 11:47 am Thomas Thrainer

Split DRBD8Dev into DRBD8 and DRBD8Dev

All functionality specific to a single DRBD8 devide is now in DRBD8Dev,
whereas functionality which is valid for the whole DRBD "installation"
on a device is collected in DRBD8.

This makes it possible to remove a couple of FIXME's and clarifies the...

239364d0 05/06/2013 11:30 am Thomas Thrainer

Rename DRBD8 to DRBD8Dev

Right now the DRBD8 class has multiple responsibilities: a) it
reprensents a device which can be set up, grown, etc. and b) it
represents the whole DRBD system on a node which has a usermode helper,
which knows how to shut down all devices, etc. Therefore, the DRBD8Dev...

5519f036 04/29/2013 11:13 pm Bernardo Dal Seno

Merge branch 'stable-2.8' into master

  • stable-2.8: (42 commits)
    Add shelltests for hspace allocation
    hspace: Handle multiple ipolicy specs
    QA: Test multiple instance specs
    QA: Handle multiple instance specs
    Unit test for cli.FormatPolicyInfo()...
fd300bc7 04/29/2013 07:05 pm Thomas Thrainer

Remove BaseDRBD

BaseDRBD was probably useful when DRBD 0.7 and DRBD 8 were supported.
However, there is only one subclass of BaseDRBD remaining (DRBD8), and
the separation of responsibilities between those two classes was rather
randomly chosen.

The unification into one class also eases the introduction of...

912737ba 04/26/2013 04:34 pm Helga Velroyen

gnt-cluster modify/init: deprecate --no-lvm-storage

This patch does three things:

1. It deprecates the option '--no-lvm-storage' of 'gnt-cluster modify'
and 'gnt-cluster init'. Technically, it is not fully removed, but kept in order
to warn the user that it is no longer supported and that she should use...

95990bc5 04/24/2013 07:53 pm Klaus Aehlig

Merge branch 'stable-2.7' into stable-2.8

Conflicts:
NEWS
doc/rapi.rst

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

89ff748d 04/24/2013 11:00 am Thomas Thrainer

Extract DRBD-related classes into block/drbd.py

This is in preparation to introducing support for DRBD8.4.
base.py had to be extracted as well in order to avoid cylic imports
between bdev.py and drbd.py. It now contains the BlockDev class and
utility functions needed by bdev.py and drbd.py....

ce9283c1 04/24/2013 10:59 am Thomas Thrainer

Move lib/bdev.py to lib/block/bdev.py

That's in preparation of extracting DRBD related code from bdev.py. As
bdev.py is already rather long, new features will require to split it
into more manageable pieces. That's why it's moved in an own directory.

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

35c48839 04/18/2013 11:13 am Michele Tartara

Set the default metavg to be equal to the cluster name

The default metavg was always set to be the constant value "xenvg".
This is OK for most cases, but if the cluster is initialized with
a default name through the --vg-name option, the metavg should change...

3bde79ee 04/11/2013 11:52 pm Helga Velroyen

gnt-cluster init: enabling of disk templates

This patch enhances 'gnt-cluster init' to accept a list of disk templates
to be enabled. It removes the list of enabled storage types.

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

c074a9e8 03/21/2013 05:41 pm Helga Velroyen

gnt-cluster init: add enabled_storage_types parameter

This patch extends the 'gnt-cluster init' command to set the list
of enabled storage types on cluster creation.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Guido Trotter <>

a5da38fa 02/25/2013 05:54 pm Michael Hanselmann

bootstrap: Wait for SSH daemon to become reachable

In some situations after restarting the SSH daemon by
“prepare-node-join” it's not immediately reachable. Like with the master
and node daemons, waiting for it to become reachable instead of failing
hard can help in such situations....

32ba31be 12/20/2012 03:37 pm Michael Hanselmann

Stop all daemons on cluster initialization

Addresses issue 145. When daemons are still running from a previous
cluster instance, starting the daemons again will fail.
“ConfigWriter.IsCluster” only looks at the configuration file, which
could already have been deleted....

7b8ba235 12/06/2012 04:07 pm Michael Hanselmann

Switch from scp/ssh to node daemon setup utility

This patch does away with many calls to scp and by means of using
“tools/node-daemon-setup”, verifies most of the values before writing
them to files.

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

e1874aa7 12/03/2012 03:04 pm Michael Hanselmann

bootstrap.RunNodeSetupCmd: Add IPv6 support

Commit 224ff0f modified the node SSH setup to use the system's SSH
client. Before that Paramiko was used. It's not entirely clear whehter
the latter ever supported IPv6 properly, but with this patch
“bootstrap.RunNodeSetupCmd” is changed to use it if configured. The code...

a698cdbb 12/03/2012 03:04 pm Michael Hanselmann

Factorize running node setup command

Part of the code used for running “prepare-node-join” can be re-used for
running a tool to configure the node daemon.

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

eaa4c57c 11/20/2012 07:50 pm Dimitris Aragiorgis

IP pool related objects, opcodes and constants

Config objects: * Introduce L{Network} with
- IPv4 network field (mandatory)
- IPv4 gateway, IPv6 (network/gateway), mac prefix, type (optional) * Modify existing config objects to support networks:
- Add new slot 'network' to L{NIC} config object...

ee045466 10/11/2012 12:56 pm Michael Hanselmann

Move constant for /etc/hosts to pathutils

Needed for coming patches.

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

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

052783ff 09/28/2012 03:14 pm Michael Hanselmann

Stop hardcoding root user

Some parts of the code still use a hardcoded user name: root. This patch
replaces all with a constant specified at build time. The end goal is to
make it possible to run a Ganeti cluster without any special privileges
(of course this will prevent some functionality from working)....

93b19295 09/21/2012 03:44 pm Michael Hanselmann

bootstrap.SetupNodeDaemon: Stop hardcoding bind address

Commit b43dcc5a11 added support for IPv6. To have the node daemon bind
to an IPv6 address on startup it changed the code to pass a static bind
address (0.0.0.0 or ::0). If a user had configured another bind address...

7ede9c6a 09/18/2012 06:09 pm Michael Hanselmann

Migrate lib/bootstrap.py from constants to pathutils

File system paths moved from constants to pathutils.

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

3329f4de 09/18/2012 05:58 pm Michael Hanselmann

constants: Move most paths to separate module

This is inpreparation for the implementation of virtual clusters. Many
paths will change based on an environment variable and are no longer
constant and should no longer be in “constants.py”. Since “constants.py”...

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

e4a4391d 06/15/2012 04:48 pm René Nussbaumer

Verify the options on diskparameters

This prevents from setting for example drbd options on the plain disk
template.

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

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

bd6d1202 03/28/2012 12:27 pm René Nussbaumer

RPC: Add a new client type for DNS only

This patch moves the “call_version” to a new RPC client definition and
then adds a new runner using the DNS resolver for getting the host
address.

The standard “BootstrapRunner”, where the call was before, tries to...

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

57dc299a 01/13/2012 03:24 pm Iustin Pop

Further fixes to instance policy validation

As a followup from "Remove extraneous check in policy creation", there
are more places where we build an ipolicy, and then manually check for
its validity. This is very bad style, as it duplicates the
verification code across many places....

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

c4929a8b 12/16/2011 10:30 am René Nussbaumer

gnt-cluster: Add hv/disk state to init

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

18bb6d28 12/08/2011 07:23 pm Agata Murawska

InitCluster supports instance policy

Signed-off-by: Agata Murawska <>
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:...

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

57c7bc57 11/14/2011 05:18 pm Andrea Spadaccini

Change master IP address RPCs for external script

Change the master IP address RPC call chain to accept the
use_external_master_ip_script parameter. Introduces an unused parameter
in backend.ActivateMasterIp and backend.DeactivateMasterIp, that will be
used in the next commit....

bf689b7a 11/14/2011 05:18 pm Andrea Spadaccini

Add --use-external-mip-script flag

- add a command line flag to gnt-cluster init and modify to change the
value of the cluster parameter use_external_mip_script;
- add two constants representing the paths of the default script and of
the external script;...

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

91ae95fd 11/03/2011 04:39 pm Andrea Spadaccini

Uniform master IP activation and deactivation

Add the master IP family parameter to the master IP deactivation RPCs,
so that the activation and deactivation interfaces are uniform.

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

7c74bbe0 11/02/2011 03:03 pm Andrea Spadaccini

Change the semantics of stop_master RPC

To avoid polluting the stop_master RPC interface with network
parameters, this patch removes the deactivation of the master IP from
this RPC.

The call to deactivate_master_ip is then added before every stop_master...

96e0d5cc 11/02/2011 03:03 pm Andrea Spadaccini

Explicitly pass params to deactivate_master_ip

Make the master explicitly pass the parameters to the
deactivate_master_ip RPC, and change all the call flow to use the new
interface.

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

db04ce5d 10/26/2011 11:53 am Michael Hanselmann

Move bootstrap-related RPC to generated wrappers

With this patch, only 6 RPC are left as old-style code.

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

909b3a0e 10/05/2011 02:48 pm Andrea Spadaccini

Restore backend.GetMasterInfo return values order

Change 5a8648eb609f7e3a8d7ad7f82e93cfdd467a8fb5 changed the order of the
return values of backend.GetMasterInfo(). This broke the users of the
master_info RPC.

This change restores the original order, and adds a comment in...

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

fb460cf7 09/30/2011 02:05 pm Andrea Spadaccini

Split starting and stopping master IP and daemons

lib/backend.py
  • split StartMaster() in ActivateMasterIp() and StartMasterDaemons()
  • split StopMaster() in DeactivateMasterIp() and StopMasterDaemons()
lib/server/noded.py, lib/rpc.py
  • adapt the call chains to the new functions, define new RPCs...
bfe86c76 09/20/2011 05:04 pm Andrea Spadaccini

Added SPICE TLS option and related cert paths

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

b6267745 09/20/2011 05:04 pm Andrea Spadaccini

Implementation of TLS-protected SPICE connections

Added support for TLS-protected SPICE connections:

client/gnt_cluster.py, cli.py:
  • added three new parameters to renew-crypto (--new-spice-certificate,
    --spice-certificate, --spice-ca-certificate) and their validation....
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 <>

0376655e 06/23/2011 04:53 pm Guido Trotter

remove bootstrap._InitSharedFileStorage

This function is a copy of bootstrap._InitFileStorage with the following
differences:
- check constants.ENABLE_SHARED_FILE_STORAGE and not
constants.ENABLE_FILE_STORAGE
- use different local variable names
- one different error string...

d1e9c98d 03/31/2011 04:53 pm Iustin Pop

Automatically enable hail if enabled and found

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

7925d409 03/01/2011 07:18 pm Apollon Oikonomopoulos

Shared file storage initialization code

Add shared file storage handling during cluster initialization.

Signed-off-by: Apollon Oikonomopoulos <>
Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>

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

ff699aa9 02/28/2011 05:26 pm Michael Hanselmann

gnt-cluster master-failover: Undrain queue

- Move functions for drain status (tracked via file) from jqueue to jstore
- Undrain queue on master failover if necessary
- Add QA test

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

fb87cbeb 01/27/2011 07:07 pm Michael Hanselmann

Merge branch 'devel-2.3' into devel-2.4

  • devel-2.3:
    Wait for master to become available on initialization
    Start all daemons on cluster initialization
    Clarify job processing order in admin guide
    Improve option descriptions
    Remove two unused variables...
3b6b6129 01/26/2011 06:26 pm Michael Hanselmann

Wait for master to become available on initialization

This is analogue to the existing check for a responsive node daemon.

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

952d7515 01/26/2011 06:25 pm Michael Hanselmann

Start all daemons on cluster initialization

At least ganeti-confd was not started. It got started a few minutes
later by ganeti-watcher. Also move one pylint disable to the effective
line.

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

72729d6e 01/04/2011 04:42 pm Michael Hanselmann

Cleanup bootstrap.SetupNodeDaemon

- Code formatting
- Use ShellQuote for one argument
- Remove variables no longer used after commit 9294514d

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

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

6204ee71 12/01/2010 03:36 pm René Nussbaumer

Adding ndparams to gnt-cluster init|modify and man page

This is reverting the revert and adaption to fix the issue which caused
the revert

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

435e4bd6 11/29/2010 10:00 pm Michael Hanselmann

bootstrap: Set master node's {c,m}time on cluster init

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

4f358f28 11/29/2010 07:44 pm Michael Hanselmann

Revert "InitCluster support for ndparams"

This reverts commit fd7f5b411ca61be2e4eff638773ba6c0fac7eb32.

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

fd7f5b41 11/29/2010 04:01 pm René Nussbaumer

InitCluster support for ndparams

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

eb180fe2 10/22/2010 06:23 pm Iustin Pop

ConfigWriter: prevent using a foreign config

If the configuration file doesn't denote this node as master, we prevent
startup. This would have detected our previous race condition more
easily, hence we add it as a permanent check.

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

21004460 10/22/2010 06:23 pm Iustin Pop

Fix bootstrap.MasterFailover race with watcher

This fixes a recently diagnosed race condition between master failover
and the watcher.

Currently, the master failover first stops the master daemon, checks
that the IP is no longer reachable, and then distributes the updated...

3d914585 10/12/2010 01:57 pm René Nussbaumer

Add prealloc_wipe_disks as a cluster-wide configuration variable

This is the first step for the support of wiping block devices prior
to creation of the instance.

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

31684f84 09/15/2010 03:58 pm René Nussbaumer

Stop all daemons precautiosly before trying to start ganeti-noded again

Please note that if the pid file is broken or missing we'll not catch
the process (if any is running) and it's up to the user to fix this state

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

88b92fe3 09/15/2010 02:08 pm Guido Trotter

InitConfig: create nodegroups as well

This patch also ensures that the initial configuration has all the
needed UUIDs and that they are unique, by using a
TemporaryReservationManager inside InitConfit to generate them.

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

9294514d 08/25/2010 02:07 pm René Nussbaumer

Change bootstrap.SetupDaemonNode to use scp as we can assume SSH is setup

Signed-off-by: René Nussbaumer <>
Reviewed-by: Manuel Franceschini <>
Reviewed-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

ea8ac9c9 08/23/2010 03:40 pm René Nussbaumer

Switch to the RPC call to update /etc/hosts in LUAddNode and LURemoveNode

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

7c4c22f5 08/20/2010 04:12 pm Manuel Franceschini

gnt-node add: add error msg when using IPv6

Signed-off-by: Manuel Franceschini <>
Reviewed-by: Michael Hanselmann <>

d8e0caa6 08/20/2010 02:12 pm Manuel Franceschini

Use family in backend.StartMaster

This patches changes the StartMaster method to consult the cluster
primary ip version when deciding whether to use arping or ndisc6 after
activating the master ip.

Signed-off-by: Manuel Franceschini <>...

b43dcc5a 08/19/2010 12:44 pm Manuel Franceschini

Support IPv6 node add

Signed-off-by: Manuel Franceschini <>
Reviewed-by: Iustin Pop <>

2f20d07b 08/19/2010 12:43 pm Manuel Franceschini

Add new cluster parameter primary_ip_version

We expose the ip_version (4, 6) to the external interface and internally
we convert it to ip_family (AF_INET=2, AF_INET6=10). This makes the code
more concise as all functions deal with family rather than version....

7845b8c8 08/18/2010 04:07 pm Manuel Franceschini

Fix some small newline style issues

Signed-off-by: Manuel Franceschini <>
Reviewed-by: Iustin Pop <>

b705c7a6 08/18/2010 11:27 am Manuel Franceschini

Support for resolving hostnames to IPv6 addresses

This patch enables IPv6 name resolution by using socket.getaddrinfo
instead of socket.gethostbyname_ex.

It renames the HostInfo class to Hostname and unifies its use throughout
the code. This is achieved by using static calls where no object is...

d367b66c 08/18/2010 11:26 am Manuel Franceschini

cluster init: Write ssconf before noded starts

This change is needed as we will need to read the primary ip version
cluster parameter before we start the node daemon. The reason is that we
need to know in advance if we bind to the IPv4 or IPv6 any address....

8b312c1d 08/18/2010 11:26 am Manuel Franceschini

Introduce new IPAddress classes

This patch unifies the netutils functions dealing with IP addresses to
three classes:
- IPAddress: Common IP address functionality
- IPv4Address: IPv4 specific functionality
- IPv6address: IPv6-specific functionality

Furthermore it adds methods to check whether an address is a loopback...

600535f0 07/21/2010 12:34 pm Manuel Franceschini

Always set commonName in X509 certificates

Due to the current switch of the RPC client to PycURL, a bug with newer
versions of libcurl surfaced. When the 'Subject' or 'Issuer' of
'server.pem' were empty, SSL handshake failed.

This patch changes the certificate generation functions such that they...

a744b676 07/09/2010 04:37 pm Manuel Franceschini

Introduce lib/netutils.py

This patch moves network utility functions to a dedicated module.

Signed-off-by: Manuel Franceschini <>
Reviewed-by: Iustin Pop <>

bf4af505 07/08/2010 04:45 pm Apollon Oikonomopoulos

Add default_iallocator cluster parameter

Add a cluster parameter to hold the iallocator that will be used by default
when required and no alternative (manually-specified iallocator or
manually-specified node(s)) is given.

Signed-off-by: Apollon Oikonomopoulos <>...

425f0f54 07/06/2010 03:28 pm Iustin Pop

Add a delay in master failover

I have seen some very seldom errors where (it seems) the address is
still live for a short while after removing it from the old master, thus
the new master will fail in startup/adding its own IP address.

To prevent against this, we add a delay/retry before we proceed, if the...

a721e23a 07/06/2010 12:24 pm Luca Bigliardi

Check and set drbd helper during bootstrap

Signed-off-by: Luca Bigliardi <>
Reviewed-by: Iustin Pop <>

c0c3fa27 06/30/2010 02:32 pm Manuel Franceschini

Introduce utils.IsValidIP{4,6}()

This patch introduces functions to check for valid IPv4 and IPv6
addresses and converts IsValidIP() to return True if it is either a IPv4
or a IPv6 address.

For now we do not change the functional behavior and replace IsValidIP...

fc0726b9 06/09/2010 12:40 pm Michael Hanselmann

cfgupgrade: Local variable for cluster-domain-secret filename

This is necessary to allow cfgupgrade to work on a non-standard directory.

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

f39cd91d 04/20/2010 07:26 pm Balazs Lecz

Merge branch 'devel-2.1'

Conflicts:
doc/security.rst
trivial
lib/cli.py
trivial

Signed-off-by: Balazs Lecz <>
Reviewed-by: Michael Hanselmann <>

39b0f0c2 04/16/2010 04:10 pm Balazs Lecz

Add --uid-pool option to gnt-cluster init

Signed-off-by: Balazs Lecz <>
Reviewed-by: Guido Trotter <>

af2ae1c0 04/16/2010 03:06 pm Iustin Pop

Merge branch 'devel-2.1'

  • devel-2.1:
    utils: Add class to split string stream into lines
    Fix cluster behaviour with disabled file storage
    Update docstrings in tools/ and enable epydoc
    Forward-port the ganeti 2.0 cfgupgrade
    Add a new tool: sanitize-config...
0e3baaf3 04/15/2010 05:37 pm Iustin Pop

Fix cluster behaviour with disabled file storage

There are a few issues with disabled file storage:
- cluster initialization is broken by default, as it uses the 'no'
setting which is not a valid path
- some other parts of the code require the file storage dir to be a...

aeefe835 04/15/2010 05:36 pm Iustin Pop

Fix cfgupgrade with non-default DATA_DIR

Commit 43575108 added bootstrap.GenerateclusterCrypto and commit
7506a7f1 changed cfgupgrade to use it. However, this lost the
functionality of upgrading in non-default DATA_DIR.

To fix this, we enhance bootstrap.GenerateclusterCrypto to accept custom...

e7a25b08 04/12/2010 12:36 pm Guido Trotter

Merge branch 'devel-2.1'

  • devel-2.1:
    burnin: only remove instances we actually added
    burnin.ExecOrQueue: add post-process function
    burnin.ExecOrQueue: remove variable argument list
    Fix new pylint errors
    Rename the confd_client unittest (to confd.client)...
3953242f 04/08/2010 06:50 pm Iustin Pop

Add a new cluster parameter maintain_node_health

This will be used to conditionally enable the watcher node maintenance
feature.

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

3db3eb2a 03/17/2010 05:18 pm Michael Hanselmann

Add cluster domain secret

Information exchanged between different clusters via untrusted
third parties (e.g. for remote instance import/export) must be
signed with a secret shared between all involved clusters to
ensure the third party doesn't modify the information....

084aba47 03/15/2010 07:00 pm Michael Hanselmann

Merge remote branch 'origin/devel-2.1'

  • origin/devel-2.1:
    Rightname confd's HMAC key
    Rename SSL_CERT_FILE to NODED_CERT_FILE
    Clarify the error message for ':' in PV names

Conflicts:
lib/bootstrap.py: Trivial
lib/constants.py: Trivial

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

168c1de2 03/15/2010 06:40 pm Michael Hanselmann

Rename SSL_CERT_FILE to NODED_CERT_FILE

To be consistent with RAPI_CERT_FILE, the rather generic named
“SSL_CERT_FILE” constant is renamed to “NODED_CERT_FILE”. The actual file
name is not changed.

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

6b7d5878 03/15/2010 06:40 pm Michael Hanselmann

Rightname confd's HMAC key

Currently, the ganeti-confd's HMAC key is called “cluster HMAC key” or
simply “HMAC key” everywhere. With the implementation of inter-cluster
instance moves, another HMAC key will be introduced for signing critical
data. They can not be the same, so this patch clarifies the purpose of the...