- 26 Jul, 2011 1 commit
-
-
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>
-
- 22 Jul, 2011 1 commit
-
-
Michael Hanselmann authored
This attribute allows programmatic submitters of jobs (e.g. iallocator) to add a comment to each opcode, describing its purpose. Example: $ gnt-job info 123 Job ID: 123 … Opcodes: OP_INSTANCE_REPLACE_DISKS … Input fields: comment: Replaces disks on inst1.example.com … Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 21 Jul, 2011 2 commits
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
With this change users of the “SubmitManyJobs” interface can use relative job dependencies. Relative job IDs in dependencies are resolved before handing the job off to the workerpool. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 20 Jul, 2011 1 commit
-
-
Michael Hanselmann authored
An overview is available in the design document for this change, doc/design-chained-jobs.rst. When a job enters the job processor, the current opcode's dependencies are evaluated. If a referenced job has not yet reached the desired status, the current job is registered as a dependant. The job processor will continue to work on other pending tasks. When a job finishes it notifies any pending dependants by re-adding them to the workerpool. A per-job processor lock is necessary for rare cases where the same job can be re-added twice. There is no way to view waiting jobs at the moment, but I plan to export this information to “gnt-debug locks”. A so-called dependency manager takes care of managing waiting jobs and keeping track of their status. Unittests are included. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 14 Jul, 2011 1 commit
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 11 Jul, 2011 1 commit
-
-
Michael Hanselmann authored
Places which receive floats can usually also deal with integers, e.g. OpTestDelay. Tests are added and the new check function is used for the aforementioned opcode and verifying query results. 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>
-
- 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>
-
- 01 Jun, 2011 1 commit
-
-
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 1 commit
-
-
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>
-
- 25 May, 2011 1 commit
-
-
Michael Hanselmann authored
Commit aac4511a added CheckArguments to LUNodeMigrate with a call to _CheckIAllocatorOrNode. When no default iallocator is defined, evacuating a node would always fail: $ gnt-node migrate node123 Migrate instance(s) '...'? y/[n]/?: y Failure: prerequisites not met for this operation: No iallocator or node given and no cluster-wide default iallocator found; please specify either an iallocator or a node, or set a cluster-wide default iallocator This patch adds a new parameter to specify a target node. This doesn't solve all issues, but will make the most important cases work again in the meantime. This opcode will receive more work for node group support. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 20 May, 2011 1 commit
-
-
Adeodato Simo authored
With this change, LUClusterVerifyConfig becomes a "light" LU that only verifies the global config and other, master-only settings, and the bulk of node/instance verification is done by LUClusterVerifyGroup, which only acts on nodes and instances of a given group. To ensure that `gnt-cluster verify` continues to operate on the whole cluster, the client creates an OpClusterVerifyGroup job per node group; for convenience, the list of node groups is returned by LUClusterVerifyConfig. Signed-off-by:
Adeodato Simo <dato@google.com> Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 16 May, 2011 2 commits
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
This will allow stopping or starting an instance without changing the remembered state. While this seems counter-intuitive at first (it will create cluster verify errors), it can help in a few corner cases: - shutting down an entire cluster for maintenance but without having to remember state - doing testing of Ganeti itself Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 12 May, 2011 3 commits
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
The opcode parameter ignore_consistency was used in the LU, but not actually declared in the OpCode. The patch adds it in the opcode and the command line client. ObQuote — Please, please, can I have static typing? Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Two opcodes already use it and we need it for a third, time to add a constant for it. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 09 May, 2011 3 commits
-
-
Michael Hanselmann authored
Depending on the opcode and its parameters, the existing “Summary” function can give a rater long summary. For displaying the summary in logs and in the lock monitor, it should be shorter. Hence this new function is added to just use the opcode ID with common prefixes replaced (e.g. “INSTANCE_” becomes “I_”). Opcode values are not used. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
Currently, when converting an instance from plain to DRBD, the instance is blocked during the entire resync period. This patch adds the --no-wait-for-sync so that the operation finishes as soon as the DRBD sync has started, without waiting for the entire sync. This makes the instance available much faster. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This patch introduces the option of changing an instance's nodes when doing the disk recreation. The rationale is that currently if an instance lives on a node that has gone down and is marked offline, it's not possible to re-create the disks and reinstall the instance on a different node without hacking the config file. Additionally, the LU now locks the instance's nodes (which was not done before), as we most likely allocate new resources on them. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 18 Apr, 2011 1 commit
-
-
Michael Hanselmann authored
The old definition wouldn't accept integers. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 06 Apr, 2011 2 commits
-
-
Michael Hanselmann authored
Until now LUInstanceQueryData always acquired locks for the instance(s) and nodes involved. In combination with long-running operations this prevented the use of “gnt-instance info”, even with the “--static” option. With this patch, locks are only acquired when explicitely requested in the opcode (like all query operations). Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
René Nussbaumer authored
As the code for failover for checking is almost identical it's an easy task to switch it over to the TLMigrateInstance. This allows us to fallback to failover if migrate fails prereq check for some reason. Please note that everything from LUInstanceFailover.Exec is taken over unchanged to TLMigrateInstance._ExecFailover, only with adaption to opcode fields and variable referencing, but not in logic. There still needs to go some effort into merging the logic with the migration (for example DRBD handling). But this should happen in a separate iteration. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 25 Mar, 2011 1 commit
-
-
Michael Hanselmann authored
The design details can be seen in the design document (doc/design-lu-generated-jobs.rst). Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 15 Mar, 2011 1 commit
-
-
Michael Hanselmann authored
Commit 28b71a76 added a list of resources which can be queried using LUXI. Unfortunately the variable was named “QR_OP_LUXI”, which can be confusing. This patch renames “QR_OP_QUERY” to “QR_VIA_OP”, “QR_OP_LUXI” to “QR_VIA_LUXI” and adds a new variable, currently equal to “QR_VIA_LUXI”, for remote API queries (mostly for documentation). Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 11 Mar, 2011 1 commit
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 09 Mar, 2011 2 commits
-
-
René Nussbaumer authored
This delays the invocation of the power on of the next node. So if you power on a bunch of nodes it will not blow the fuse. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 08 Mar, 2011 1 commit
-
-
Apollon Oikonomopoulos authored
Add iallocator and target_node slots to OpMigrateInstance and OpFailoverInstance to facilitate shared-storage-backed instance mobility. Add iallocator slot to OpMigrateNode (no explicit target_node in this case). Signed-off-by:
Apollon Oikonomopoulos <apollon@noc.grnet.gr> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 01 Mar, 2011 1 commit
-
-
Apollon Oikonomopoulos authored
This patch introduces core file storage support, consisting of the following: A configure-time switch for enabling/disabling shared file storage support and controlling the shared file storage location: --with-shared-file-storage-dir=. Shared file storage configuration is then available as _autoconf.ENABLE_SHARED_FILE_STORAGE and _autoconf.SHARED_FILE_STORAGE_DIR and there is a cluster-wide ssconf key named "shared_file_storage_dir" for changing the file location. A new disk template named "sharedfile" (DT_SHARED_FILE), using ganeti.bdev.FileStorage. Auxiliary functions in lib/config.py to handle shared file storage. Signed-off-by:
Apollon Oikonomopoulos <apollon@noc.grnet.gr> [iustin@google.com: small style fixes] Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 16 Feb, 2011 1 commit
-
-
René Nussbaumer authored
As per discussion on the man-page[1] update, this functionality should be removed and replaced by just give the command to run if the user insists of power cycle/power off the master and refuse to operate. [1] http://groups.google.com/group/ganeti-devel/browse_thread/thread/95d4879a747cc295 This also removes the --all flag from gnt-node power because it was buggy and would have added too much logic for special cases. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 15 Feb, 2011 2 commits
-
-
Michael Hanselmann authored
OpInstanceRename uses “instance_name” (like almost all other OpInstance* opcodes), not “old_name”, to specify the original name. OpGroupRename is made consistent by renaming “old_name” to “group_name”. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
- Use FillOpCode and unify parameter names between RAPI and opcode - Generate parameter documentation - Improve opcode parameter documentation Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 04 Feb, 2011 3 commits
-
-
Michael Hanselmann authored
These will be used in automatically generated parts of the RAPI documentation. Not all opcodes are documented so far, but each added opcode's parameters need to be fully documented (verified by an assertion). Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
For now they're all set to None, but a following patch will set descriptions. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
This patch adds text descriptions to all T* checks. Converting to a string (e.g. str(ht.TNone)) will produce a user-readable text. This will be used for Opcode parameter documentation. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 31 Jan, 2011 1 commit
-
-
René Nussbaumer authored
This patch adds ignore_status to ignore the offline flag of nodes and also adds a force_master option to force operations on master node if they will make the master unavailable (for some time). Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-