- 08 Oct, 2008 1 commit
-
-
Iustin Pop authored
This (big) patch moves the hypervisor type from the cluster to the instance level; the cluster attribute remains as the default hypervisor, and will be renamed accordingly in a next patch. The cluster also gains the ‘enable_hypervisors’ attribute, and instances can be created with any of the enabled ones (no provision yet for changing that attribute). The many many changes in the rpc/backend layer are due to the fact that all backend code read the hypervisor from the local copy of the config, and now we have to send it (either in the instance object, or as a separate parameter) for each function. The node list by default will list the node free/total memory for the default hypervisor, a new flag to it should exist to select another hypervisor. Instance list has a new field, hypervisor, that shows the instance hypervisor. Cluster verify runs for all enabled hypervisor types. The new FIXMEs are related to IAllocator, since now the node total/free/used memory counts are wrong (we can't reliably compute the free memory). Reviewed-by: imsnah
-
- 01 Oct, 2008 1 commit
-
-
Michael Hanselmann authored
ssconf will become write-only from ganeti-masterd's point of view, therefore all settings in there need to go into the main configuration file. Reviewed-by: iustinp
-
- 29 Sep, 2008 1 commit
-
-
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
-
- 27 Sep, 2008 1 commit
-
-
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
-
- 22 Sep, 2008 1 commit
-
-
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
-
- 29 Aug, 2008 1 commit
-
-
Alexander Schreiber authored
Add HVM device type flags 1/4 Reviewed-by: ultrotter
-
- 25 Jun, 2008 1 commit
-
-
Michael Hanselmann authored
Apparently there were still some leftovers. While removing an instance, I got the message "unhandled exception 'module' object has no attribute 'LD_MD_R1'". Reviewed-by: iustinp
-
- 23 Jun, 2008 1 commit
-
-
Michael Hanselmann authored
Reviewed-by: ultrotter
-
- 17 Jun, 2008 2 commits
-
-
Iustin Pop authored
Currently, the way to customize a DRBD disk from (node name 1, node name 2, port) to (ip1, port, ip2, port) is to use the ConfigWriter method SetDiskID. However, since this needs a ConfigWriter object, it can be run only on the master, and therefore disk object can't be passed to more than one node unchanged. This, coupled with the rpc layer limitation that all nodes in a multi-node call receive the same arguments, prevent any kind of multi-node operation that has disks as an argument. This patch takes the SetDiskID method from ConfigWriter and ports it to the disk object itself, and instead of the full node configuration it uses a simple {node_name: replication_ip} mapping for all the nodes involved in the disk tree (currently we only pass primary and secondary node since we don't support nested drbd devices). This allows us to send disks to both the primary and secondary nodes at once and perform synchronized drbd activation on primary/secondary nodes. Note that while for the 1.2 branch this will not change old methods, it is worth to investigate and possible replace all such calls on the master to the nodes themselves for the 2.0 branch. Reviewed-by: ultrotter
-
Iustin Pop authored
This patch adds a method that implements updating of a disk (object.Disk) size, together with its children. While this will not track the exact disk size, it allows at least an approximate size to be recorded in the configuration (and queried). Reviewed-by: imsnah
-
- 30 May, 2008 1 commit
-
-
Iustin Pop authored
This patch removes the last of the md and drbd 0.7 code. Cluster which have the old device types will be broken if they have this applied. Reviewed-by: imsnah
-
- 25 Apr, 2008 1 commit
-
-
Iustin Pop authored
This patch extends the config objects with the slots to handle more HVM configuration items. Author: schreiberal Reviewed-by: iustinp,imsnah
-
- 21 Apr, 2008 1 commit
-
-
Iustin Pop authored
This simple patch adds a new module that holds the simplejson functions for serialization/deserialization. This reduces the amount of redundant code. The patch also adds some normalizations to the json output: - the output text will always have an EOL as last char - extra spaces before EOL are removed Reviewed-by: ultrotter
-
- 25 Mar, 2008 1 commit
-
-
Manuel Franceschini authored
Reviewed-by: iustinp
-
- 05 Mar, 2008 1 commit
-
-
Michael Hanselmann authored
Reviewed-by: ultrotter
-
- 09 Jan, 2008 1 commit
-
-
Alexander Schreiber authored
First step to support custom boot device order for HVM instances, add a location to actually store that information for the instance. Reviewed-by: iustinp
-
- 08 Jan, 2008 1 commit
-
-
Iustin Pop authored
This patch adds two new attributes to the instance object: - kernel_path - object_path The code ignores them and the configuration handling is not broken by this addition. Reviewed-by: imsnah
-
- 17 Dec, 2007 1 commit
-
-
Alexander Schreiber authored
Extends the instance object by adding a port item, also adds changes to print this port via gnt-instance info. Reviewed-by: iustinp
-
- 06 Nov, 2007 2 commits
-
-
Iustin Pop authored
This patch adds the following functionality: - DRBD8 devices can assemble without local storage (done by allowing None in the list of children, and making DRBD8 to ignore all children if any is None) - DRBD8 devices can attach (i.e. identify a device) which is not connected to backing storage but to the correct network ports; this is a rare case in normal operation (it's what would happen if one manually detaches the local disk, and the backing LV still exists) Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds a function returning the device path if it is computable from the disk object (and we don't need to instantiate a bdev object on the target node in order to compute this). Only LVs support this. Reviewed-by: imsnah
-
- 05 Nov, 2007 2 commits
-
-
Guido Trotter authored
Add a new FromInvalidOS static function to objects.OS that makes it easy to create an object representing a broken OS starting from the relevant exception. Reviewed-By: iustinp
-
Guido Trotter authored
Till now the OS object just represents a correct OS instance. Change it so it can represent a broken one too, by adding a "status" field: if this field is different from the OS_VALID_STATUS constant the object is considered to be an invalid OS, the "status" field to be a debugging message, and its boolean status is set to false. Reviewed-By: iustinp
-
- 02 Nov, 2007 1 commit
-
-
Iustin Pop authored
I forgot a pair of parentheses in that revision which break the common case. This patch adds them. Reviewed-by: ultrotter
-
- 01 Nov, 2007 1 commit
-
-
Iustin Pop authored
If the device is unconfigured (not yet did SetDiskID for it ever), it might have a physical_id of None. This patch fixes that case. Reviewed-by: ultrotter
-
- 26 Oct, 2007 1 commit
-
-
Iustin Pop authored
This is done in order to easy debugging of disk-related issues. Reviewed-by: imsnah
-
- 24 Oct, 2007 1 commit
-
-
Iustin Pop authored
This is a partially working drbd8 template type. It does: - add/remove - startup/failover/shutdown Not working is replace disks, which needs custom code for this template. Reviewed-by: imsnah
-
- 19 Oct, 2007 1 commit
-
-
Iustin Pop authored
Currently, the disk types are defined using constants in the code. Convert those into constants so that we can easily find them and check their usage. Note that we don't rename the values of the constants as they are used in the configuration file, and as such it's best to leave them as they are. Reviewed-by: imsnah
-
- 10 Oct, 2007 1 commit
-
-
Iustin Pop authored
Since modules are not directly executables, remove the shebang from them. This helps with lintian warnings. Also make the autogenerated _autoconf.py contain two comment lines at the beginning, like the other modules. Reviewed-by: ultrotter
-
- 08 Oct, 2007 2 commits
-
-
Iustin Pop authored
Reviewed-by: imsnah
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
- 04 Oct, 2007 1 commit
-
-
Michael Hanselmann authored
- Add NEWS file with major changes between versions. - Bump RPC version number - No longer serialize in RPC, but just convert to dict Old Pickle based configuration files can be converted using the cfgupgrade utility. Reviewed-by: iustinp, ultrotter
-
- 24 Sep, 2007 1 commit
-
-
Iustin Pop authored
This change allows instances of ConfigObject and its children to be converted to and from standard python types. This will allow easier upgrade of the configuration and use of any serialization protocol (not only pickle). The code is not very nice (a little too verbose, I think) but it works. Tested on a 2-node, 3-instance cluster by doing repeated conversions and checking consistency of results. Reviewed-by: imsnah
-
- 21 Sep, 2007 2 commits
-
-
Iustin Pop authored
It makes sense to make the TaggableObject a child of the ConfigObject, since in this case we can derive the Instance, Node and Cluster objects only from the TaggableObject and have a cleaner hierarchy. For consistency child classes will have to declare their slots by adding their parents on top. Reviewed-by: imsnah,ultrotter
-
Iustin Pop authored
Unless we use __slots__ on all parents, we don't get the benefits that __slots__ bring. This patch adds this attribute to the TaggableObject so that Instances, Nodes and the Clusters behave as intended. Reviewed-by: schreiberal,imsnah
-
- 17 Sep, 2007 1 commit
-
-
Iustin Pop authored
This patch adds support for renaming at OS level. Because of this, we need to bump up the version of the OS api from 4 to 5. The patch also documents the new script interface in the ganeti-os-interface(7) man page and adds a section on upgrading the OS definitions to the new version. Reviewed-by: imsnah
-
- 20 Aug, 2007 1 commit
-
-
Iustin Pop authored
Reviewed-by: imsnah
-
- 14 Aug, 2007 1 commit
-
-
Iustin Pop authored
This changes the raising of exceptions from: raise Exception, value to raise Exception(value) as the first form will be removed in python-3000 and the second form is preferred now. The changes also involve a few cases of changing from raising standard exceptions and use our own ones. The new version also fixes many pylint-generated warnings, especially in ganeti-noded where I changed many methods to @staticmethod. There is no functionality changed (barring any bugs).
-
- 08 Aug, 2007 1 commit
-
-
Iustin Pop authored
This is only the backend part, from the command line the tags can't be read/modified yet. Reviewed-by: imsnah
-
- 02 Aug, 2007 1 commit
-
-
Michael Hanselmann authored
-
- 27 Jul, 2007 1 commit
-
-
Iustin Pop authored
Reason: if left ConfigWriter, nodes don't know to which cluster they belong. This will bite us later when we'll revisit node join operation. Cons: we lose the cluster name from the config file, which means a standalone "cluster.data" is a little bit harder to analyze. But I have a plan for this which will follow shortly. Implementing this will also allow us to cleanly fix "gnt-cluster getmaster". Reviewed-by: imsnah
-