- Nov 05, 2007
-
-
Michael Hanselmann authored
Reviewed-by: schreiberal
-
Guido Trotter authored
The OS cleanup patches change the wire protocol. Increment the protocol number by one. Reviewed-By: iustinp
-
Guido Trotter authored
In order to do this for simplicity we leave the OSFromDisk function as-is and we convert the eventual exception to an OS object in ganeti-noded. The unmangling gets simplified and so does the code for checking whether the OS is valid. Reviewed-By: iustinp
-
Guido Trotter authored
The functions in ganeti-noded and rpc.py still deal with the fact that an InvalidOS error could be returned by DiagnoseOS. As this is not the case anymore simplify their code for the current behavior. Reviewed-By: iustinp
-
Guido Trotter authored
Modify backend.py so that DiagnoseOS only returns OS objects rather than InvalidOS errors, and make sure gnt-os understands the new objects. Also delete the deprecated helper functions from gnt-os. Reviewed-By: iustinp
-
Guido Trotter authored
Add a new FromInvalidOS static function to objects.OS that makes it easy to create an object representing a broken OS starting from the relevant exception. Reviewed-By: iustinp
-
Guido Trotter authored
Till now the OS object just represents a correct OS instance. Change it so it can represent a broken one too, by adding a "status" field: if this field is different from the OS_VALID_STATUS constant the object is considered to be an invalid OS, the "status" field to be a debugging message, and its boolean status is set to false. Reviewed-By: iustinp
-
- Nov 04, 2007
-
-
Iustin Pop authored
This patch adds a '-n' option to burnin that takes a comma-separated list of nodes to perform the burnin on. Reviewed-by: ultrotter
-
Guido Trotter authored
call_os_get is never called with a real list of nodes, so there's no point in it being multi-node. Making it single-node till a usage for multi-node call is found. Reviewed-By: iustinp
-
Guido Trotter authored
Remove a wrong "i" and add a missing ")" to the DiagnoseOS function doc string. Reviewed-By: iustinp
-
- Nov 03, 2007
-
-
Iustin Pop authored
This patch adds a search command for locating tags on all objects of the cluster using a regex pattern. Reviewed-by: aat
-
- Nov 02, 2007
-
-
Michael Hanselmann authored
Also check whether file contents are correct for both “gnt-cluster command” and “gnt-cluster copyfile”. Reviewed-by: iustinp
-
Iustin Pop authored
Currently, troubleshooting DRBD problems involves a manual process of going backwards from the DRBD device to the instance that owns it. This patch adds a weak (i.e. not guaranteed to be correct or up-to-date) cache of device to instance. The cache should be, in normal operation, having correct information as the only time when devices change paths are when they are started/stopped, and the code in backend.py adds cache updates to exactly these operations. The only drawback of this implementation is that we don't fully update the cache on renames of devices (we clean the old entries but we don't add new ones). Since the rename changes the path only for LVs (and not drbd and md), this is less of a problem as the target of this code is debugging DRBD and MD issues. The patch writes files named bdev_drbd<N> (or bdev_md<N>, bdev_xenvg_...) in /var/run/ganeti (more exactly, LOCALSTATEDIR/ganeti). The files start with 'bdev_' and continue with the path of the device under /dev/ (this prefix stripped), and contain the following values, space separated: - instance name - primary or secondary (depending on how the device is on the primary or secondary node) - instance visible name: sda or sdb or not_visible, the latter case when the device is not the top-level device (i.e. remote_raid1 templates will have sd[ab] for the md, but not_visible for drbd and logical volumes) The cache is designed to not raise any errors, if there is an I/O error it will only be logged in the node daemon log file. This is in order to reduce the possible impact of the cache on the block device activation and shutdown code. Reviewed-by: imsnah
-
Iustin Pop authored
Allow burnin to use the new drbd8 template (for which case one needs to disable replacement of disks, burnin does yet support that with drbd8). The patch also changes do-replace[12] to no-replace[12] as that is what they actually do. Reviewed-by: imsnah
-
Iustin Pop authored
When renaming a logical volume, we should change the dev_path (and other internal variables) in order to be consistent. Reviewed-by: imsnah
-
Iustin Pop authored
I forgot a pair of parentheses in that revision which break the common case. This patch adds them. Reviewed-by: ultrotter
-
- Nov 01, 2007
-
-
Iustin Pop authored
If the device is unconfigured (not yet did SetDiskID for it ever), it might have a physical_id of None. This patch fixes that case. Reviewed-by: ultrotter
-
Guido Trotter authored
Ok, I've been battling with those for a while but it seems in the end I forgot to get rid of them! :( Doing it explicitely now. Reviewed-By: iustinp
-
Guido Trotter authored
This patch changes whitespace only. It fixes all the functions in script/gnt-os by putting a white line at the end of all the function descriptions and removing it from just before the code. Reviewed-By: iustinp
-
Guido Trotter authored
Reviewed-By: imsnah
-
Guido Trotter authored
Get rid of the tabulated form and create a simplier indented structure. Now a valid OS looks something like: OS: foo [global status: partial valid] Node: gsdtest4.euw.corp.google.com, status: valid (path: /usr/local/lib/ganeti/os/foo) Node: gsdtest5.euw.corp.google.com, status: valid (path: /usr/local/lib/ganeti/os/foo) [hidden] path: /usr/local/lib/ganeti/os2/foo, status: 'ganeti_api_version' file not found (ENOENT) Node: gsdtest3.euw.corp.google.com, status: 'ganeti_api_version' file not found (ENOENT) (path: /usr/local/lib/ganeti/os/foo) Reviewed-By: imsnah
-
Guido Trotter authored
Use both _DiagnoseOSStatus and _DiagnoseOSPath to calculate the message associated with the first entry found on a node for an OS. Also call the rename the relevant variables to _msg rather than just _status to reflect that they contain a bit more than just the bare status message. Reviewed-By: imsnah
-
Guido Trotter authored
Make _DiagnoseOSStatus only return a status message for the OS diagnose object and create a new _DiagnoseOSPath function to get the path out. This will let us be more flexible in the messages we display to the user. Reviewed-By: imsnah
-
Iustin Pop authored
Reviewed-by: ultrotter
-
Michael Hanselmann authored
Make the code somewhat smaller. Disable disk failure test for master for now. Reviewed-by: schreiberal
-
Michael Hanselmann authored
- Split main() function into several small ones. - Current work on disk failure tests. This is not yet finished. - Fix small typo in qa_node.py. Reviewed-by: schreiberal
-
- Oct 31, 2007
-
-
Iustin Pop authored
This reverts commit 289, as the node failover functionality was already implemented in gnt-node (as opposed to gnt-instance). My mistake. Reviewed-by: ultrotter
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
Iustin Pop authored
This patch fixes the documentation in a few cases and adds handling of the situation where no instance is selected due to too restrictive options given. Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds the same style of multi-instance selection as in shutdown/startup to the failover subcommand, with the exception that we cannot failover with --node or --all (it doesn't make sense). Reviewed-by: imsnah
-
Iustin Pop authored
Currently we ignore errors on instance shutdown (on the source node) during instance failover. We should do this only if the user gave a command line options allowing this, as it's a dangerous thing to do. This patch fixes this by using the same "--ignore-consistency" option for deciding whether to continue or abort. It also expands a bit the man page. Reviewed-by: imsnah
-
Iustin Pop authored
The current code checks the bridge on the primary node of the instance, but we need to check it on the destination node. This was caught by testing failover with a down primary node. Reviewed-by: imsnah
-
- Oct 30, 2007
-
-
Michael Hanselmann authored
Reviewed-by: schreiberal
-
- Oct 29, 2007
-
-
Iustin Pop authored
This patch moves the passing of the feedback_fn argument from the (Exec|Chain)OpCode to the initialization of the Processor instance. Reviewed-by: imsnah
-
Iustin Pop authored
The major is declared in the base class, we do not need to overwrite it. Reviewed-by: imsnah
-
Iustin Pop authored
Reviewed-by: imsnah
-
Iustin Pop authored
Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds three modes of disk replacement for drbd8: - replace the disk on the primary node - replace the disk on the secondary node - replace the secondary node It also adds some debugging code to backend.py and increments the protocol version for the recent changes of the rpc layer. Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds functionality to drbd8 for: - removing local storage - initializing without local storage - adding local storage This is needed for the being able to replace disks for drbd8. Reviewed-by: imsnah
-
Iustin Pop authored
This patch add code for renaming a device; more precisely, for changing the unique_id of the device. This means: - logical volumes, rename the volume - drbd8, change the remote peer This is needed for the being able to replace disks for drbd8. Reviewed-by: imsnah
-