- Apr 03, 2013
-
-
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>
-
Michele Tartara authored
Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 20, 2013
-
-
Michele Tartara authored
We are not ready for this change yet. Let's push it to 2.8. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 12, 2013
-
-
Daniel Krambrock authored
This allows migrating to any node, as it is already possible for failover, when instances are externally mirrored. Signed-off-by:
Daniel Krambrock <danielk_lists@z9d.de> Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Guido Trotter authored
This addresses Issue 237. Mirroring no disk is a no-op. As such we can treat them like mirrored instances, since the data they need (none) will be present on all nodes. This is definitely enough to failover or migrate instances with a manual target node. Further work might be needed for support in hail. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
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
Tests for: objects.InstancePolicy.CheckParameterSyntax() objects.InstancePolicy.CheckDiskTemplates() objects.InstancePolicy.CheckISpecSyntax() Instance policies with an empty disk-template list now are reported. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Bernardo Dal Seno authored
IPOLICY_DEFAULTS is now a legal policy (the disk-templates entry was a set instead of a list, before). Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Bernardo Dal Seno authored
Unknown elements were silently removed on startup. This means that a software upgrade could result in lost configuration information if cfgupgrade wasn't run promptly. Added unit test for Cluster.UpgradeConfig() to cover this case. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
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>
-
Daniel Krambrock authored
There was a typo which prevented the correct option from being passed to RAPI Signed-off-by:
Daniel Krambrock <danielk_lists@z9d.de> Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 06, 2013
-
-
Iustin Pop authored
When an OpCode's parameter has a tuple as default value, this code will break: buf.write("defaults to ``%s``" % default) The patch fixes this and other potential cases by always passing a tuple to '%'. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
- Mar 04, 2013
-
-
Iustin Pop authored
The vcluster changes broke the disabling of file storage; we can workaround by (manually) skipping the virtualisation of file storage paths if they are not enabled. Note that tests/QA are still broken with disabled file storage; this patch only fixes production code. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Currently, the iallocator interface requires LVM storage, due to the way it computes the node storage information. By changing the code to understand that GetVGName() can return None, and by setting the disk_total/disk_free node parameters to the value zero, we can workaround this issue until proper multi-storage reporting is implemented. The hail iallocator plugin works without changes once this is implemented, as it already handles non-LVM storage as "foreign" storage (with unlimited capacity). The patch also changes a bit how the parameters are retrieved and used; hopefully this is a bit safer and more readable. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
'MakeLegacyNodeInfo' is not the best place for this, but we'd have to duplicate it if we wanted a LVM-less version, so the easiest is to add an optional parameter that allows it to accept/skip LVM-less results. It still requires at most one VG result, so its behaviour isn't changed in this respect. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
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
In this method self.tags might be None and cannot be used in join(). Use GetTags instead. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Dimitris Aragiorgis authored
networks config objects have UUIDs and thus should be included in _AllUUIDObjects(). Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
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>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
- Feb 19, 2013
-
-
Dimitris Aragiorgis authored
Make LookupNetwork() return None in case target is None. This fixes Issue 380. Rapi passes network=None and the lookup should not fail. Make network client aware of new nic.network.gnt-network info shows the IPs of each instance inside the network. It parses nic.networks field of QueryInstances() output, which now is a list of uuids an not names. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Dimitris Aragiorgis authored
In case a NIC is not inside a network then netinfo None. Thus netinfo["name"] fails. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
- Feb 18, 2013
-
-
Dimitris Aragiorgis authored
In backend NICs arrive with netinfo filled. If nic.network is not None nic.netinfo is not too. Thus all the info is derived from HooksDict() and nic.network must not be checked. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Dimitris Aragiorgis authored
This was before the case too. Now is bit trickier because nic.network is uuid. Info must derive from nic.netinfo. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
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
Queries now return the network uuid as well as it's name. Here we only use info provided be LUInstanceQueryData context. 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
This will be needed for Instance Queries. It walks through the instance's NICs and returns a list network uuids that the NICs are attached to. 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>
-
Dimitris Aragiorgis authored
This will be needed in the following patches where nic.network will refer to network's uuid and not name. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
- Feb 15, 2013
-
-
Iustin Pop authored
Back when this was introduced, I mentioned that it breaks heavily tab completion (ob<TAB> doesn't work anymore), but at that moment I didn't have a suggestion what to name it. I think outils is good and short enough, and doesn't conflict with anything else, so here it goes. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
- Feb 13, 2013
-
-
Michele Tartara authored
Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-