ganeti-local
16 years agoFix ‘make distcheck’ breakage introduced in r455
Iustin Pop [Mon, 7 Jan 2008 16:34:19 +0000 (16:34 +0000)]
Fix ‘make distcheck’ breakage introduced in r455

This patch fixes the ‘make distcheck’ breakage caused by missing test data in
the archive and missing handling of builddir!=srcdir case.

Reviewed-by: schreiberal

16 years agoImprove verify-disks: broken/missing LV detection
Iustin Pop [Mon, 7 Jan 2008 13:30:29 +0000 (13:30 +0000)]
Improve verify-disks: broken/missing LV detection

This patch improves the ‘gnt-cluster verify-disks’ command by adding
support for detecting broken volume groups and missing logical volume
names.

As such, we don't try anymore to activate disks for instances that are
not likely to succeed anyway, and instead report them.

Reviewed-by: schreiberal

16 years agoActivate logical volumes at Assemble() time
Iustin Pop [Mon, 7 Jan 2008 13:29:02 +0000 (13:29 +0000)]
Activate logical volumes at Assemble() time

This patch changes the Assemble() method for logical volumes from a noop
to do a `lvchange -ay` on the logical volume; this ensures that if the
logical volume is not active, we are able to activate and use it.

Reviewed-by: imsnah

16 years agoImprove speed of activating block devs
Iustin Pop [Mon, 7 Jan 2008 13:28:13 +0000 (13:28 +0000)]
Improve speed of activating block devs

This patch fixes the double attach operation in bdev.AttachOrAssemble,
which was an indentation mistake in the first place.

Reviewed-by: imsnah

16 years agoAdd unittest for DRBD8 drdbsetup show parser
Iustin Pop [Mon, 7 Jan 2008 11:22:40 +0000 (11:22 +0000)]
Add unittest for DRBD8 drdbsetup show parser

This patch changes the bdev.DRBD8._GetDevInfo to take a string instead
of a minor, separates the `drbdsetup show` invocation into a new
separate method (bdev.DRBD8._GetShowData) and modifies the rest of the
DRBD8 class to make the appropriate calls.

It also adds a unittest script and data files for testing various cases
of device output.

Reviewed-by: imsnah

16 years agoDocument variable MAC support to gnt-instance.
Alexander Schreiber [Fri, 28 Dec 2007 10:05:49 +0000 (10:05 +0000)]
Document variable MAC support to gnt-instance.

Document the ability to set and change the MAC address for instances.

Reviewed-by: iustinp

16 years agoAllow instance MAC address to be set.
Alexander Schreiber [Thu, 27 Dec 2007 15:31:11 +0000 (15:31 +0000)]
Allow instance MAC address to be set.

Allow the MAC address of an instance to be specified optionally during
instance creation and later to be changed via instance modify.

Reviewed-by: iustinp

16 years agoHVM proof-of-concept documentation
Alexander Schreiber [Fri, 21 Dec 2007 14:00:15 +0000 (14:00 +0000)]
HVM proof-of-concept documentation

Update documentation to document the HVM proof-of-concept.

Reviewed-by: iustinp

16 years agoProof-of-Concept HVM support for Ganeti.
Alexander Schreiber [Thu, 20 Dec 2007 16:47:52 +0000 (16:47 +0000)]
Proof-of-Concept HVM support for Ganeti.

This patch implements a first proof-of-concept for HVM support in Ganeti.
Due to the nature of this patch, it is intended for test environments
only.

Reviewed-by: iustinp

16 years agoError handling for instance config file creation
Alexander Schreiber [Thu, 20 Dec 2007 13:59:30 +0000 (13:59 +0000)]
Error handling for instance config file creation

Wrap error handling around creating the instance config file.

Reviewed-by: iustinp

16 years agoUse a generic Xen hypervisor interface.
Alexander Schreiber [Thu, 20 Dec 2007 09:58:35 +0000 (09:58 +0000)]
Use a generic Xen hypervisor interface.

Abstract the parts of the Xen hypervisor interface shared by both PVM and
HVM into a generic interface, subclass the special case PVM from that.

Prepatch for adding HVM support.

Reviewed-by: iustinp

16 years agoMake utils.RunCmd() deal with interleaved stdout/stderr
Iustin Pop [Wed, 19 Dec 2007 11:11:05 +0000 (11:11 +0000)]
Make utils.RunCmd() deal with interleaved stdout/stderr

