- Apr 16, 2013
-
-
Aaron Knister authored
LogicalVolume.Attach in bdev.py is calling "lvs" and specifying a unit of Megabytes that is then converted to an integer resulting in the value 0 for small sizes. This patch makes Ganeti use KB for the unit instead of MB. Fixes Issue 347. Signed-off-by:
Aaron Knister <aaron.knister@gmail.com> Reviewed-by:
Michele Tartara <mtartara@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
-
-
Helga Velroyen authored
This patch introduces an upper limit to the size of the networks that can be created. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Helga Velroyen authored
When creating a network, so far no size constraints were checked. We now limit the size of a network to a /30 or bigger, although tecnically, the ipaddr library supports even /32 networks. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michele Tartara authored
If split users are used, the queue directory could only be accessed by masterd, but also confd needs to be able to read it, e.g. when it is queried as part of "gnt-job list" This commit fixes the permissions in such a way to allow proper access rights. Fixes Issue 406. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Klaus Aehlig authored
For diskless instances it is still reasonable to sum up the disk usage of all the (zero) disks, resulting in the empty sum. This uniformity also has the advantage that iallocators (like hail) do not have to do any special considerations for diskless instances. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
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
This list contains the disk templates suitable for moving an instance by copying the files. A requirement is that they're not accessed externally or shared between nodes; in particular, sharedfile is not suitable. 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>
-
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>
-