- Mar 15, 2010
-
-
Iustin Pop authored
This patch adds a new mode to instance modify, the changing of the disk template. For now only plain to drbd conversion is supported, and the new secondary node must be specified manually (no iallocator support). The procedure for conversion works as follows: - a completely new disk template is created, matching the count, size and mode of the instance's current disks - we create manually (not via _CreateDisks) all the missing volumes - we rename on the primary the LVs to the new name - we create manually the DRBD devices Failures during the creation of volumes will leave orphan volumes. Failure during the rename might leave some disks renamed and some not, leading to an inconsistent instance. Once the disks are renamed, we update the instance information and wait for resync. Any failures of the DRBD sync must be manually handled (like a normal failure, e.g. by running replace-disks, etc.). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Multiple LUs require that an instance is not running while they operate on the instance (reinstall, rename, modify, recreate disks, deactivate disks). The code to do this check is duplicate many times, and not very consistent (some use call_instance_list, some call_instance_info). The patch moves this check into a separate function that is then reused. The only drawback is that _SafeShutdowInstanceDisks now raises an OpPrereqError (even though it is run during Exec()), but this use case is fine (there are no other modifications in that Exec). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Both create instance and grow disk check the free disk space on nodes using the same, duplicate code. Since we'll need this in other places in the future, we abstract the check into a new function. The patch adjusts the error message to be more in-line with the one for memory checking, and fixes the exception raised for RPC errors. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This is a simple check, but we'll need it in multiple places. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This patch modifies the parsing of the “--disk” argument to instance create to accept “adopt” as a valid key, which builds the correct disk structure for OpCreateInstance. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This new mode, valid only for the plain template disk, allows creation of an instance based on existing logical volumes (preserving data), rather than creation of new volumes and OS creation. The new mode works as follows: - instead of size, all disks passed in must have an 'adopt' key, which signifies the LV name to be used - all disks must have this key, or neither should - we check the volume existence, and from the result we fill in the actual size - online (in-use) volumes are not allowed - 'stealing' of another's instance volumes is prevented via reservation of the LV names - during creation, we rename the logical volumes to the standard Ganeti format (based on UUID) Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This way, the parameters are available in CheckArguments too. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This patch adds an LV reservation manager to be used for LV names. Since we now have four such managers, we create a list for easier release. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
First, we don't need to check man pages at sed time, because this means everyone building the package will do - we only need to check at docbook time, which is mostly at developer time. Second, don't force LC_ALL to C, as this breaks newer man-db. I've verified and removing LC_ALL works fine across etch, hardy, lenny aid squeeze/sid. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 12, 2010
-
-
Michael Hanselmann authored
Recent changes to “gnt-cluster verify” made it complain on expiring SSL certificates. While it was possible to replace the SSL certificates and other cluster secrets manually before, doing so was cumbersome. Cluster certificates, keys and secrets can now be replaced easily. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Replacing cluster certificates and keys requires all cluster daemons to be shut down. This might also be handy for the cluster merger tool, though the function might need a few more extensions. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
The code to generate cluster certificates, keys and secrets is currently spread over several places. It makes sense to move it to a separate function as we want to provide the user with the ability to automatically replace all cluster certificates and keys. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Seconds since the Epoch are not easily readable by a human. Using a formatted timestamp makes it easier (e.g. “….backup-2010-03-12_14_02_43.…”). This patch also makes OS logfiles use this formatted timestamp. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This test doesn't cover everything, but it's better than nothing. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This is important if they're called directly within daemon-util. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This is, to some degree, duplicated code from the init script. However, the init script has to conform to standards of the underlying Linux distributions, while these functions will be called by Ganeti itself. By moving more code into daemon-util, the amount of duplication has been reduced. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
The list of daemon names will be used in daemon-util, too. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
This is again for re-using code. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
This allows for more code re-use. daemon-util will also be used to start all daemons. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
Even though the script uses underscores (_) internally, the external commands are supposed to be written using dashes (-). Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
When using pyOpenSSL 0.7 or above, LUClusterVerify will start to show a warning 30 days before a certificate expires. 7 days before the certificate expires, the warning becomes an error. Once expired, LUVerifyCluster will always report an error. The latter is also supported with pyOpenSSL 0.6. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
X509 uses ASN1 GENERALIZEDTIME or UTCTIME to store certificate validity. pyOpenSSL 0.7 and above allow us to retrieve both “notBefore” and “notAfter” as strings. Parsing them turned out to be a challenge since they can be in a variety of formats (YYYYMMDDhhmmssZ, YYYYMMDDhhmmss+hhmm or YYYMMDDhhmmss-hhmm). This will be used to verify the validity of cluster certificates in LUVerifyCluster. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
* stable-2.1: Release version 2.1.1 Update NEWS file for the 2.1.1 release Validate the os-specific hypervisor parameters Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
In case the hypervisor has issues on one node, currently backend.VerifyNode will exit via an exception (two exit paths possible, one via HypervisorError from hypervisor.Verify(), and one via RPCFail from GetInstanceList). This is bad as it invalidates all other checks of that node. This patch catches these two errors and allows the rest of the VerifyNode function to run. This leads to a more complete verify cluster run, for example now only real missing LVs are reported, not all of them. The cluster verify is not perfect as it will skip some tests even if it has data, but this will require a more complete rewrite (see issue 90). Also, the patch fixes and improves some error messages in cmdlib. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 11, 2010
-
-
Iustin Pop authored
Sorry… Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
René Nussbaumer authored
This adds basic qa tests for gnt-os modify Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Burnin has a custom job executor, because of its need to retry some job series. While we cannot replace all of it, at least the execution we can switch to cli.JobExecutor, to take advantage of the recently-introduced out-of-order waiting. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
… rather than submission order. The results are still returned in the submission order, and for this we needed to track internally the index of the submission. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This is similar to the Haskell function, except that the signature is reverse to match the 'any' and 'all' Python functions. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This makes the Log function able to take multiple args for simplified message construction, similar to the ToStdout one. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-