Add support for modifying the kernel/initrd path
This patch adds support in ‘gnt-instance modify’ to set the kernel andinitrd paths. The user can pass either 'default' or 'none' (none is notvalid for kernel).
Reviewed-by: imsnah
Add kernel/initrd paths to the instance object
This patch adds two new attributes to the instance object: - kernel_path - object_path
The code ignores them and the configuration handling is not broken bythis addition.
Fix a typo in the ‘gnt-instance’ manpage
Reviewed-by: schreiberal
Fix ‘make distcheck’ breakage introduced in r455
This patch fixes the ‘make distcheck’ breakage caused by missing test data inthe archive and missing handling of builddir!=srcdir case.
Improve verify-disks: broken/missing LV detection
This patch improves the ‘gnt-cluster verify-disks’ command by addingsupport for detecting broken volume groups and missing logical volumenames.
As such, we don't try anymore to activate disks for instances that are...
Activate logical volumes at Assemble() time
This patch changes the Assemble() method for logical volumes from a noopto do a `lvchange -ay` on the logical volume; this ensures that if thelogical volume is not active, we are able to activate and use it....
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.
Add unittest for DRBD8 drdbsetup show parser
This patch changes the bdev.DRBD8._GetDevInfo to take a string insteadof a minor, separates the `drbdsetup show` invocation into a newseparate method (bdev.DRBD8._GetShowData) and modifies the rest of theDRBD8 class to make the appropriate calls....
Document variable MAC support to gnt-instance.
Document the ability to set and change the MAC address for instances.
Reviewed-by: iustinp
Allow instance MAC address to be set.
Allow the MAC address of an instance to be specified optionally duringinstance creation and later to be changed via instance modify.
HVM proof-of-concept documentation
Update documentation to document the HVM proof-of-concept.
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 environmentsonly.
Error handling for instance config file creation
Wrap error handling around creating the instance config file.
Use a generic Xen hypervisor interface.
Abstract the parts of the Xen hypervisor interface shared by both PVM andHVM into a generic interface, subclass the special case PVM from that.
Prepatch for adding HVM support.
Make utils.RunCmd() deal with interleaved stdout/stderr
Currently, RunCmd is written with the assumption that programs will havea small stderr output, therefore we read the child's stdout (which canbe big, so we don't want to block the child) and then the stderr (which...
Internal API change for instance console access.
Change the internal hypervisor API for GetShellCommandForConsole, wenow 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...
cleanup for hypervisor constants
Move constant definitions for hypervisor into constants.py
Reviewed-by: ultrotter
Specify hint as a named argument
hint is declared as a named argument for the LogWarning function. Make itscaller pass it naming it.
Add instance port support.
Extends the instance object by adding a port item, also adds changesto print this port via gnt-instance info.
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.
Handle ^C while trying to acquire the lock
When waiting for the lock and pressing ^C, the user will get a backtraceas the KeyboardInterrupt exception is not handled. The patch adds asimple method of handling it.
Note that this is not about ^C in any other place....
Update the man page for ‘gnt-cluster’
This adds some information about the new ‘verify-disks’ command.
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).
Add the ‘gnt-cluster verify-disks’ command
This patch adds the OpVerifyDisks handling in mcpu.py and theverify-disks command in the gnt-cluster script, which for every instancecomputed by LUVerifyDisks submits a new OpActivateInstanceDisks request.
Add LUVerifyDisks
This patch adds a new LUVerifyDisks that implements the OpVerifyDisks.The algorithm is that by determining not-used logical volumes forinstances that are supposed to be running, we presume from there thatthe DRBD devices are not online and therefore one should...
Add a new OpVerifyDisks opcode
This patch adds the definition of a new opcode that will be used tocompute the list of instances with not-online disks.
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 thevolume (which might trigger a ‘vgchange -a y’ on the volume group) and...
Bump version numbers for 1.2.0 release
On OS creation errors, write logfile path to ganeti-noded's logfile.
Output reading fix for backend.NodeVolumes()
Use result.stdout instead of result.output to avoid potential confusionby merged in error messages from stderr.
Log instance startup errors correctly
Currently, the Hypervisor error raised on ‘xm create’ failure doesn'tcontain the actual output from the command, thus what we log to the nodedaemon log is not helpful enough. This patch fixes that.
Modify GetVolumeList so output on stderr from lvs doesn't break it.
Fix the unittest for locking.
Various code style fixes for strings.
- When line wrapping is needed, move spaces to the next line.- Remove embedded line breaks from error messages.
Add comment about PEP 318 to qa_utils.py.
Remove DRBD version from SECURITY document.
Remove orphaned closing tag.
Fix parsing of drbdsetup show output
This fixes the parsing of integers in the drbdsetup show output withnewer pyparsing versions.
Basically, the convert-to-int action that we use was taken from theexample documentation of an older pyparsing version that automatically...
Replace hardcoded lock dir
This patch replaces the hardcoded ‘/var/lock/’ directory with one based onLOCALSTATEDIR.
Make utils.RunCmd log failures when using debug
This patch adds logging of command failures to the debug log in case theuser either started the command (gnt-*) or the node daemon with thedebug flag.
Fix the ganeti-os-interface manpage
lexgrog cannot parse the current ganeti-os-interface.7 manpage, which in turnleads to a lintian warning. In order to fix this the NAME section must have thestandard format which doesn't allow multiple words in the first field....
Update version numbers for release 1.2b3
Fix logging of some checks in LUClusterVerify
Currently, the results of ConfigWriter.VerifyConfig() are lost. Makesure we log them too in cluster verify.
Update install.sgml with the name of the example OS
We want the name of the example OS to be nicer for packagers, so updatethe install documentation accordingly.
Also, put in a notice about using the latest release OS version, so ifwe forget to update this doc, we are not completely wrong....
Revert "Remove extra docdir variable from Makefile.am"
This reverts commit 397, as the support in autoconf for docdir ispresent since 2.59c, and this is too new for some distributions.
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)...
Drop the Rename method of DRBD8 devices
Since we now do changes of remote peers in two steps (Attach with nonetwork information and then Attach with the new peer's data), we don'tneed this operation anymore.
Split the change of peer in secondary replace in two operations
This patch splits the single operation of replace peer into two distinctphases, 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...
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 shutdownthe network and attach to the correct one (this also handles going to...
Add support for DRBD8 devices to work standalone
This patch adds a check in _AssembleNet so that if we are passed Nonevalue in the unique_id, we instead switch to standalone mode.
Call more hooks during QA tests.
Sort list returned by ListVisibleFiles.
If we didn't sort this list, files would be in arbitrary order.
Add man page for the ganeti-master script
This patch adds a simple man page for the master startup script andmodifies the footer.sgml fragment to include it.
Create /var/run/ganeti before noded startup
The /var/run directory can be a tmpfs mount, so even if we make it atinstall time (or include it in the package) it can go away. Therefore,test for its existence and create it in the startup script.
Remove extra docdir variable from Makefile.am
The docdir variable is defined by autoconf, so we don't need to defineit ourselves. This way, the target documentation directory canbe changed via ./configure instead of patching Makefile.am.
In truth, we should install the pdf and html files using the pdf and...
List loading hooks in QA.
Add hook for logging.
This may help to debug problems in QA tests.
Abort if tests for disk templates remote_raid1 and drbd are enabled.
Flush stdout after printing a message during burnin.
Implement disk templates for burnin from QA.
Replace disk template drbd8 with drbd where missing.
Code style fixes for burnin.
Add two comments to qa-sample.yaml.
Fix logging in drbd _ShutdownNet method
We didn't test for failure, just always logged the output.
Correct the -s parameter in gnt-node output
This fixed the previous commit (-s => -s ip).
Add the -s option in the output of 'gnt-node'
Since on dual-homed clusters one always needs to add '-s' to thegnt-node add command, make this appear in the output of 'gnt-node' (whenrun without arguments).
Add description of “gnt-instance startup --force” to manpage.
This was reported by Henning Sprang in issue #14. Also add a missing wordin the description of “gnt-instance reboot”.
Make sure aliases written to /etc/hosts are unique.
Add function to return list with unique elements.
Add basic QA tests for DRBD 8.
Fix a typo in a warning message
Don't remove master's hostname from /etc/hosts on cluster destroy.
This fixes issue #13.
Use spaces to indent and fix typo in tag.
Fix typo in function name.
Suggest disabling of automatic xen domain save
By default xen tries to save running virtual machines at system shutdown andrestore them at reboot. Make sure we suggest to disable this feature in theinstallation manual.
Complete the apt-get list in the install manual
The install manual was missing python-pyparsing and python-simplejson from theapt-get install list. Adding them.
Thanks to Henning Sprang for spotting this issue.
When an assembly error occurs log it too
Right now an assembly error produces an exception but not a log message. Thisis bad because the exception suggests looking at the log, but the log itselfhas a lot of errors which are not really a problem and only some which really...
Use setUp/tearDown for tests using temporary files.
Wrap line longer than 80 characters.
Compare file contents directly in unittests.
Reviewed-by: schreiberal, ultrotter
Give more details on errors when trying to run “lvdisplay”.
Create /var/run/ganeti directory on “make install”.
Bump version numbers.
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.
Small changes and fixes in ganeti-watcher.
- Use constants for keys.- Fix bug through which automatic instance restarts wouldn't be limited
Fix call to TestInstanceConsecutiveFailures.
Fix unittests broken by revision 360.
Fix --node option for “gnt-backup list”.
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 thesituation after adding a new child, and not before. This patch fixesthis by testing greater-or-equal instead of just greater....
Fix another breakage in SetEtcHostsEntry
The code assumes all lines have at least two elements which arewhitespace separated - i.e. it does not deal with empty lines or commentlines with no spaces. This patch fixes this.
Also, the patch replaces the blank between IP and the canonical name...
Call fsync() after modifying /etc/hosts.
This is a critical file. Breaking it would be very bad. Thus, if the systemcrashes before the data is synched to the disk, it should have the completefile afterwards.
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
Rollback commit 356.
Add functions for known_hosts files.
Reviewed-by: TODO
Add missing descriptions to {Add,Remove}EtcHostsEntry.
Relax replace_disks_all meaning for drbd8
In order to make the replace secondary action to be done via the sameopcode parameters for both remote_raid1 and drbd, we must allow theLUReplaceDisks to change replace_disks_all for drbd with non-emptyremote_node into replace_disks_sec....
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 similaroption in gnt-cluster. This patch also updates the relevant man page.
Reviewed-By: iustinp
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...
Fix gnt-instance man page for replace-disks
This patch documents the new syntax for disk changes with the drbd disktemplate.
Improve the man pages
This patch does some small fixes to the man pages and adds descriptionsfor a few missing options.