- 07 Mar, 2014 6 commits
-
-
Hrvoje Ribicic authored
The RunWithLocks test assumed that gnt-debug delay would have the info needed for interruption ready immediately after being run, and in some situations this is not the case. This patch makes the test more patient and forgiving by retrying a number of times. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
Upon detection of a stale livelock, make WConfD also try to clean it up. We can safely ignore any failures, as the Ganeti resources are already freed, and the worst thing that can happen is an empty file left over in the file system. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Petr Pudlak authored
.. which will be needed soon for WConfd. While at it, also ensure we have the required version of base64-bytestring. Signed-off-by:
Petr Pudlak <pudlak@google.com> Reviewed-by:
Klaus Aehlig <aehlig@google.com>
-
Petr Pudlak authored
.. as the newest version of hlint adds additional checks Signed-off-by:
Petr Pudlak <pudlak@google.com> Reviewed-by:
Klaus Aehlig <aehlig@google.com>
-
Petr Pudlak authored
Since the default GHC6 isn't usable for modern libraries and starting from wheezy there is GHC7 anyway, download and install the current vanilla version as well as the latest Cabal. Use the current up-to-date libraries. Also enhance the check for test-framework so that it works for the recent version. Signed-off-by:
Petr Pudlak <pudlak@google.com> Reviewed-by:
Klaus Aehlig <aehlig@google.com>
-
Petr Pudlak authored
This speeds down transferring them to buildbots, at a negligible size cost. Signed-off-by:
Petr Pudlak <pudlak@google.com> Reviewed-by:
Klaus Aehlig <aehlig@google.com>
-
- 06 Mar, 2014 14 commits
-
-
Klaus Aehlig authored
As jobs are currently running in masterd, use the masterd livelock file. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
As livelock files are constructed in a systematic manner, we can guess what the livelock file for a given owner is. While this will not necessarily work perfectly, it will be useful to simplify direct debugging of WConfD. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
...so that it can request resources from WConfd. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
...as this function sets up a much richer context than just the job queue, including the current lock management. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
To request resources from WConfD, requesters have to provide the name of a file they own an exclusive lock on. In this way, their death can be detected. Add utility functions to obtain such a file name. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
When requesting resources from WConfD, a file has to be presented where an exclusive lock is owned on, so that WConfD can detect when the requester dies. Add a path to a directory where these files are kept in. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
Add the cleanup task for locks of died owners to WConfD, as a separate thread. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
Provide a task that periodically checks for all locks owners whether they are still alive. If not, it cleans up their locks. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
Add a constant for the time interval at which WConfD checks for resource owners that have died and cleans up their resources. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
Add a test verifying that the list of lock owners is not too big in the sense that every subject contained in that list owns at least one lock. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
In other words, verify that if all the lock owners release their locks, the empty lock allocation is reached. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
To allow for clean up, add a function that provides the list of all the owners holding at least one lock. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Klaus Aehlig authored
With jobs running in processes different from the lock management soon, we need to detect if a job holding locks dies, in order to release the resources. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
- 05 Mar, 2014 20 commits
-
-
Klaus Aehlig authored
* stable-2.11 Convert int to float when checking config. consistency Updateing release date to tomorrow Revision bump for the 2.11.0~beta1 release Set release date of 2.11 beta1 Stop watcher from restarting down instances during an opcode Conflicts: NEWS: take both additions lib/watcher/__init__.py: manually apply the client change to the version on 2.11 Semantical conflicts: configure.ac: undo suffix bump Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Petr Pudlak authored
When reading the configuration file from RPC JSON, values without a floating point are parsed as 'int', not as 'float', and later the consistency check fails. This patch adds an automatic conversion from 'int' to 'float' during checking so that the improper JSON parsing is fixed. Signed-off-by:
Petr Pudlak <pudlak@google.com> Reviewed-by:
Klaus Aehlig <aehlig@google.com> Cherry-picked from 710a2863 to fix downgrades to 2.11. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Hrvoje Ribicic authored
Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
To compensate for the cases where a QA test is supposed to block when a lock is present, add an additional option showing whether blocking is supposed to happen or not. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
This patch adds threading to the RunWithTests function, allowing one thread to execute the QA test, and the other to monitor if it is being blocked by locks set up during the test. If it is, terminate the blocking job, and let the QA continue, reporting the test failure at the very end. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
The command logging performed by GetCommandOutput can be distracting and unwelcome. This patch adds a switch allowing the command output to be muted as needed. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
The SSH multiplexer is used by default in every connection made, and when multiple threads are used, this causes strange issues when running the QA locally. This patch allows the multiplexer to be bypassed, making a new connection every time. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
This patch adds a QA utility function that acquires a set of locks, and attempts to run a given function with the locks in place. Should the given function block, this function does not detect this - later patches will address the issue. An example of its use is provided by having the move-instance test modified to use it. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
This patch sorts the imports of qa_rapi.py to make things a little bit more orderly. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
This patch aligns the timestamps output as a part of gnt-job info, and performs minor refactorings in the process. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
Aligning dictionary entries makes no difference to a YAML parser, but makes the output much easier to read and compare. This patch adds the possibility of specifying alignment groups to ordered dictionary entries. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
This patch changes gnt-job info to use standard functions defined in cli.py, and output valid YAML. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
The PrintGenericInfo function in cli.py did not handle tuples as containers of items, making it impossible for these to be deserialized automatically when a YAML parser is used. This patch adds separate handling of tuples, including inlining them for readability when possible. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
The move-instance QA test will have to be changed in the following patches to allow testing opportunistic locking. This patch retains the same functionality as before, but allows an iallocator to be used, and splits the move back and forth into two invocations, the first of which will be wrapped later on. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
The gnt-debug delay command could be useful as a means of acquiring locks for testing purposes. In practice, to be useful it should be interruptible, otherwise we risk race conditions or long delays. This patch follows the examples of the move-instance command and the gnt-debug test-jobqueue commands, and introduces a mechanism for communicating with the delay command, allowing it to be interrupted early. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
Following the example of the job-queue test, the delay also defines a log message type of its own. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
This patch allows the opcode option to be used through the gnt-debug client. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
To prepare for the use of sockets to interrupt a running delay opcode, this patch adds an option to the opcode for doing so. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
As the delay class will also have to start using domain sockets, extract the functionality into a helper class. Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-
Hrvoje Ribicic authored
Signed-off-by:
Hrvoje Ribicic <riba@google.com> Reviewed-by:
Petr Pudlak <pudlak@google.com>
-