- May 14, 2013
-
-
Bernardo Dal Seno authored
cmdlib.LUInstanceSetParams now uses helper functions to create and wipe disks, so that when the creation of a disk fails, any leftover device is cleaned up. As a bonus, exceptions raised by _CreateBlockDev() are caught correctly. Now cmdlib._CreateDisks() is used every time there are disks to create. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
Now even recreate-disks wipes the newly-created disks, if the flag is set. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
The wrapper handles errors by logging them and cleaning up freshly-created disks. Also, the correct disk is used in the error message when an error happens in cmdlib._CreateDisks() and the resulting disk clean-up fails. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
Since 9b221ea4, _CreateBlockDev() doesn't raise OpExecError any more. Yet some code was left in place to catch it. By removing that code we have two advantages: 1. Dead code is removed. 2. If for whatever reason _CreateBlockDev() raises OpExecError, the exception is not silently dropped and we notice (so we can fix it). Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
In issue 353 Sascha Lucas reported that disks are not wiped when added through “gnt-instance modify”. This patch adds this functionality and updates the docstring for “_WipeDisks”. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com> (cherry picked from commit 965e0e6a) Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- May 02, 2013
-
-
Helga Velroyen authored
This fixes issue 432: when setting the volume group name, the presence of the volume group was checked on all nodes. This patch now restricts the check only to the vm-capable ones. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Apr 29, 2013
-
-
Guido Trotter authored
The current error message ends up saying something like '192.168.5.5' != 'network1', which is sort of non-intuitive (yes, of course they are different). Fix this by explaining better what the erroneous condition actually is. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Thomas Thrainer <thomasth@google.com>
-
- Apr 26, 2013
-
-
Klaus Aehlig authored
Currently, if converting an instance from plain to drbd fails after renaming the original LVs, the instance is left in an inconsistent state. This commit tries to undo the renaming if a failure occurs on assembling a DRBD device, e.g., when device minor numbers are exhausted. (Issue 229) Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Thomas Thrainer <thomasth@google.com>
-
- Apr 22, 2013
-
-
Michele Tartara authored
During the creation of an instance, if the creation of disks fails, some partially created disks might remain lying around. There is an already implemented cleanup procedure, but it requires the disks to be listed in the disks_created variable, which is updated after the creation of the disk itself to prevent it from removing disks already existing previously. This patch introduces a better tracking of partially created disks, so that they can be removed without risking removing already existing ones. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Apr 11, 2013
-
-
Michele Tartara authored
Trasforming the disk of an instance from DRBD to plain did not properly update the iv_name of disks, leaving it to None. This commit modifies _ConvertDrbdToPlain to properly set the iv_name variables. An analogous fix is not required in the opposite function, _ConvertPlainToDrbd, because it uses _GenerateDiskTemplate, that already takes care of doing that. Fixes Issue 403. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Apr 10, 2013
-
-
Michele Tartara authored
Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Apr 03, 2013
-
-
Klaus Aehlig authored
Moving an instance is done by copying over the disks. Restrict this to disk templates that are copyable. This avoids accidental use on, e.g., the sharedfile template. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Klaus Aehlig authored
Now that _CreateDisks cleans up after itself in case of failure, do not clean up at call sites, as there we have to overapproximate thus potentially causing data loss. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Klaus Aehlig authored
_CreateDisk used to just throw an exception if _CreateBlockDev failed leaving the caller in the state that some disks were created, without precise knowledge which. Usually, the clean up then overapproximated by removing all disks of the instance. This can cause data loss in case the disk creation failed because of a file being already in the place where the disk is to be created. With this patch, upon failure, _CreateDisk removes the disks that were successfully created, leaving a well-defined state. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 12, 2013
-
-
Guido Trotter authored
This fixes issue 396. - Fix a wrong comment that mentions drbd8 when actually the code acts only on externally mirrored instances. - Fix a wrong assert that requires failover/migrate to acquire the NAL on externally mirrored instances: this is the case only when a iallocator is used, not if a node is manually specified. Extra qa should be added, but this can only be done if an externally mirrored instance or a diskless instance is tested. It is easier to add it on the master branch, where we have diskless instances support. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 11, 2013
-
-
Bernardo Dal Seno authored
Policy violations of back-end parameters that used the cluster default value were not reported in cluster-verify. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Bernardo Dal Seno authored
"default" was not accepted as a valid input value for instance specs in group policies, due to a bug introduced in 2cc673a3 (and released with 2.6.0). Added QA for this and another similar case. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Bernardo Dal Seno authored
Instance disk template is checked against the policy, and diskless instances aren't checked for the number of disks. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Bernardo Dal Seno authored
A fragment in LUInstanceCreate.CheckPrereq() removed in commit ba147ff8 was reintroduced in merge 8e09e801 due to a change in df28c49b. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 04, 2013
-
-
Iustin Pop authored
This is similar to commit 8775e62a; the addition of node_whitelist broke this LU as well. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
- Mar 01, 2013
-
-
Dimitris Aragiorgis authored
Passing --net 0:add,ip=5.5.5.5 failed due to a reference of a non initialized variable (new_net_obj). Reorder the checks and add some comments to be readable. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Feb 28, 2013
-
-
Dimitris Aragiorgis authored
Remove any early returns in LUNetworkDisconnect/LUNetworkConnect and replace them with if-else statements. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Feb 26, 2013
-
-
Dimitris Aragiorgis authored
Locks for group instances are aquired only if conflicts are checked. To this end we must _CheckNodeGroupInstances() only then otherwise this check will always fail (owned_instances will be []). Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Dimitris Aragiorgis authored
Params passed in _CreateNewNic() are not yet evaluated and include the value passed by user for the network. A lookup must be done first in order to find the corresponding network UUID which should be stored in the newly created NIC object. Params passed in _ApplyNicMods() include the value passed by user for the network. Thus a lookup must be done first in order to find the corresponding network UUID. Then compare it with the existing value and act accordingly. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Feb 20, 2013
-
-
Dimitris Aragiorgis authored
LUNetworkConnect/LUNetworkDisconnect, in case locking is used, might lock instances that exist in the requested node group. The acquired locks should be checked if they are correct at the beginning of CheckPrereq() via _CheckNodeGroupInstances(). Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Feb 18, 2013
-
-
Dimitris Aragiorgis authored
This is needed in case more info than each nic's network uuid is to be returned. We need to lock networks to get valid data. For now only the name is returned as an extra field. All other can be added with trivial effort. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Dimitris Aragiorgis authored
Make _InstanceQuery gather all network info related to instance's NICs and in case of NETQ_INST in _NetworkQuery get all network uuids directly from nic.network Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Dimitris Aragiorgis authored
Refactor Instance related LUs to support nic.network as a uuid. This removes all the unnecessary invocations to LookupNetwork(). Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
- Feb 12, 2013
-
-
Helga Velroyen authored
Make _UnlockedLookupNetwork() raise OpPrereqError (instead of returning None) in case it does not find the requested network. Remove useless and duplicate code such as: if net_uuid is None: raise... This is a cherry-pick of commit 1cce2c47. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Helga Velroyen authored
Until now if one disconnects a network with --no-conflicts-check and then remove it, there is a possibility to leave instances with NICs referencing non-existing networks. This causes network queries, instance removal and modification to fail. This patch allows a network to be disconnected from a nodegroup, only if instances residing in the nodegroup do not have NICs attached to the network. Otherwise OpPrereqError is raised. The --no-conflicts-check option is removed from the gnt-network disconnect command as well. This is a cherry-pick of commit 6bb939a2. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Michael Hanselmann authored
This patch improves the error messages given when a “errors.AddressPoolError” exception is caught. Includes some small style fixes. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Feb 11, 2013
-
-
Dimitris Aragiorgis authored
This can be used in hypervisor code as well. For consistency export *NETWORK_NAME and not *NETWORK throughout the code. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Dimitris Aragiorgis authored
This info is not used by Ganeti and therefore is removed. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Dimitris Aragiorgis authored
This slot was not used by Ganeti so the same info can be provided via tags. In order not to break configuration data we add a FromDict() method in Network config object that removes the deprecated network_type (if found) and then invoke the parent's method (which does the validation). Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Bernardo Dal Seno authored
Cluster-verify used to check that the value of exclusive_storage is uniform within node groups. Now, it's impossible to change the flag for a single node, so that check has been removed and an equivalent one has been added in ConfigWriter.VerifyConfig(). Unit test provided. The unit test covers only the new check, not the whole VerifyConfig method. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Bernardo Dal Seno authored
There's never been support for a configuration where nodes in the same node group have different values of the exclusive_storage flag. This patch disables the possibility to change the flag for individual nodes. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Feb 08, 2013
-
-
Guido Trotter authored
1) Move the hooks environment dict generator inside the object. This also adds missing values such as network family and uuid. 2) Use the same generator both for the os environment and for the instance hooks. 3) Update manpage and hooks documentation. Also update a forgotten docstring about a tuple's content. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jan 23, 2013
-
-
Bernardo Dal Seno authored
_Error() didn't contain the logic for demoting errors to warnings and for marking an operation as failed. Now _ErrorIf() is just a minimal wrapper for _Error(). Unit tests included. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jan 18, 2013
-
-
Christos Stavrakakis authored
If opportunistic_locking is used, then 'node_whitelist' parameter passed to the allocator is set to the LU's owned node locks. However, LU owned_locks has type of 'set' while IReqInstanceAlloc expects type of 'ht.TMaybeListOf(ht.TNonEmptyString)'. Signed-off-by:
Christos Stavrakakis <cstavr@grnet.gr> Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Constantinos Venetsanopoulos authored
Signed-off-by:
Constantinos Venetsanopoulos <cven@grnet.gr> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-