- Sep 30, 2008
-
-
Iustin Pop authored
This patch adds start, stop, and received timestamp for jobs (and allows querying of them), and allows querying of the opcode timestamps. Reviewed-by: imsnah
-
Michael Hanselmann authored
It said CLI/RAPI will talk to master using HTTP, which isn't true. Add a reference to job queue design document. Small typos. Reviewed-by: iustinp
-
Alexander Schreiber authored
Reviewed-by: iustinp
-
Guido Trotter authored
Reviewed-by: iustinp
-
Guido Trotter authored
Before we were discussing this possible future feature, and its drawbacks, but not its usefulness. This patch corrects this. Reviewed-by: iustinp
-
Guido Trotter authored
Reviewed-by: iustinp
-
Guido Trotter authored
Reviewed-by: iustinp
-
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
-
- Sep 29, 2008
-
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
Iustin Pop authored
This will be an overview document, enumerating the changes without going into details and pointing to the actual documents. Reviewed-by: ultrotter
-
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
For now we only use the ‘C’ protocol so we can put it in constants.py instead of hardcoding it. Reviewed-by: imsnah
-
Iustin Pop authored
This patch enables the use of the shared secrets for DRBD8 disks, using (hardcoded in constants.py) the md5 digest algorithm. For making this more flexible, either we implement a cluster parameter (once the new model is in place), or we can make it ./configure-time selectable. Reviewed-by: imsnah
-
Iustin Pop authored
This patch, which is similar to r1679 (Extend DRBD disks with minors attribute), extends the logical and physical id of the DRBD disks with a shared secret attribute. This is generated at disk creation time and saved in the config file. The generation of the secret is done so that we don't have duplicates in the configuration (otherwise the goal of preventing cross-connection will not be reached), so we add to config.py more than just a simple call to utils.GenerateSecret(). The patch does not yet enable the use of the secrets. 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
-
Iustin Pop authored
Unless we decide to change the job identifiers to integer, we should at least sort the list returned by _GetJobIDsUnlocked. Reviewed-by: imsnah
-
- Sep 28, 2008
-
-
Iustin Pop authored
The bootstrap code needs a pseudo-secret and this is currently generated inside the InitGanetiServerSetup function. Since more users will need this, move it to utils.py Reviewed-by: ultrotter
-
Iustin Pop authored
When the node does not yet have any minors allocated, the first minor (0) will not be entered in the ConfigWriter._temporary_drbds structure. This does not happen for our current usage, since we always ask for two minors (so the next call will not match this case), but it will be triggered if we only ask for one minor, and then ask again before adding the instance to the config file. Reviewed-by: ultrotter
-
- Sep 27, 2008
-
-
Iustin Pop authored
In case the config file is manually modified, or in case of bugs, the tcp/udp ports could be reused, which will create various problems (instances not able to start, or drbd disks not able to communicate). This patch extends the ConfigWriter.VerifyConfig() method (which is used in cluster verify) to check for duplicates between: - the ports used for DRBD disks - the ports used for network console - the ports marked as free in the config file Also, if the cluster parameter ‘highest_used_port’ is actually lower than the computed highest used port, this is also flagged as an error. The output from gnt-cluster verify will show (output manually wrapped): node1 # gnt-cluster verify * Verifying global settings - ERROR: tcp/udp port 11006 has duplicates: instance3.example.com/network port, instance2.example.com/drbd disk sda - ERROR: tcp/udp port 11017 has duplicates: instance3.example.com/drbd disk sda, instance3.example.com/drbd disk sdb, cluster/port marked as free - ERROR: Highest used port mismatch, saved 11010, computed 11017 * Gathering data (2 nodes) ... Reviewed-by: ultrotter
-
Iustin Pop authored
This patch adds update of the cluster serial number for: - add/remove node (as the cluster's node list is changed) - add/remove/rename instance (as the cluster's instance list is changed) - change the volume group name The rule for updating this attribute is when cluster-wide properties are changed, but not individual node/instance ones. There are other remaining cases to handle, pending on the ssconf changes. Reviewed-by: ultrotter
-
Iustin Pop authored
This patch adds listing of the serial_no attribute in gnt-instance and gnt-node list, and updates to the manpages to reflect the change. Reviewed-by: ultrotter
-
Iustin Pop authored
This patch add initialization of the serial_no on instance and nodes, and update of the field whenever an object is updated in the generic case, via ConfigWriter.Update(obj) and in the specific case of instances' state being modified manually. Reviewed-by: ultrotter
-
Iustin Pop authored
Currently the serial_no that is incremented every time the configuration file is written is located on the 'cluster' object in the configuration structure. However, this is wrong as the cluster serial_no should be incremented only when the cluster state is changed (for whatever definition of “changed” we will use), not simply because the configuration file is written. This patch changes so that the ConfigWriter._BumpSerialNo affects the top-level ConfigData object. Reviewed-by: ultrotter
-
Iustin Pop authored
This patch adds the ‘serial_no’ attribute to the other top-level objects (the configuration object itself, the nodes and the instances). Reviewed-by: ultrotter
-
Iustin Pop authored
This seems to be the last (deprecated) use of AddInstance in order to update an instance. The patch also removes a whitespace-at-eol case. Reviewed-by: ultrotter
-
Iustin Pop authored
Reviewed-by: imsnah
-
- Sep 25, 2008
-
-
René Nussbaumer authored
port forward of patch from revision 1690 with following message: Patch on revision 1686 used the wrong field: ial.name, which is the instance name and not the iallocator name. self.op.iallocator is the right field. Sorry for this inconvenience. Reviewed-by: imsnah
-
René Nussbaumer authored
This patch fixes a broken format string. It's expecting 3 parameters, but only gets 2. This change will add the missing parameter. This is a forward-port of the fix in Ganeti 1.2 Reviewed-by: imsnah
-
- Sep 24, 2008
-
-
Iustin Pop authored
It's not complete, but I hope it's up to date. It's restructured text, but no make rules or such for html output are needed, it's readable as-is. Reviewed-by: imsnah
-
Iustin Pop authored
A couple of more modules are using the obsolete logger functions, config being one of them. Reviewed-by: imsnah
-
- Sep 23, 2008
-
-
Iustin Pop authored
With some todos remaining, this patch switches the DRBD devices to use the passed minors, and the cmdlib code (add instance and replace disks) to request and assign minors to the DRBD disks. Todos: - look at the disk RPC calls to see which can be optimized away, since we now know the minor beforehand - remove the _FindUnusedMinor usage from the few places it's still used (not for actual disks, but for temporary use in meta devs) and eventually replace with _CheckMinorUnused or such Of course, this and/or the previous two patches break existing clusters. Again. Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds support for allocating static minors. Like for the LVM uuids, we add a new cache for the temporarily allocated requests, and the users of the new methods must manually clear the cache. If this doesn't happen, at worst we lose some minors. Todos remaining: - implement duplicate check at configuration load, and at instance add/instance update - investigate automatically cleaning the cache on instance add/update if the minors/instance/node pairs match Reviewed-by: imsnah
-
Iustin Pop authored
The code in 'updating instance configuration' section of the replace disks with change secondary node was setting a wrong new logical_id for the drbd devices (only set the new node, not the new minor). The patch fixes this by remembering the new logical_id that we use for activating the drbd and reusing it (instead of recomputing). Since the minors are not needed to be allocated before the LVs are created, we also move the minor allocation step (currently as None) after this step. Reviewed-by: imsnah
-
- Sep 22, 2008
-
-
Iustin Pop authored
This patch converts the DRBD disks to contain also a minor (per each node) attribute. This minor is not yet used and is always initialized with None, so the patch does not have any real-world impact - except for automatically upgrading config files (it adds the minors as None, None). Reviewed-by: imsnah
-
- Sep 18, 2008
-
-
Guido Trotter authored
Currently when not locking all nodes/instances are returned, regardless if the user asked only for some of them. With this patch we return to the previous behaviour: - if no names are specified return info on all current ones - if some names are specified and are not found give an error - otherwise return only info on the specified names Reviewed-by: iustinp
-
Guido Trotter authored
There is no such feature in trunk yet. Reviewed-by: iustinp
-
- Sep 17, 2008
-
-
Michael Hanselmann authored
It abstracts exception handling and is like a complement to utils.WriteFile. Reviewed-by: iustinp
-
Michael Hanselmann authored
The previous description was unclear. Reported by Guido Trotter. Reviewed-by: ultrotter
-
- Sep 12, 2008
-
-
Alexander Schreiber authored
Merged from branches/ganeti/ganeti-1.2 r1648 Use static values for new hvm instance flags Reviewed-by: iustinp
-