Currently, RunCmd is written with the assumption that programs will have
a small stderr output, therefore we read the child's stdout (which can
be big, so we don't want to block the child) and then the stderr (which
is small, so it shouldn't block).

However, with the ‘gnt-cluster verify-disks’ command, we ourselves
generate heavy stderr, therefore we break the ganeti-watcher which runs
the verify-disks via utils.RunCmd.

This patch turns the RunCmd command into an poll-based one, which means
any kind of interleaved output by a child on stdout/stderr will be
handled correctly. Of course, since the output is buffered in memory,
there are other ways to break RunCmd(). But at least this should fix the
common case.

Reviewed-by: hansmi

16 years agoInternal API change for instance console access.
Alexander Schreiber [Tue, 18 Dec 2007 14:25:31 +0000 (14:25 +0000)]
Internal API change for instance console access.

Change the internal hypervisor API for GetShellCommandForConsole, we
now call it with the instance instead of just the instance name.

This is a prep patch for HVM, since HVM needs more than just the instance
name to determine a way of console access.

(this is a resend due to mail adress tyop)

Reviewed-by: iustinp

16 years agocleanup for hypervisor constants
Alexander Schreiber [Tue, 18 Dec 2007 14:05:11 +0000 (14:05 +0000)]
cleanup for hypervisor constants

Move constant definitions for hypervisor into constants.py

Reviewed-by: ultrotter

16 years agoSpecify hint as a named argument
Guido Trotter [Tue, 18 Dec 2007 11:04:36 +0000 (11:04 +0000)]
Specify hint as a named argument

hint is declared as a named argument for the LogWarning function. Make its
caller pass it naming it.

Reviewed-by: iustinp

16 years agoAdd instance port support.
Alexander Schreiber [Mon, 17 Dec 2007 14:53:35 +0000 (14:53 +0000)]
Add instance port support.

Extends the instance object by adding a port item, also adds changes
to print this port via gnt-instance info.

Reviewed-by: iustinp

16 years agoMake note about minimum version of drbd 8 required
Iustin Pop [Mon, 17 Dec 2007 14:50:23 +0000 (14:50 +0000)]
Make note about minimum version of drbd 8 required

Since 8.0.6 and lower have issues that break Ganeti's usage of drbd,
this patch notes the required version of DRBD.

Reviewed-by: ultrotter

16 years agoHandle ^C while trying to acquire the lock
Iustin Pop [Wed, 12 Dec 2007 15:18:10 +0000 (15:18 +0000)]
Handle ^C while trying to acquire the lock

When waiting for the lock and pressing ^C, the user will get a backtrace
as the KeyboardInterrupt exception is not handled. The patch adds a
simple method of handling it.

Note that this is not about ^C in any other place.

Reviewed-by: schreiberal,imsnah

16 years agoUpdate the man page for ‘gnt-cluster’
Iustin Pop [Wed, 12 Dec 2007 13:13:49 +0000 (13:13 +0000)]
Update the man page for ‘gnt-cluster’

This adds some information about the new ‘verify-disks’ command.

Reviewed-by: imsnah

16 years agoModify ‘ganeti-watcher’ to run verify-disks
Iustin Pop [Wed, 12 Dec 2007 13:13:38 +0000 (13:13 +0000)]
Modify ‘ganeti-watcher’ to run verify-disks

This patch modifies the watcher to run the ‘gnt-cluster verify-disks’
command and to log its output (if any).

Reviewed-by: imsnah

16 years agoAdd the ‘gnt-cluster verify-disks’ command
Iustin Pop [Wed, 12 Dec 2007 13:13:27 +0000 (13:13 +0000)]
Add the ‘gnt-cluster verify-disks’ command

This patch adds the OpVerifyDisks handling in mcpu.py and the
verify-disks command in the gnt-cluster script, which for every instance
computed by LUVerifyDisks submits a new OpActivateInstanceDisks request.

Reviewed-by: imsnah

16 years agoAdd LUVerifyDisks
Iustin Pop [Wed, 12 Dec 2007 13:13:13 +0000 (13:13 +0000)]
Add LUVerifyDisks

This patch adds a new LUVerifyDisks that implements the OpVerifyDisks.
The algorithm is that by determining not-used logical volumes for
instances that are supposed to be running, we presume from there that
the DRBD devices are not online and therefore one should
‘activate-disks’ for those instances.

