- Mar 25, 2011
-
-
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>
-
- Mar 24, 2011
-
-
René Nussbaumer authored
I provided unittest to test the important pieces of the infrastructure. The one remaining function (ResuriveEnsure) is not easy to unittest but also not critical if it fails to operate correctly. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 18, 2011
-
-
Michael Hanselmann authored
- Use constants - Don't sleep if no delay is given - Mark function as deprecated: it uses polling instead of waiting for changes (but the latter needs authentication); it can still be used - Add unittests Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
Commit dd7f6776 added another call to BuildHooksEnv to provide post-phase status variables. Since BuildHooksEnv also built the node lists, that meant they have to be built twice. First a rather strict check was used, but it turned out to be more tricky. Commit b423c513 had to remove the strict check again. With this patch the function is split in two parts, one generating the actual environment variables, and another part returning the node lists. The former is called twice. Unittests are updated. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Mar 17, 2011
-
-
Michael Hanselmann authored
Commit dd7f6776 added a restrictive check for the node lists returned by BuildHooksEnv, leading to errors with some LUs, one of which was fixed in commit 0dfa2c22. As it turns out, other LUs have similar issues, some not easy to fix. This patch disables the restrictive check until the BuildHooksEnv functions can be split into one part generating the actual environment and one generating the node lists. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 16, 2011
-
-
Michael Hanselmann authored
When a hook is called, it is provided with a number of variables describing the status of the instance/node/etc. before the operation. Some opcodes provide extra variables to see modified values from hooks, but that's not a generic solution. This patch modifies the code calling hooks to generate the environment once before and once after an opcode has been executed. Doing so should be safe—I did not find any LU.BuildHooksEnv modifying LU instance attributes. The values collected after running the opcode are prefixed with “GANETI_POST_”, as opposed to “GANETI_” for pre-execution variables. The latter are still provided for backwards compatibility. Environment variable examples: gnt-instance start $instance: GANETI_INSTANCE_STATUS=down GANETI_POST_INSTANCE_STATUS=up gnt-instance modify -B memory=512 $instance: GANETI_INSTANCE_BE_memory=768 GANETI_POST_INSTANCE_BE_memory=512 Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 15, 2011
-
-
Michael Hanselmann authored
- Access is only permitted for authenticated clients (queries can return sensitive data) - Filters can be specified when sending a PUT request - Updates RAPI client, documentation and tests Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
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>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Mar 14, 2011
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 07, 2011
-
-
Michael Hanselmann authored
The “?” operator is the equivalent of “if var” in Python. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 02, 2011
-
-
Guido Trotter authored
This was wrong even before, as it contained both a bridge and a link, which are incompatible when passed together. Fix by passing only the link field. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
If the client/caller would specify names through the use of a filter, the result would be sorted. This is a regression over earlier Ganeti versions and verified in QA. This patch adds an optional parameter to control the sorting and provides unittests. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Mar 01, 2011
-
-
Michael Hanselmann authored
This patch adds a “compiler” for query filters, converting them to a callable function used while preparing the query result. In addition, a hints call allows some analysis to be done on the query (e.g. referenced names), making data collection more efficient. The depth of filters is limited to avoid exceeding the runtime's maximum recursion depth. More operators and other improvements can be implemented using this base. Extensive unittests are provided. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
Some fields (e.g. “name”) should be treated specially when comparing for equality. Hypervisor names should use normal rules, but for node names, “node2” should be equivalent with “node2.example.com”. To make these differences, a new field for flags is added to the query fields. It is not added to ”objects.QueryFieldDefinition” (the first item) as it would be exported to clients, something not desired for these internal rules. Instead, an additional field is added. Other special rules, e.g. “a list of strings” for an instance's secondary nodes, can be implemented as flags, too. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Feb 28, 2011
-
-
René Nussbaumer authored
This patch covers the testing of _GetNodePower of query.py not only for unavailable but also for OOB support and returning the right node.powered. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Feb 25, 2011
-
-
Michael Hanselmann authored
The ability to split a string into a list of strings and integers can be handy elsewhere and is necessary for sorting query results by names. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 24, 2011
-
-
René Nussbaumer authored
Instead of hardcode to ToStdout in the helper class, we should use a user provided feedback function. In unittests this is a noop. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
- Make “doc” parameter to MakeField non-optional - Add descriptions for all fields Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
See [1] for the rules. [1] http://en.wikipedia.org/wiki/Names_of_numbers_in_English#Ordinal_numbers Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
René Nussbaumer authored
This is a convenience command to do an automated EPO in the possible limits of Ganeti. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Feb 23, 2011
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
They've been hardcoded for too long. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
René Nussbaumer authored
Commit e431074f introduced an uncatched bug. This patch fixes this. The set is expecting a list or iteratable to work on, so it splitted the provided instance name into a set of characters. This caused the exp_status never been set and therefore not catched in one assert rule further below who checks that every status was tested. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 22, 2011
-
-
Michael Hanselmann authored
Also make the parameter for verbosity mandatory. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 18, 2011
-
-
Iustin Pop authored
And also enable verbose display via the, well, verbose option. Man page and tests are updated, and the formatting is moved from 4 if statements to a data structure. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Feb 17, 2011
-
-
Iustin Pop authored
Since we don't have the data per design, UNAVAIL is appropriate here, while NODATA is not. The patch also adds a comment: if we extend the live fields list to contain other data in the future, we need to reevaluate this solution. This should fix issue 143. The listing now shows (node2==ofline, node3==not vm_capable): Node DTotal DFree MTotal MNode MFree Pinst Sinst node1 698.6G 630.5G 32.0G 1.0G 30.0G 8 7 node2 (offline) (offline) (offline) (offline) (offline) 9 4 node3 (unavail) (unavail) (unavail) (unavail) (unavail) 0 0 Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Feb 15, 2011
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
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>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
Some RAPI parameters don't match the name of the underlying opcode. With this patch they can be renamed while filling the opcode. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Feb 04, 2011
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
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
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-