- Jan 13, 2009
-
-
Iustin Pop authored
This patch adds burnin parameters for --parallel and --http-check options to the burnin script. Reviewed-by: ultrotter
-
Iustin Pop authored
This is a forward-port of commit 2219 on the 1.2 branch. Reviewed-by: ultrotter
-
Iustin Pop authored
This patch adds instance alive checks after most start operations. The check is done in a custom way: - the instance is expected to have an http server up and running - and it should server the '/hostname.txt' resource containing the hostname of the instance This allows checking that: - creation is working OK - start after failover (and in the future migrate) is ok - rename works correctly By default, the check is disabled since one needs a custom OS for this check. The patch also fixes a wrong variable name from a previous burnin patch. Reviewed-by: ultrotter
-
Iustin Pop authored
Reviewed-by: imsnah
-
- Jan 12, 2009
-
-
Iustin Pop authored
This patch makes gnt-cluster copyfile and command skip the offline nodes. Reviwed-by: ultrotter, imsnah
-
Iustin Pop authored
This patch adds testing of add/remove disks and NICs to the burnin. Reviewed-by: imsnah
-
Iustin Pop authored
In 2.0, we have more parameters in drbd's logical_id, and passing the results over json makes them unicode which looks worse with the default formatting. As such, a redo of the output is needed. This patch: - adds a separate function to format the logical_id of devices - moves the actual indentation format out of _FormatBlockDevInfo, which now just generates a list of items - adds a function _FormatList that recursively formats the list - formats specially key,value tuples The result is that the output is nicer, and the code in _FormatBlockDevInfo somewhat cleaner (as it doesn't deal with spacing and such issues). Reviewed-by: ultrotter
-
Iustin Pop authored
The RpcResult introduction still left some bugs (after multiple patches): - we don't correctly check the result type - rename a variable to prevent a conflict Reviewed-by: imsnah
-
Iustin Pop authored
The checking for invalid instance names in LUQueryInstanceData is broken since commit 1642. Reviewed-by: imsnah
-
Iustin Pop authored
This LU can be used to force a push of the config in case it's needed, for example after an upgrade to update the ssconf_release_version file. Reviewed-by: imsnah
-
- Jan 09, 2009
-
-
Iustin Pop authored
The patch adds a new ssconf file containing the ganeti version. Reviewed-by: imsnah
-
Iustin Pop authored
This is modified forward-port of commit 1544 on the 1.2 branch: When DRBD is doing its dance to establish a connection with its peer, it also sends the synchronization speed over the wire. In some cases setting the sync speed only after setting up both sides can race with DRBD connecting, hence we set it here before telling DRBD anything about its peer. Reviewed-by: iustinp The modification we make is that we split SetSyncSpeed in two so that we don't need to modify our minor temporarily, and the fact that we call this function from within _AssembleNet (right before enabling network), instead of Assemble()/Attach(). Original-Author: imsnah
-
Iustin Pop authored
Reviewed-by: imsnah
-
Iustin Pop authored
This patch updates burnin to the latest replace disks constant, and changes the constants' values to be more accurate. Reviewed-by: imsnah
-
Iustin Pop authored
This patch makes burnin skip the offline nodes in it's builtin node selection. It also removes an extra line. Reviewed-by: imsnah
-
Iustin Pop authored
We shouldn't query offline nodes in gnt-os. This patch adds an utility function to ConfigWriter that returns the names of online nodes and uses it in LUDiagnoseOS to query only the good nodes. Reviewed-by: imsnah
-
Iustin Pop authored
The warning in node list is meant for nodes that return wrong information, but for offline nodes this case is normal. Reviewed-by: imsnah
-
Iustin Pop authored
The current fork+close fds sequence has deficiencies which are hard to work around: - logging can start logging before we fork (e.g. if we need to emit messages related to master checking), and thus use FDs which we can't track nicely - the queue locks the queue file, and again this fd needs to be kept open which is hard from the main loop (and this error is currently hidden by the fact that we don't log it) Given the above, it's much simpler, in case we will fork later, to close file descriptors right at the beginning of the program, and in Daemonize only close/reopen the stdin/out/err fds. In addition, we also close() the handlers we remove in SetupLogging so that the cleanup is more thorough. Reviewed-by: imsnah
-
Iustin Pop authored
In 1.2, due to the md+drbd7 legacy, we had a complex choice of replace modes, and the new drbd8 modes where forced into this syntax, with some complicated rules of transition from one mode to another (if REPLACE_ALL but not new node passed, switch to REPLACE_SEC, etc.). This patch cleans this situation by making a clear separation between the two main modes: - replace on current nodes (with the two sub-cases on primary and on secondary) - change to a new node (either via manually specified node or via iallocator) Reviewed-by: imsnah
-
- Jan 08, 2009
-
-
Iustin Pop authored
For offline nodes, we shouldn't add them to the NV_NODELIST and NV_NODENETTEST tests since they most likely won't succeed. The patch makes gnt-cluster verify happy again in such cases. Reviewed-by: imsnah
-
Iustin Pop authored
The patch adds a new method to the rpc.RpcResult class called "RemoteFailMsg" which is useful for the RPC calls which return a (status, payload) style result. Reviewed-by: imsnah
-
Iustin Pop authored
This is a forward-port of commit 1194 on the 1.2 branch: This call will check whether an instance is up on its primary, and that it has been started with symlinks. We currently have no on-secondary checks, nor any hypervisor specific call. Reviewed-by: iustinp The difference from the original patch is that we don't include the cmdlib changes, since those will come as a copy from the 1.2 cmdlib.py, and not as individual patches. Original-Author: ultrotter
-
Iustin Pop authored
This is plain copy of the 1.2 ReAttachNet and DisconnectNet methods on the DRBD8 device, with the logger to logging module changes and the ReAttachNet method renamed to AttachNet. These methods are not used anywhere right now, but will be used for migration and a simpler disk-replace. The code was originally committed on the 1.2 branch as revision numbers 1165 and 1204. Originally-Reviewed-by: imsnah, ultrotter
-
- Jan 07, 2009
-
-
Iustin Pop authored
This is a modified forward-port of commit 1184 on the 1.2 branch: backend: Remove symlinks by disk name, not using a wildcard Reviewed-by: ultrotter The changes to the original patch are related to the docstring style and iv_name to index switch. Original-Author: imsnah
-
Iustin Pop authored
This is an extract of commit 1166 on the 1.2 branch (Add a rpc call for drbd network reconfiguration), but only the blockdev_close part. The patch changes the blockdev_close call to take the instance so that it can remove the symlinks of the instance. Originally-Reviewed-by: imsnah
-
Iustin Pop authored
This is a forward-port of commit 1163 on the 1.2 branch: This fixes the removal of the instance symlinks (probably breakage from the glob changes). Reviewed-by: imsnah
-
Iustin Pop authored
This is a forward-port of commits 1150 and 1151 on the 1.2 branch: Add _RemoveBlockDevLinks auxiliary function, called when an instance fails to start and when it is shut down. Reviewed-by: iustinp and: Fix cut&paste error when removing symlinks It's just whitespace... isn't it? uhm... :) Anyway, fixing an error made when reformatting the code for the new "safer" behaviour. Reviewed-by: iustinp Original-Author: ultrotter
-
Iustin Pop authored
This is a forward-port of commit 1149 on the 1.2 branch: _GatherAndLinkBlockDevs used to raise the errors.BlockDeviceError exception when it failed to create a block device, and with this patch set it does so also when it fails to create a symlink to it. With this patch we move the call to this function into a pre-existing try-except block in the code, and catch the BlockDeviceError exception, logging a message and returning a failure state if it happens. Reviewed-by: iustinp The changes are related to the new hypervisor and logging syntax. Original-Author: ultrotter
-
Iustin Pop authored
This is a forward-port of commit 1148 on the 1.2 branch: Change the _GatherBlockDevs private function, called only one time by StartInstance, to _GatherAndLinkBlockDevs, and make it transform the device returned even more by calling the new _SimlinkBlockDev auxiliary function. This makes sure that every time an instance is started symlinks to its block devices are created, and the instance is started off them, rather than the underlying block devices. Reviewed-by: iustinp The changes we make to the patch is related to newer function signatures in 2.0, and to the fact that iv_name is deprecated and we use instead disk%d based on the disk index. Original-Author: ultrotter
-
Iustin Pop authored
This is a partial forward-port of commit 1136 on the 1.2 branch: The hypervisor doesn't need to be passed the whole block device structure, so we'll just give it the block device name on the local node, and the name as seen by the instance. This will make it easier to manipulate it later without messing with the block devices (eg. by changing the system name to a symlink to the name itself). Since the HVM hypervisor changes the "virtual" name a note is added calling for a redesign that doesn't need this change, as different hypervisors and emulation types will anyway have different names for exported devices. Reviewed-by: iustinp The changes in this patch compared to the original are: - we keep passing the original disk object, not for its iv_name, but for it's physical_id which is needed by the file driver (this could be fixed maybe) - we don't use the iv_name anymore, since in 2.0 we already use the index of the device Original-Author: ultrotter
-
Iustin Pop authored
Commit 2117 changed _AssembleInstanceDisks to correctly parse the failure status of the new RpcResult structure, but it didn't fix the storing of only the result payload. Since RpcResult is not JSON serializable, LUActivateInstanceDisks is failing. Reviewed-by: ultrotter
-
- Jan 06, 2009
-
-
Iustin Pop authored
Two bad indentation cases and a missing variable. Reviewed-by: imsnah
-
- Dec 19, 2008
-
-
Michael Hanselmann authored
Reviewed-by: amishchenko
-
Michael Hanselmann authored
Reviewed-by: amishchenko
-
Michael Hanselmann authored
Reviewed-by: amishchenko
-
Michael Hanselmann authored
Reviewed-by: amishchenko
-
Michael Hanselmann authored
Previously, we set the permissions only after writing the key. This gave other users on the system a small window during which they could read the key. Reviewed-by: amishchenko
-
Michael Hanselmann authored
Reviewed-by: amishchenko
-
Michael Hanselmann authored
Reviewed-by: amishchenko
-
Michael Hanselmann authored
Passwords are stored in "$localstatedir/lib/ganeti/rapi_users". User options specify the access permissions of a user (see docstring for ganeti.http.ReadPasswordFile), for which only "write" is supported to grant write access. Every other user has read-only access. Reviewed-by: amishchenko
-