Reviewed-by: imsnah

16 years agoAdd a new OpVerifyDisks opcode
Iustin Pop [Wed, 12 Dec 2007 13:13:02 +0000 (13:13 +0000)]
Add a new OpVerifyDisks opcode

This patch adds the definition of a new opcode that will be used to
compute the list of instances with not-online disks.

Reviewed-by: imsnah

16 years agoReturn more data in rpc.call_volume_list
Iustin Pop [Tue, 11 Dec 2007 16:25:02 +0000 (16:25 +0000)]
Return more data in rpc.call_volume_list

Currently, the volume_list call returns only the volume size. However,
it is useful to also have two other things: the 'inactive' state of the
volume (which might trigger a ‘vgchange -a y’ on the volume group) and
the online state (which shows if the volume is in use or not).

Since this modifies an RPC call, we also bump the protocol version,
although the single user of the call didn't care about the dictionary
values, only about the keys.

Reviewed-by: imsnah

16 years agoBump version numbers for 1.2.0 release
Iustin Pop [Tue, 4 Dec 2007 15:20:31 +0000 (15:20 +0000)]
Bump version numbers for 1.2.0 release

Reviewed-by: imsnah

16 years agoOn OS creation errors, write logfile path to ganeti-noded's logfile.
Michael Hanselmann [Tue, 4 Dec 2007 11:21:58 +0000 (11:21 +0000)]
On OS creation errors, write logfile path to ganeti-noded's logfile.

Reviewed-by: schreiberal

16 years agoOutput reading fix for backend.NodeVolumes()
Alexander Schreiber [Tue, 4 Dec 2007 11:18:42 +0000 (11:18 +0000)]
Output reading fix for backend.NodeVolumes()

Use result.stdout instead of result.output to avoid potential confusion
by merged in error messages from stderr.

Reviewed-by: iustinp

16 years agoLog instance startup errors correctly
Iustin Pop [Tue, 4 Dec 2007 11:04:53 +0000 (11:04 +0000)]
Log instance startup errors correctly

Currently, the Hypervisor error raised on ‘xm create’ failure doesn't
contain the actual output from the command, thus what we log to the node
daemon log is not helpful enough. This patch fixes that.

Reviewed-by: schreiberal

16 years agoModify GetVolumeList so output on stderr from lvs doesn't break it.
Alexander Schreiber [Tue, 4 Dec 2007 10:37:08 +0000 (10:37 +0000)]
Modify GetVolumeList so output on stderr from lvs doesn't break it.

Reviewed-by: imsnah

16 years agoFix the unittest for locking.
Alexander Schreiber [Mon, 3 Dec 2007 14:32:24 +0000 (14:32 +0000)]
Fix the unittest for locking.

Reviewed-by: imsnah

16 years agoVarious code style fixes for strings.
Michael Hanselmann [Mon, 3 Dec 2007 14:03:26 +0000 (14:03 +0000)]
Various code style fixes for strings.

- When line wrapping is needed, move spaces to the next line.
- Remove embedded line breaks from error messages.

Reviewed-by: schreiberal

16 years agoAdd comment about PEP 318 to qa_utils.py.
Michael Hanselmann [Mon, 3 Dec 2007 13:54:56 +0000 (13:54 +0000)]
Add comment about PEP 318 to qa_utils.py.

Reviewed-by: iustinp

16 years agoRemove DRBD version from SECURITY document.
Michael Hanselmann [Mon, 3 Dec 2007 13:54:33 +0000 (13:54 +0000)]
Remove DRBD version from SECURITY document.

Reviewed-by: schreiberal

16 years agoRemove orphaned closing tag.
Alexander Schreiber [Fri, 30 Nov 2007 13:15:47 +0000 (13:15 +0000)]
Remove orphaned closing tag.

Reviewed-by: iustinp

16 years agoFix parsing of drbdsetup show output
Iustin Pop [Fri, 30 Nov 2007 10:22:56 +0000 (10:22 +0000)]
Fix parsing of drbdsetup show output

This fixes the parsing of integers in the drbdsetup show output with
newer pyparsing versions.

Basically, the convert-to-int action that we use was taken from the
example documentation of an older pyparsing version that automatically
uses only the second element if the result is returned as a tuple, but
this was deprecated for a while and removed in 1.4.3.

