Iustin Pop [Tue, 4 Dec 2007 15:20:31 +0000 (15:20 +0000)]
Bump version numbers for 1.2.0 release
Reviewed-by: imsnah
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
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
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
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
Alexander Schreiber [Mon, 3 Dec 2007 14:32:24 +0000 (14:32 +0000)]
Fix the unittest for locking.
Reviewed-by: imsnah
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
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
Michael Hanselmann [Mon, 3 Dec 2007 13:54:33 +0000 (13:54 +0000)]
Remove DRBD version from SECURITY document.
Reviewed-by: schreiberal
Alexander Schreiber [Fri, 30 Nov 2007 13:15:47 +0000 (13:15 +0000)]
Remove orphaned closing tag.
Reviewed-by: iustinp
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
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
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
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
Iustin Pop [Wed, 28 Nov 2007 12:17:15 +0000 (12:17 +0000)]
Update version numbers for release 1.2b3
Reviewed-by: imsnah
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
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
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
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
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
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
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
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
Michael Hanselmann [Thu, 22 Nov 2007 14:11:26 +0000 (14:11 +0000)]
Call more hooks during QA tests.
Reviewed-by: schreiberal
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
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
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
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
Michael Hanselmann [Thu, 22 Nov 2007 12:17:07 +0000 (12:17 +0000)]
List loading hooks in QA.
Reviewed-by: schreiberal
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
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
Michael Hanselmann [Wed, 21 Nov 2007 16:57:28 +0000 (16:57 +0000)]
Flush stdout after printing a message during burnin.
Reviewed-by: iustinp
Michael Hanselmann [Wed, 21 Nov 2007 16:56:49 +0000 (16:56 +0000)]
Implement disk templates for burnin from QA.
Reviewed-by: iustinp
Michael Hanselmann [Wed, 21 Nov 2007 16:55:48 +0000 (16:55 +0000)]
Replace disk template drbd8 with drbd where missing.
Reviewed-by: iustinp
Michael Hanselmann [Wed, 21 Nov 2007 15:29:43 +0000 (15:29 +0000)]
Code style fixes for burnin.
Reviewed-by: iustinp
Michael Hanselmann [Wed, 21 Nov 2007 15:29:13 +0000 (15:29 +0000)]
Add two comments to qa-sample.yaml.
Reviewed-by: iustinp
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
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
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
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
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
Michael Hanselmann [Tue, 20 Nov 2007 09:17:58 +0000 (09:17 +0000)]
Add function to return list with unique elements.
Reviewed-by: ultrotter
Michael Hanselmann [Mon, 19 Nov 2007 18:38:14 +0000 (18:38 +0000)]
Add basic QA tests for DRBD 8.
Reviewed-by: schreiberal
Guido Trotter [Fri, 16 Nov 2007 18:36:23 +0000 (18:36 +0000)]
Fix a typo in a warning message
Reviewed-by: schreiberal
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
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
Michael Hanselmann [Fri, 16 Nov 2007 12:43:14 +0000 (12:43 +0000)]
Fix typo in function name.
Reviewed-by: schreiberal
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
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
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
Michael Hanselmann [Wed, 14 Nov 2007 15:56:03 +0000 (15:56 +0000)]
Use setUp/tearDown for tests using temporary files.
Reviewed-by: schreiberal
Michael Hanselmann [Wed, 14 Nov 2007 15:55:38 +0000 (15:55 +0000)]
Wrap line longer than 80 characters.
Reviewed-by: ultrotter
Michael Hanselmann [Wed, 14 Nov 2007 15:55:13 +0000 (15:55 +0000)]
Compare file contents directly in unittests.
Reviewed-by: schreiberal, ultrotter
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
Michael Hanselmann [Wed, 14 Nov 2007 14:05:08 +0000 (14:05 +0000)]
Create /var/run/ganeti directory on “make install”.
Reviewed-by: schreiberal
Michael Hanselmann [Tue, 13 Nov 2007 23:03:20 +0000 (23:03 +0000)]
Bump version numbers.
Reviewed-by: iustinp
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
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
Michael Hanselmann [Tue, 13 Nov 2007 19:30:52 +0000 (19:30 +0000)]
Fix call to TestInstanceConsecutiveFailures.
Reviewed-by: iustinp
Michael Hanselmann [Tue, 13 Nov 2007 15:39:49 +0000 (15:39 +0000)]
Fix unittests broken by revision 360.
Reviewed-by: schreiberal
Michael Hanselmann [Tue, 13 Nov 2007 15:04:01 +0000 (15:04 +0000)]
Fix --node option for “gnt-backup list”.
Reviewed-by: iustinp
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
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
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
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
Michael Hanselmann [Mon, 12 Nov 2007 17:03:50 +0000 (17:03 +0000)]
Rollback commit 356.
Michael Hanselmann [Mon, 12 Nov 2007 16:44:28 +0000 (16:44 +0000)]
Add functions for known_hosts files.
Reviewed-by: TODO
Michael Hanselmann [Mon, 12 Nov 2007 10:57:07 +0000 (10:57 +0000)]
Add missing descriptions to {Add,Remove}EtcHostsEntry.
Reviewed-by: schreiberal
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
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
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
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
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
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
Michael Hanselmann [Fri, 9 Nov 2007 14:54:29 +0000 (14:54 +0000)]
Use new functions to modify /etc/hosts.
Reviewed-by: schreiberal
Michael Hanselmann [Fri, 9 Nov 2007 14:53:53 +0000 (14:53 +0000)]
Add functions to modify /etc/hosts.
Reviewed-by: schreiberal
Michael Hanselmann [Fri, 9 Nov 2007 14:52:35 +0000 (14:52 +0000)]
Cleanup temporary file in RemoveAuthorizedKey.
Reviewed-by: schreiberal
Michael Hanselmann [Fri, 9 Nov 2007 13:03:22 +0000 (13:03 +0000)]
Fix usage of wrong variable in doc/examples/Makefile.am.
This makes “make distcheck” work again.
Reviewed-by: schreiberal
Iustin Pop [Thu, 8 Nov 2007 19:04:43 +0000 (19:04 +0000)]
Simplify burnin output
Currently, the burnin output is very verbose (we log the entire output
from LU feedback) and duplicate in some cases (as we enable debugging).
This patch disables debugging and only logs the burnin output when an
error occurs.
Reviewed-by: imsnah
Iustin Pop [Thu, 8 Nov 2007 19:04:23 +0000 (19:04 +0000)]
Changes related to logging
This patch modifes:
- mcpu.Processor.LogWarning to have its 'hint' parameter as optional
and only log it if not None
- cmdlib._WaitForSync to not log directly to stdout/stderr but via the
proc.Log(Info|Warning) methods
- the LU attribute 'processor' is renamed to 'proc' to shorten the
name
Reviewed-by: imsnah
Iustin Pop [Thu, 8 Nov 2007 19:02:42 +0000 (19:02 +0000)]
Refactor burnin to improve disk replacement
This patch changes the burnin:
- split the code into functions
- add replace2 (replace the secondary) for remote_raid1
- add replace1/2 for drbd8
Reviewed-by: imsnah
Michael Hanselmann [Thu, 8 Nov 2007 11:51:36 +0000 (11:51 +0000)]
Insert hook calls.
Reviewed-by: schreiberal
Michael Hanselmann [Thu, 8 Nov 2007 11:51:03 +0000 (11:51 +0000)]
Implement sample hook.
Reviewed-by: schreiberal
Michael Hanselmann [Thu, 8 Nov 2007 11:50:30 +0000 (11:50 +0000)]
Implement hooks infrastructure.
Reviewed-by: schreiberal
Iustin Pop [Wed, 7 Nov 2007 15:53:50 +0000 (15:53 +0000)]
Enhance secondary node replace for drbd8
This (big) patch does two things:
- add "local disk status" to the block device checks
(BlockDevice.GetSyncStatus and the rpc calls that call this
function, and therefore cmdlib._CheckDiskConsistency)
- improve the drbd8 secondary replace operation using the above
functionality
The "local disk status" adds a new variable to the result of
GetSyncStatus that shows the degradation of the local storage of the
device. Of course, not all device support this - for now, we only modify
LogicalVolumes and DRBD8 to return degraded in some cases, other devices
always return non-degraded. This variable should be a subset of
is_degraded - whenever this variable is true, the is_degraded should
also be true.
The drbd8 secondary replace uses this variable as we don't care if the
primary drbd device is network-degraded, only if it has good local disk
data (ldisk is False).
The patch also increases the protocol version (due to rpc changes).
Reviewed-by: imsnah
Michael Hanselmann [Wed, 7 Nov 2007 14:33:09 +0000 (14:33 +0000)]
Indentation fixes for docs.
Reviewed-by: schreiberal
Michael Hanselmann [Wed, 7 Nov 2007 12:39:20 +0000 (12:39 +0000)]
Update docs for the removed --secondary-node option.
Reviewed-by: ultrotter
Michael Hanselmann [Wed, 7 Nov 2007 11:48:30 +0000 (11:48 +0000)]
Check whether init.d script is executable.
Reviewed-by: schreiberal
Michael Hanselmann [Tue, 6 Nov 2007 17:04:58 +0000 (17:04 +0000)]
Adapt QA tests for removed --secondary-node option.
Michael Hanselmann [Tue, 6 Nov 2007 17:04:16 +0000 (17:04 +0000)]
Remove --secondary-node option.
Replace --secondary-node option with an optional parameter for --node.
Iustin Pop [Tue, 6 Nov 2007 17:01:42 +0000 (17:01 +0000)]
Enhance DBRD8 disk replacement (same nodes)
This patch adds enhanced reporting and much more checks to the disk
replacement (when not switching the secondary).
Reviewed-by: imsnah
Iustin Pop [Tue, 6 Nov 2007 17:01:32 +0000 (17:01 +0000)]
Implement degraded status for logical volumes
Logical volumes can be 'degraded' in a similar way to mirrored devices,
when their underlying storage has gone away (i.e. after a physical disk
failure and 'vgreduce --removemissing'). If we can detect this, we can
prevent mistaken replaces of disks that would use this LV (or its
parent) as source data.
This patch adds support for computing the degraded attribute and
modifies gnt-instance to warn if the LV is virtual.
Reviewed-by: imsnah
Iustin Pop [Tue, 6 Nov 2007 17:01:20 +0000 (17:01 +0000)]
Add better error logging functions for LUs
Currently, some LUs use logger.Error, others just feedback_fn, etc. This
patch adds three functions to mcpu.Processor than can be used to log
messages to both the log and to the user.
These function will be used to enhance the output of replace-disks for
drbd8 (at least).
Reviewed-by: imsnah
Iustin Pop [Tue, 6 Nov 2007 17:01:07 +0000 (17:01 +0000)]
Enhance mirror operations for DRBD8
Currently, the mirror operations (add and remove children) test against
the instance's attributes. This patch changes the check tests to work
against the actual status of the device (i.e. live data) which is more
realistic.
The changes are:
- allow add children if the device doesn't have local storage (even if
we believe it has)
- early return from remove children if the device is already without
local storage
Reviewed-by: imsnah
Iustin Pop [Tue, 6 Nov 2007 17:00:38 +0000 (17:00 +0000)]
Allow DRBD8 operation without backing storage
This patch adds the following functionality:
- DRBD8 devices can assemble without local storage (done by allowing
None in the list of children, and making DRBD8 to ignore all
children if any is None)
- DRBD8 devices can attach (i.e. identify a device) which is not
connected to backing storage but to the correct network ports; this
is a rare case in normal operation (it's what would happen if one
manually detaches the local disk, and the backing LV still exists)
Reviewed-by: imsnah
Iustin Pop [Tue, 6 Nov 2007 17:00:24 +0000 (17:00 +0000)]
Make DRBD8 disks show 'degraded' status if diskless
This patch enables the bdev.DRBD8 class report a degraded status if the
local disk is missing. This allows `gnt-instance info` to report the
actual situation in this case.
Note that DRBD7 should also behave like this, however the diskless case
is less often met there and we also don't want to change behaviour.
The patch also fixes some docstrings for the GetSyncStatus methods.
Reviewed-by: imsnah
Iustin Pop [Tue, 6 Nov 2007 17:00:13 +0000 (17:00 +0000)]
Change the way remove children is called in bdev
For some cases, we don't have to have access to the children of a device
in order to remove them (e.g. md over lvs, or drbd over lvs). In order
to ease the removal process, skip over finding the child if it provides
a static dev path.
This is needed in order to support removal of children when the
underlying storage has gone away.
Reviewed-by: imsnah
Iustin Pop [Tue, 6 Nov 2007 16:55:28 +0000 (16:55 +0000)]
Add a support function to objects.Disk
This patch adds a function returning the device path if it is computable
from the disk object (and we don't need to instantiate a bdev object on
the target node in order to compute this). Only LVs support this.
Reviewed-by: imsnah
Iustin Pop [Mon, 5 Nov 2007 21:22:22 +0000 (21:22 +0000)]
Small cleanup for error formatting
Reviewed-by: ultrotter
Iustin Pop [Mon, 5 Nov 2007 17:59:53 +0000 (17:59 +0000)]
Handle missing init script at cluster init
This patch adds a check in the prereq of LUInitCluster for the existence
of the init script. This allows a clean abort instead of a stack dump.
Based on a report by admin@steibei.net
Reviewed-by: ultrotter