- 02 Aug, 2011 1 commit
-
-
Michael Hanselmann authored
These will be very useful for ganeti-watcher as it needs to retrieve instances by group. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 28 Jul, 2011 2 commits
-
-
Iustin Pop authored
This removes: - the check in backend that such OSes have a variants file or if it exists that is non-empty; in order for this to work, we also rework the logic in backend._TryOSFromDisk to allow for optional OS files - the check in cluster verify such OSes to have a non-empty variant list (the check for consistent variants is still kept) Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Commit aef59ae7 reworked the file verification, but forgot to take into account offline nodes. The fact that this was not detected yet is due to the fact that we don't test clusters with offline nodes in QA :( Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 27 Jul, 2011 1 commit
-
-
Iustin Pop authored
Otherwise we get no variant checks at all, but the variant is still recorded. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 26 Jul, 2011 4 commits
-
-
Iustin Pop authored
This patch adds a function for abstracting “dict.fromkeys(locking.LEVELS, 1)”. It also removes a duplicate assignment for the share_locks in LUInstanceQuerydata. Additionally, it moves the _SupportsOob function to the helper function list. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
Until now verifying disks, which is also used by the watcher, would lock all nodes and instances. With this patch the opcode is changed to operate on per nodegroup, requiring fewer locks. Both “gnt-cluster” and “ganeti-watcher” are changed for the new interface. 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>
-
- 25 Jul, 2011 1 commit
-
-
Iustin Pop authored
s/'/"/ in (hopefully) the right places. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 22 Jul, 2011 3 commits
-
-
Michael Hanselmann authored
Before this patch “gnt-instance info” would fail with the error message “Error checking node $node: Node is marked offline” if the instance's primary node is marked offline and the user didn't explicitely request static information only. With this patch the LU will automatically return static information if the instance's primary node is marked offline. Some explicit loops are changed to map(). Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
When the source node for a failover is marked offline, there's no need to require the user to specify “--ignore-consistency”. To make it work at all, a number of bugs introduced by the merge of migration and failover are also fixed by this patch. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Commit 84d7e26b changed “objects.Instance.MapLVsByN” to not just return the LV name, but to include the volume group name (e.g. “xenvg/d67e8700….disk0_data”). This in turn broke the mapping of volume names in LUNodeQueryvols, stopping instance names from displayed in “gnt-node volumes”. This patch fixes the issue and does some cleanup. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 21 Jul, 2011 4 commits
-
-
Michael Hanselmann authored
More fallout from commit 323f9095 . 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
- Adjust for new iallocator result format - Split some code into helper functions Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 08 Jul, 2011 1 commit
-
-
Stephen Shirley authored
Creates the instance, but pauses execution before booting. This combined with 'gnt-instance console' unpausing instances means that the entire boot process can be viewed and monitored. Signed-off-by:
Stephen Shirley <diamond@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 05 Jul, 2011 2 commits
-
-
Michael Hanselmann authored
LUNodeEvacStrategy has been replaced with LUNodeEvacuate. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
This new opcode will replace LUNodeEvacStrategy, which used to return a list of instances and new secondary nodes. With the new opcode the iallocator (if available) is tasked to generate the necessary operations in the form of opcodes. This moves some logic from the client to the master daemon. At the same time support is added to evacuate primary instances, which are also evacuated by default. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 01 Jul, 2011 1 commit
-
-
Iustin Pop authored
There were some implicit assertions in the code that all node groups have nodes, which is not necessarily true. Additionally, the patch does a wrapping change. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 28 Jun, 2011 2 commits
-
-
Iustin Pop authored
The new functionality in 2.4.2 for recreate-disks to change nodes is broken for DRBD instances: it simply changes the nodes without caring for the DRBD minors mapping, which will lead to conflicts in non-empty clusters. This patch changes Exec() method of this LU significantly, to both fix the DRBD minor usage and make sure that we don't have partial modification to the instance objects: - the first half of the method makes all the checks and computes the needed configuration changes - the second half then performs the configuration changes and recreates the disks This way, instances will either be fully modified or not at all; whether the disks are successfully recreate is another point, but at least we'll have the configuration sane. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Patch db8e5f1c removed the use of feedback_fn, hence pylint warn now. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 27 Jun, 2011 1 commit
-
-
Iustin Pop authored
Currently the drbd8 replace-disks on the same node (i.e. -p or -s) has a bug in that it does modify the instance disk temporarily before changing it back to the same value. However, we don't need to, and shouldn't do that: what this operation do is simply change the LVM configuration on the node, but otherwise the instance disks keep the same configuration as before. In the current code, this change back-and-forth is fine *unless* we fail during attaching the new LVs to DRBD; in which case, we're left with a half-modified disk, which is entirely wrong. So we change the code in two ways: - use temporary copies of the disk children in the old_lvs var - stop updating disk.children Which means that the instance should not be modified anymore (except maybe for SetDiskID, which is a legacy and unfortunate decision that will have to cleaned up sometime). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 23 Jun, 2011 1 commit
-
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 17 Jun, 2011 5 commits
-
-
Guido Trotter authored
This was left out during the fix/refactoring Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Guido Trotter authored
- Move the calculation at the beginning of CheckPrereq, since it doesn't modify any state, but still keeps locks - Only perform the calculation if the actual disk template is filebased - Error out if there is no defined file storage dir - Only join the optional --file-storage-dir extra-path if one is passed Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Guido Trotter authored
As the manpage says, and the code does, self.op.file_storage_dir is an additional relative path under the cluster file storage dir. As such it should not be absolute. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 15 Jun, 2011 1 commit
-
-
Michael Hanselmann authored
This patch removes all occurrences of the “multi-relocate” iallocator mode. Commit 25ee7fd8 updated the design document and introduced separate modes, “change-group” and “node-evacuate”. The constants aren't removed yet as they're still used by htools. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 08 Jun, 2011 2 commits
-
-
Michael Hanselmann authored
- Use functions in ConfigWriter instead of custom loops - Calculate nodes only once instances locks are acquired, removes one potential race condition - Don't retrieve lists of all node/instance information without locks - Additionally move the end of the node time check window after the first RPC call--the second call isn't involved in checking the node time at all Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
LUClusterVerifyConfig verifies a number of configuration settings. For doing so, it needs a consistent list of nodes, groups and instances. So far no locks were acquired at all (except for the BGL in shared mode). This is a race condition (e.g. if a node group is added in parallel) and can be fixed by acquiring the BGL in exclusive mode. Since this LU verifies the cluster-wide configuration, doing so instead of acquiring individual locks is just. Includes one typo fix and one docstring update. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 07 Jun, 2011 2 commits
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
Commit 720f56c8 added the ability to specify tags when creating an instance. The “tags” attribute of an instance object needs to be a set, but the patch's code saved it as a list, causing breakage in other parts of Ganeti. This patch changes the code to use TaggableObject.AddTag, which has a nice side-effect of doing some verification (including max. number of tags). Instance import was also broken (no “tags” attribute in options). Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 01 Jun, 2011 2 commits
-
-
Apollon Oikonomopoulos authored
Instance hooks now get an INSTANCE_TAGS environment variable, which contains a space-delimited list of the affected instance's tags. Also update the documentation to reflect the change. Signed-off-by:
Apollon Oikonomopoulos <apollon@noc.grnet.gr> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Apollon Oikonomopoulos authored
Add a tag slot to opcodes.OpInstanceCreate. We do not reuse _PTags, as this is intended for OpTagsSet and thus: a) is not documented b) does not carry a default value, making it mandatory Also pass the tags to the iallocator during instance creation. Signed-off-by:
Apollon Oikonomopoulos <apollon@noc.grnet.gr> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 31 May, 2011 4 commits
-
-
Iustin Pop authored
Currently, we only ht-check the result value from the iallocator, and we send whatever we happen to check manually in the LUs that call the iallocator. This is not good, as we have to duplicate checks in many places, and still we might miss checks. So we add add ht information to the per-request variables. As the cluster data is built in one place, the iallocator code itself (and is more consistent), I didn't add checks to that too. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Currently, the iallocator in 'allocate' requires mem_size on input but serialises that as 'memory'. This inconsistency makes it hard to automatically validate the parameters, hence this patch renames mem_size. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Per the design doc, the target_groups request key "if present, it must either be the empty list, or contain a list of group UUIDs". Currently it defaults to None/null, which is not valid. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
In 'allocate' mode, the documentation specifies that we export the hypervisor value (“Allocation needs, in addition: … hypervisor, the hypervisor of this instance”) and we need that on input, however we don't actually export it. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-