Based on a nice report by Jorge Cabello <jorge@aspl.es>, and
confirmation about pyparsing behaviour from its author. Thanks!

Reviewed-by: imsnah

16 years agoReplace hardcoded lock dir
Iustin Pop [Thu, 29 Nov 2007 16:52:22 +0000 (16:52 +0000)]
Replace hardcoded lock dir

This patch replaces the hardcoded ‘/var/lock/’ directory with one based on
LOCALSTATEDIR.

Reviewed-by: imsnah

16 years agoMake utils.RunCmd log failures when using debug
Iustin Pop [Thu, 29 Nov 2007 16:03:23 +0000 (16:03 +0000)]
Make utils.RunCmd log failures when using debug

This patch adds logging of command failures to the debug log in case the
user either started the command (gnt-*) or the node daemon with the
debug flag.

Reviewed-by: imsnah

16 years agoFix the ganeti-os-interface manpage
Guido Trotter [Wed, 28 Nov 2007 18:35:21 +0000 (18:35 +0000)]
Fix the ganeti-os-interface manpage

lexgrog cannot parse the current ganeti-os-interface.7 manpage, which in turn
leads to a lintian warning. In order to fix this the NAME section must have the
standard format which doesn't allow multiple words in the first field.

Reviewed-by: iustinp

16 years agoUpdate version numbers for release 1.2b3 v1.2b3
Iustin Pop [Wed, 28 Nov 2007 12:17:15 +0000 (12:17 +0000)]
Update version numbers for release 1.2b3

Reviewed-by: imsnah

16 years agoFix logging of some checks in LUClusterVerify
Iustin Pop [Tue, 27 Nov 2007 14:15:17 +0000 (14:15 +0000)]
Fix logging of some checks in LUClusterVerify

Currently, the results of ConfigWriter.VerifyConfig() are lost. Make
sure we log them too in cluster verify.

Reviewed-by: ultrotter

16 years agoUpdate install.sgml with the name of the example OS
Iustin Pop [Tue, 27 Nov 2007 13:07:44 +0000 (13:07 +0000)]
Update install.sgml with the name of the example OS

We want the name of the example OS to be nicer for packagers, so update
the install documentation accordingly.

Also, put in a notice about using the latest release OS version, so if
we forget to update this doc, we are not completely wrong.

Reviewed-by: schreiberal

16 years agoRevert "Remove extra docdir variable from Makefile.am"
Iustin Pop [Mon, 26 Nov 2007 16:00:03 +0000 (16:00 +0000)]
Revert "Remove extra docdir variable from Makefile.am"

This reverts commit 397, as the support in autoconf for docdir is
present since 2.59c, and this is too new for some distributions.

Reviewed-by: imsnah

16 years agoAdd checking of python modules at ./configure time
Iustin Pop [Mon, 26 Nov 2007 15:48:37 +0000 (15:48 +0000)]
Add checking of python modules at ./configure time

This patch adds checking for our external python modules at the
./configure stage, as it's better to check than rely on documentation.

