- 03 Feb, 2009 1 commit
-
-
Iustin Pop authored
This patch unifies the hardcoded re-encoding attempts into a single function in utils.py. This function is used to take either an unicode or str object and convert it to a ASCII-only str object which can be safely displayed and transmitted. We replace then the current manual re-encodings with this function. In mcpu we stop re-encoding the hooks output and instead we do it right at the hook generation in backend.py. This passes on my 'custom' lvs output with non-ASCII chars. But there are probably other places we will need to fix. Reviewed-by: ultrotter
-
- 18 Dec, 2008 1 commit
-
-
Michael Hanselmann authored
With a large job queue, auto-archiving jobs can take a very long time, causing timeouts on the luxi RPC layer. With this change, auto- archive returns after half of the RPC timeout has passed. The user will see how many jobs are left unchecked. Reviewed-by: ultrotter
-
- 11 Dec, 2008 1 commit
-
-
Iustin Pop authored
This patch should fix all outstanding epydoc parsing errors; as such, we switch epydoc into verbose mode so that any new errors will be visible. Reviewed-by: imsnah
-
- 28 Nov, 2008 2 commits
-
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
Michael Hanselmann authored
- Add new "canceling" status - Notify clients when job is canceled - Give a return value from CancelJob - Handle it in the client library Reviewed-by: iustinp
-
- 23 Nov, 2008 1 commit
-
-
Iustin Pop authored
This patch enables by default the old 'human-readable' option, but in a slightly different model. The option is now called "units" and takes either: - 'h' for automatic formatting - 'm', 'g' or 't' for mebi/gibi/tebibytes If 'h' is used, we add a unit suffix, otherwise nothing is added so that parsing is easy. The default value of this unit is: - 'h' if a separator is not passed - 'm' if a separator is passed Reviewed-by: ultrotter
-
- 20 Nov, 2008 1 commit
-
-
Iustin Pop authored
This patch adds support for mult-disk/multi-nic in: - instance add - burnin The start/stop/failover/cluster verify work as expected. Replace disk and grow disk are TODO. There's also a change gnt-job to allow dictionaries to be listed in gnt-job info. Reviewed-by: imsnah
-
- 27 Oct, 2008 1 commit
-
-
Iustin Pop authored
Reviewed-by: imsnah
-
- 20 Oct, 2008 2 commits
-
-
Iustin Pop authored
Some names were wrong, and similar stuff detected by pylint. gnt-debug.GenericOpCode is still broken. Reviewed-by: imsnah
-
Iustin Pop authored
Currently the gnt-* scripts are using a mix of print, logger.ToStd* and sys.stderr.write. We convert them all to using cli.ToStdout/err. This way, we can easily change the implementation for all at once. Reviewed-by: imsnah
-
- 07 Oct, 2008 1 commit
-
-
Iustin Pop authored
Background: when we have multiple jobs in the queue (more than just a few), many of the jobs (up to the number of threads) will be in state 'running', although many of them could be actually blocked, waiting for some locks. This is not good, as one cannot easily see what is happening. The patch extends the opcode/job possible statuses with another one, waiting, which shows that the LU is in the acquire locks phase. The mechanism for doing so is simple, we initialize (in the job queue) the opcode with OP_STATUS_WAITLOCK, and when the processor is ready to give control to the LU's Exec, it will call a notifier back into the _JobQueueWorker that sets the opcode status to OP_STATUS_RUNNING (with the proper queue locking). Because this mechanism does not save the job, all opcodes on disk will be in status WAITLOCK and not RUNNING anymore, so we also change the load sequence to consider WAITLOCK as RUNNING. With the patch applied, creating in parallel (via burnin) five instances on a five node cluster shows that only two are executing, while three are waiting for locks. Reviewed-by: imsnah
-
- 06 Oct, 2008 1 commit
-
-
Iustin Pop authored
This patch adds a new luxi call that implements auto-archiving of jobs older than a certain age (or -1 for all completed jobs), and the gnt-job command that makes use of this (with 'all' for -1). Reviewed-by: imsnah
-
- 30 Sep, 2008 3 commits
-
-
Iustin Pop authored
I didn't realize that my zip will break when no args are passed... Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds posibility of selection of job/opcode timestamps in gnt-job list and info. The code handling the possible cases (None or a valid timestamps) are ugly though... Reviwed-by: imsnah
-
Iustin Pop authored
Currently we format the timestamp inside the gnt-job info function. We will need this more times in the future, so move it to cli.py as a separate, exported function. Reviewed-by: imsnah
-
- 29 Sep, 2008 3 commits
-
-
Iustin Pop authored
This patch adds the job execution log in “gnt-job info” and also allows its selection in “gnt-job list” (however here it's not very useful as it's not easy to parse). It does this by adding a new field in the query job call, named ‘oplog’. With this, one can get a very clear examination of the job. What remains to be added would be timestamps for start/stop of the processing for the job itself and its opcodes. Reviewed-by: imsnah
-
Iustin Pop authored
Currently, it is hard to examine a job in detail; the output of ‘gnt-job list’ is not easy to parse. The patch adds a ‘gnt-job info’ command that is (vaguely) similar to ‘gnt-instance info’ in that it shows in a somewhat easy to understand format the details of a job. The result formatter is the most complicated part, since the results are not standardized; the code attempts to format nicely the most common result types (as taken from a random job list), via a generic algorithm. Reviewed-by: imsnah
-
Iustin Pop authored
It is not currently possibly to show a summary of the job in the output of “gnt-job list”. The closes is listing the whole opcode(s), but that is too verbose. Also, the default output (id, status) is not very useful, unless one looks for (and knows about) an exact job ID. The patch adds a “summary” description of a job composed of the list of OP_ID of the individual opcodes. Moreover, if an opcode has a ‘logical’ target in a certain opcode field (e.g. start instance has the instance name as the target), then it is included in the formatting also. It's easier to explain via a sample output: gnt-job list ID Status Summary 1 error NODE_QUERY 2 success NODE_ADD(gnta2) 3 success CLUSTER_QUERY 4 success NODE_REMOVE(gnta2.example.com) 5 error NODE_QUERY 6 success NODE_ADD(gnta2) 7 success NODE_QUERY 8 success OS_DIAGNOSE 9 success INSTANCE_CREATE(instance1.example.com) 10 success INSTANCE_REMOVE(instance1.example.com) 11 error INSTANCE_CREATE(instance1.example.com) 12 success INSTANCE_CREATE(instance1.example.com) 13 success INSTANCE_SHUTDOWN(instance1.example.com) 14 success INSTANCE_ACTIVATE_DISKS(instance1.example.com) 15 error INSTANCE_CREATE(instance2.example.com) 16 error INSTANCE_CREATE(instance2.example.com) 17 success INSTANCE_CREATE(instance2.example.com) 18 success INSTANCE_ACTIVATE_DISKS(instance1.example.com) 19 success INSTANCE_ACTIVATE_DISKS(instance2.example.com) 20 success INSTANCE_SHUTDOWN(instance1.example.com) 21 success INSTANCE_SHUTDOWN(instance2.example.com) This is done by a simple change to the opcode classes, which allows an opcode to format itself. The additional function is small enough that it can go in opcodes.py, where it could also be used by a client if needed. Reviewed-by: imsnah
-
- 28 Jul, 2008 1 commit
-
-
Michael Hanselmann authored
Reviewed-by: ultrotter
-
- 24 Jul, 2008 1 commit
-
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
- 23 Jul, 2008 1 commit
-
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
- 11 Jul, 2008 1 commit
-
-
Michael Hanselmann authored
"gnt-job list" was broken after my recent changes in the RPC between clients and the master. This patch makes it work again. Reviewed-by: iustinp
-
- 01 Jul, 2008 1 commit
-
-
Iustin Pop authored
This adds the same “-o +...” functionality in gnt-job as in the node and instance scripts. Reviewed-by: imsnah
-
- 13 May, 2008 3 commits
-
-
Iustin Pop authored
[Trunk version] Reviwed-by: imsnah
-
Iustin Pop authored
This reverts commit 976. Reviewed-by: ultrotter
-
Iustin Pop authored
[Forward-port of the 1.2 branch patch] This patch removes all the parameters and options from the output "gnt-X" (i.e. the subcommand list for command). This is done in order to uniformize the output, currently only some parameters are shown and they are not always consistent (e.g. required versus important parameters). Reviewed-by: ultrotter
-
- 10 Apr, 2008 1 commit
-
-
Iustin Pop authored
This patch changes the definition of a job and introduces per-opcode results. First, the result and status fields of a job are condensed into a single 'status' attribute. Then, we introduce an opcode status and one result list, that allow jobs to return values. The gnt-job script is also modified to allow these new fields to be queried. Note that the patch changes the opcode field to op_list, and it changes its return value from string to a list of (serialized) opcodes. Reviewed-by: ultrotter
-
- 04 Apr, 2008 1 commit
-
-
Iustin Pop authored
This patch adds a very basic gnt-job script that allows job querying. This goes on top of the previous master daemon patches. Currently, because of the not-changed cmd lock, you can't query the jobs as long as a job is running - you have to rm the cmd lock and then you can query the jobs. Reviewed-by: imsnah
-