The patch adds one autoconf macro from the autoconf macro archive
(http://autoconf-archive.cryp.to)

Reviewed-by: imsnah

16 years agoDrop the Rename method of DRBD8 devices
Iustin Pop [Mon, 26 Nov 2007 08:39:02 +0000 (08:39 +0000)]
Drop the Rename method of DRBD8 devices

Since we now do changes of remote peers in two steps (Attach with no
network information and then Attach with the new peer's data), we don't
need this operation anymore.

Reviewed-by: imsnah

16 years agoSplit the change of peer in secondary replace in two operations
Iustin Pop [Mon, 26 Nov 2007 08:38:47 +0000 (08:38 +0000)]
Split the change of peer in secondary replace in two operations

This patch splits the single operation of replace peer into two distinct
phases, in order to make a single change to the instance configuration:
  - detach from network
  - if at least one drbd device succeeded, make one change to the
    instance, pointing all disks to the new peer
  - attach to the new peer

This should eliminate the case when a failure in the second reattach can
leave the instance with two secondaries.

Reviewed-by: imsnah

16 years agoRelax even more the identification of DRBD8 devices
Iustin Pop [Mon, 26 Nov 2007 08:38:32 +0000 (08:38 +0000)]
Relax even more the identification of DRBD8 devices

This patch adds a new success condition for identifying DRBD8 devices:
if the local device is correct, but the network peer is not, we shutdown
the network and attach to the correct one (this also handles going to
standalone mode).

This new check (and its actions) is based on the fact that we don't pass
incorrect data from the master to the node (otherwise we could start
syncing with an incorrect peer.

Reviewed-by: imsnah

16 years agoAdd support for DRBD8 devices to work standalone
Iustin Pop [Mon, 26 Nov 2007 08:38:12 +0000 (08:38 +0000)]
Add support for DRBD8 devices to work standalone

This patch adds a check in _AssembleNet so that if we are passed None
value in the unique_id, we instead switch to standalone mode.

Reviewed-by: imsnah

16 years agoCall more hooks during QA tests.
Michael Hanselmann [Thu, 22 Nov 2007 14:11:26 +0000 (14:11 +0000)]
Call more hooks during QA tests.

Reviewed-by: schreiberal

16 years agoSort list returned by ListVisibleFiles.
Michael Hanselmann [Thu, 22 Nov 2007 14:10:53 +0000 (14:10 +0000)]
Sort list returned by ListVisibleFiles.

If we didn't sort this list, files would be in arbitrary order.

Reviewed-by: iustinp

16 years agoAdd man page for the ganeti-master script
Iustin Pop [Thu, 22 Nov 2007 13:51:35 +0000 (13:51 +0000)]
Add man page for the ganeti-master script

This patch adds a simple man page for the master startup script and
modifies the footer.sgml fragment to include it.

Reviewed-by: imsnah

16 years agoCreate /var/run/ganeti before noded startup
Iustin Pop [Thu, 22 Nov 2007 13:51:17 +0000 (13:51 +0000)]
Create /var/run/ganeti before noded startup

The /var/run directory can be a tmpfs mount, so even if we make it at
install time (or include it in the package) it can go away. Therefore,
test for its existence and create it in the startup script.

Reviewed-by: imsnah

16 years agoRemove extra docdir variable from Makefile.am
Iustin Pop [Thu, 22 Nov 2007 13:51:02 +0000 (13:51 +0000)]
Remove extra docdir variable from Makefile.am

The docdir variable is defined by autoconf, so we don't need to define
it ourselves. This way, the target documentation directory can
be changed via ./configure instead of patching Makefile.am.

In truth, we should install the pdf and html files using the pdf and
html targets, since configure defines pdfdir=htmldir=docdir; but
installing them in docdir is good enough.

Reviewed-by: imsnah

16 years agoList loading hooks in QA.
Michael Hanselmann [Thu, 22 Nov 2007 12:17:07 +0000 (12:17 +0000)]
List loading hooks in QA.

Reviewed-by: schreiberal

16 years agoAdd hook for logging.
Michael Hanselmann [Thu, 22 Nov 2007 11:25:45 +0000 (11:25 +0000)]
Add hook for logging.

This may help to debug problems in QA tests.

Reviewed-by: schreiberal

16 years agoAbort if tests for disk templates remote_raid1 and drbd are enabled.
Michael Hanselmann [Wed, 21 Nov 2007 16:58:01 +0000 (16:58 +0000)]
Abort if tests for disk templates remote_raid1 and drbd are enabled.

Reviewed-by: iustinp

16 years agoFlush stdout after printing a message during burnin.
Michael Hanselmann [Wed, 21 Nov 2007 16:57:28 +0000 (16:57 +0000)]
Flush stdout after printing a message during burnin.

Reviewed-by: iustinp

16 years agoImplement disk templates for burnin from QA.
Michael Hanselmann [Wed, 21 Nov 2007 16:56:49 +0000 (16:56 +0000)]
Implement disk templates for burnin from QA.

Reviewed-by: iustinp

16 years agoReplace disk template drbd8 with drbd where missing.
Michael Hanselmann [Wed, 21 Nov 2007 16:55:48 +0000 (16:55 +0000)]
Replace disk template drbd8 with drbd where missing.

Reviewed-by: iustinp

16 years agoCode style fixes for burnin.
Michael Hanselmann [Wed, 21 Nov 2007 15:29:43 +0000 (15:29 +0000)]
Code style fixes for burnin.

Reviewed-by: iustinp

16 years agoAdd two comments to qa-sample.yaml.
Michael Hanselmann [Wed, 21 Nov 2007 15:29:13 +0000 (15:29 +0000)]
Add two comments to qa-sample.yaml.

Reviewed-by: iustinp

16 years agoFix logging in drbd _ShutdownNet method
Iustin Pop [Wed, 21 Nov 2007 11:34:36 +0000 (11:34 +0000)]
Fix logging in drbd _ShutdownNet method

We didn't test for failure, just always logged the output.

Reviewed-by: imsnah

16 years agoCorrect the -s parameter in gnt-node output
Iustin Pop [Wed, 21 Nov 2007 09:36:42 +0000 (09:36 +0000)]
Correct the -s parameter in gnt-node output

This fixed the previous commit (-s => -s ip).

Reviewed-by: ultrotter

16 years agoAdd the -s option in the output of 'gnt-node'
Iustin Pop [Wed, 21 Nov 2007 09:15:39 +0000 (09:15 +0000)]
Add the -s option in the output of 'gnt-node'

Since on dual-homed clusters one always needs to add '-s' to the
gnt-node add command, make this appear in the output of 'gnt-node' (when
run without arguments).

Reviewed-by: imsnah

16 years agoAdd description of “gnt-instance startup --force” to manpage.
Michael Hanselmann [Tue, 20 Nov 2007 14:49:34 +0000 (14:49 +0000)]
Add description of “gnt-instance startup --force” to manpage.

This was reported by Henning Sprang in issue #14. Also add a missing word
in the description of “gnt-instance reboot”.

Reviewed-by: iustinp

16 years agoMake sure aliases written to /etc/hosts are unique.
Michael Hanselmann [Tue, 20 Nov 2007 09:18:27 +0000 (09:18 +0000)]
Make sure aliases written to /etc/hosts are unique.

Reviewed-by: iustinp

16 years agoAdd function to return list with unique elements.
Michael Hanselmann [Tue, 20 Nov 2007 09:17:58 +0000 (09:17 +0000)]
Add function to return list with unique elements.

Reviewed-by: ultrotter

16 years agoAdd basic QA tests for DRBD 8.
Michael Hanselmann [Mon, 19 Nov 2007 18:38:14 +0000 (18:38 +0000)]
Add basic QA tests for DRBD 8.

Reviewed-by: schreiberal

16 years agoFix a typo in a warning message
Guido Trotter [Fri, 16 Nov 2007 18:36:23 +0000 (18:36 +0000)]
Fix a typo in a warning message

Reviewed-by: schreiberal

16 years agoDon't remove master's hostname from /etc/hosts on cluster destroy.
Michael Hanselmann [Fri, 16 Nov 2007 14:28:53 +0000 (14:28 +0000)]
Don't remove master's hostname from /etc/hosts on cluster destroy.

This fixes issue #13.

Reviewed-by: schreiberal

16 years agoUse spaces to indent and fix typo in tag.
Michael Hanselmann [Fri, 16 Nov 2007 14:28:14 +0000 (14:28 +0000)]
Use spaces to indent and fix typo in tag.

Reviewed-by: schreiberal

16 years agoFix typo in function name.
Michael Hanselmann [Fri, 16 Nov 2007 12:43:14 +0000 (12:43 +0000)]
Fix typo in function name.

Reviewed-by: schreiberal

16 years agoSuggest disabling of automatic xen domain save
Guido Trotter [Thu, 15 Nov 2007 06:08:35 +0000 (06:08 +0000)]
Suggest disabling of automatic xen domain save

By default xen tries to save running virtual machines at system shutdown and
restore them at reboot. Make sure we suggest to disable this feature in the
installation manual.

Reviewed-by: iustinp

16 years agoComplete the apt-get list in the install manual
Guido Trotter [Thu, 15 Nov 2007 06:04:31 +0000 (06:04 +0000)]
Complete the apt-get list in the install manual

The install manual was missing python-pyparsing and python-simplejson from the
apt-get install list. Adding them.

Thanks to Henning Sprang for spotting this issue.

Reviewed-by: iustinp

16 years agoWhen an assembly error occurs log it too
Guido Trotter [Wed, 14 Nov 2007 21:52:44 +0000 (21:52 +0000)]
When an assembly error occurs log it too

Right now an assembly error produces an exception but not a log message. This
is bad because the exception suggests looking at the log, but the log itself
has a lot of errors which are not really a problem and only some which really
is. In order to make it clear where in the log the problem occurred we log a
message too, before raising the exception.

Reviewed-by: iustinp

16 years agoUse setUp/tearDown for tests using temporary files.
Michael Hanselmann [Wed, 14 Nov 2007 15:56:03 +0000 (15:56 +0000)]
Use setUp/tearDown for tests using temporary files.

Reviewed-by: schreiberal

16 years agoWrap line longer than 80 characters.
Michael Hanselmann [Wed, 14 Nov 2007 15:55:38 +0000 (15:55 +0000)]
Wrap line longer than 80 characters.

Reviewed-by: ultrotter

16 years agoCompare file contents directly in unittests.
Michael Hanselmann [Wed, 14 Nov 2007 15:55:13 +0000 (15:55 +0000)]
Compare file contents directly in unittests.

Reviewed-by: schreiberal, ultrotter

16 years agoGive more details on errors when trying to run “lvdisplay”.
Michael Hanselmann [Wed, 14 Nov 2007 14:05:26 +0000 (14:05 +0000)]
Give more details on errors when trying to run “lvdisplay”.

Reviewed-by: schreiberal

16 years agoCreate /var/run/ganeti directory on “make install”.
Michael Hanselmann [Wed, 14 Nov 2007 14:05:08 +0000 (14:05 +0000)]
Create /var/run/ganeti directory on “make install”.

Reviewed-by: schreiberal

16 years agoBump version numbers. v1.2b2
Michael Hanselmann [Tue, 13 Nov 2007 23:03:20 +0000 (23:03 +0000)]
Bump version numbers.

Reviewed-by: iustinp

16 years agoRun ganeti-watcher script from QA code instead of cron.
Michael Hanselmann [Tue, 13 Nov 2007 19:31:54 +0000 (19:31 +0000)]
Run ganeti-watcher script from QA code instead of cron.

This makes the tests much more reliably because it avoids race conditions.
It also helps to speed them up a lot.

Reviewed-by: iustinp

16 years agoSmall changes and fixes in ganeti-watcher.
Michael Hanselmann [Tue, 13 Nov 2007 19:31:25 +0000 (19:31 +0000)]
Small changes and fixes in ganeti-watcher.

- Use constants for keys.
- Fix bug through which automatic instance restarts wouldn't be limited

Reviewed-by: iustinp

16 years agoFix call to TestInstanceConsecutiveFailures.
Michael Hanselmann [Tue, 13 Nov 2007 19:30:52 +0000 (19:30 +0000)]
Fix call to TestInstanceConsecutiveFailures.

Reviewed-by: iustinp

16 years agoFix unittests broken by revision 360.
Michael Hanselmann [Tue, 13 Nov 2007 15:39:49 +0000 (15:39 +0000)]
Fix unittests broken by revision 360.

Reviewed-by: schreiberal

16 years agoFix --node option for “gnt-backup list”.
Michael Hanselmann [Tue, 13 Nov 2007 15:04:01 +0000 (15:04 +0000)]
Fix --node option for “gnt-backup list”.

Reviewed-by: iustinp

16 years agoFix a wrong comparison in _RecursiveAssembleBD
Iustin Pop [Mon, 12 Nov 2007 23:11:48 +0000 (23:11 +0000)]
Fix a wrong comparison in _RecursiveAssembleBD

We want to prevent sending too many 'None' children to a device.
However, the test as it is today is wrong, as we want to test the
situation after adding a new child, and not before. This patch fixes
this by testing greater-or-equal instead of just greater.

Reviewed-by: imsnah

16 years agoFix another breakage in SetEtcHostsEntry
Iustin Pop [Mon, 12 Nov 2007 23:11:25 +0000 (23:11 +0000)]
Fix another breakage in SetEtcHostsEntry

The code assumes all lines have at least two elements which are
whitespace separated - i.e. it does not deal with empty lines or comment
lines with no spaces. This patch fixes this.

Also, the patch replaces the blank between IP and the canonical name
with a tab (restoring previous behaviour).

Reviewed-by: imsnah

16 years agoCall fsync() after modifying /etc/hosts.
Michael Hanselmann [Mon, 12 Nov 2007 17:10:18 +0000 (17:10 +0000)]
Call fsync() after modifying /etc/hosts.

This is a critical file. Breaking it would be very bad. Thus, if the system
crashes before the data is synched to the disk, it should have the complete
file afterwards.

Reviewed-by: iustinp

16 years agoFix functions for /etc/hosts.
Michael Hanselmann [Mon, 12 Nov 2007 17:09:49 +0000 (17:09 +0000)]
Fix functions for /etc/hosts.

- Combine hostname and aliases on one line
- Fix bug with wrongfully removed newline characters
- Use wrapper for SetEtcHostsEntry in cmdlib

Reviewed-by: iustin

16 years agoRollback commit 356.
Michael Hanselmann [Mon, 12 Nov 2007 17:03:50 +0000 (17:03 +0000)]
Rollback commit 356.

16 years agoAdd functions for known_hosts files.
Michael Hanselmann [Mon, 12 Nov 2007 16:44:28 +0000 (16:44 +0000)]
Add functions for known_hosts files.

Reviewed-by: TODO

16 years agoAdd missing descriptions to {Add,Remove}EtcHostsEntry.
Michael Hanselmann [Mon, 12 Nov 2007 10:57:07 +0000 (10:57 +0000)]
Add missing descriptions to {Add,Remove}EtcHostsEntry.

Reviewed-by: schreiberal

16 years agoRelax replace_disks_all meaning for drbd8
Iustin Pop [Mon, 12 Nov 2007 03:56:03 +0000 (03:56 +0000)]
Relax replace_disks_all meaning for drbd8

In order to make the replace secondary action to be done via the same
opcode parameters for both remote_raid1 and drbd, we must allow the
LUReplaceDisks to change replace_disks_all for drbd with non-empty
remote_node into replace_disks_sec.

This fixes gnt-node evacuate and also allows gnt-instace replace-disks
to have the same syntax for both remote_raid1 and drbd (when replacing
the secondary).

Reviewed-by: ultrotter

16 years agoChange --nodes to --node
Guido Trotter [Mon, 12 Nov 2007 03:36:06 +0000 (03:36 +0000)]
Change --nodes to --node

The --nodes option in gnt-backup really accepts only one node at a time.
Change it to --node, for added clarity and consistency with a similar
option in gnt-cluster. This patch also updates the relevant man page.

Reviewed-By: iustinp

16 years agoUpdate documentation for drbd8 and beta2 release
Iustin Pop [Mon, 12 Nov 2007 01:19:50 +0000 (01:19 +0000)]
Update documentation for drbd8 and beta2 release

This patch does:
  - add drbd8 information to the docs (the new disk template, examples,
    etc.)
  - fixes a section header to make it more clear
  - update the NEWS file by changing format (format taken by looking at
    /usr/sharea/doc/*/NEWS.gz) and adding more information on changes
    since beta1

Reviewed-by: ultrotter

16 years agoFix gnt-instance man page for replace-disks
Iustin Pop [Sat, 10 Nov 2007 18:05:56 +0000 (18:05 +0000)]
Fix gnt-instance man page for replace-disks

This patch documents the new syntax for disk changes with the drbd disk
template.

Reviewed-by: ultrotter

16 years agoImprove the man pages
Iustin Pop [Sat, 10 Nov 2007 17:54:39 +0000 (17:54 +0000)]
Improve the man pages

This patch does some small fixes to the man pages and adds descriptions
for a few missing options.

Reviewed-by: ultrotter

16 years agoSoften the requirements for hooks execution
Iustin Pop [Fri, 9 Nov 2007 20:13:33 +0000 (20:13 +0000)]
Soften the requirements for hooks execution

Currently, an unreachable node (or one that return undetermined failure)
in the hooks pre-phase will abort the curren operation. This is not
good, as a down node could prevent many operation on the cluster.

This patch changes a RPC-level failure (and not a hook execution
failure) into a warning. It also modifies the related test cases.

This fixes issue 11.

Reviewed-by: ultrotter

16 years agoUse new functions to modify /etc/hosts.
Michael Hanselmann [Fri, 9 Nov 2007 14:54:29 +0000 (14:54 +0000)]
Use new functions to modify /etc/hosts.

Reviewed-by: schreiberal

16 years agoAdd functions to modify /etc/hosts.
Michael Hanselmann [Fri, 9 Nov 2007 14:53:53 +0000 (14:53 +0000)]
Add functions to modify /etc/hosts.

Reviewed-by: schreiberal