- Apr 10, 2008
-
-
Guido Trotter authored
Of course instance creation don't have any modem, and the comment was just talking about modes. Sorry to everybody expecting whistles. Reviewed-by: imsnah
-
- Apr 05, 2008
-
-
Iustin Pop authored
This patch adds checks for the master role and daemonize support to ganeti-masterd. The patch modifies the startup/shutdown of the server because: - we want bind()/listen() to the master socket to occur before forking so that we can return a correct exit code and write messages to stderr - but we want thread startup to occur after fork(), otherwise python threading gets confused The patch also has some small cleanups: - remove the unix socket after closing it, so we don't need to remove it manually - instead of just telling the threads to terminate via the new_queue, we also join() them so that the logs show what thread clinging to life - the daemon logs to its own logfile now - there is command line parameter support :) Reviewed-by: imsnah
-
- Apr 01, 2008
-
-
Iustin Pop authored
This patch adds function that submit jobs or queries over the unix socket interface to lib/cli.py. The will be used by the scripts instead of the SubmitOpCode function. Reviewed-by: ultrotter
-
- Mar 31, 2008
-
-
Manuel Franceschini authored
DTS_NOT_LVM: This constant is needed when checking if an instance can be created with the given disk template if no lvm-storage is available, i.e. the ganeti cluster does not have a volume group DEFAULT_VG: 'xenvg' has been hardcoded before. Reviewed-by: iustinp
-
- Mar 25, 2008
-
-
Manuel Franceschini authored
Reviewed-by: iustinp
-
- Mar 19, 2008
-
-
Manuel Franceschini authored
Author: manuel.franceschini Reviewed-by: iustinp
-
- Mar 18, 2008
-
-
Michael Hanselmann authored
Reviewed-by: ultrotter
-
- Jan 20, 2008
-
-
Iustin Pop authored
Currently, the function backend._GetVGInfo only checks for errors via the exit code of the 'vgs' command. However, there are other ways of failure so we need to also check for valid output before parsing. Furthermore, the checks on the exit code were reported via a 'raise LVMError', however this exception is not handled anywhere and so the remote caller will not get reasonable data. This patch does two main things: - change the calling protocol for this function to not raise an error, and instead return the same type of argument always (dict) with the requested keys but values changed into None; this allows in the parent rpc call node_info to have valid memory information but "error" value for disk space, if there's an error with disks - check the validity of the output so that in case we fail to parse it, we don't abort with a backtrace in the node daemon but instead return the default result value (containing errors), and log these cases in the node daemon log file We also bump the protocol version to 11. Reviewed-by: ultrotter
-
Iustin Pop authored
Currently the fake hypervisor has hardcoded ‘/var/run’ as a base directory for its store. This patch adds a constant RUN_DIR that is used for both the fake hypervisor and for BDEV_CACHE_DIR. Reviewed-by: ultrotter
-
- Jan 11, 2008
-
-
Alexander Schreiber authored
This patch adds support for specifying and changing the boot device order for HVM instances. The boot device order specification is ignored for non HVM instances. Reviewed-by: iustinp
-
- Jan 08, 2008
-
-
Iustin Pop authored
This patch adds support in ‘gnt-instance modify’ to set the kernel and initrd paths. The user can pass either 'default' or 'none' (none is not valid for kernel). Reviewed-by: imsnah
-
- Jan 07, 2008
-
-
Iustin Pop authored
This patch improves the ‘gnt-cluster verify-disks’ command by adding support for detecting broken volume groups and missing logical volume names. As such, we don't try anymore to activate disks for instances that are not likely to succeed anyway, and instead report them. Reviewed-by: schreiberal
-
- Dec 20, 2007
-
-
Alexander Schreiber authored
This patch implements a first proof-of-concept for HVM support in Ganeti. Due to the nature of this patch, it is intended for test environments only. Reviewed-by: iustinp
-
Alexander Schreiber authored
Abstract the parts of the Xen hypervisor interface shared by both PVM and HVM into a generic interface, subclass the special case PVM from that. Prepatch for adding HVM support. Reviewed-by: iustinp
-
- Dec 18, 2007
-
-
Alexander Schreiber authored
Move constant definitions for hypervisor into constants.py Reviewed-by: ultrotter
-
- Dec 17, 2007
-
-
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
-
- Dec 11, 2007
-
-
Iustin Pop authored
Currently, the volume_list call returns only the volume size. However, it is useful to also have two other things: the 'inactive' state of the volume (which might trigger a ‘vgchange -a y’ on the volume group) and the online state (which shows if the volume is in use or not). Since this modifies an RPC call, we also bump the protocol version, although the single user of the call didn't care about the dictionary values, only about the keys. Reviewed-by: imsnah
-
- Nov 29, 2007
-
-
Iustin Pop authored
This patch replaces the hardcoded ‘/var/lock/’ directory with one based on LOCALSTATEDIR. Reviewed-by: imsnah
-
- Nov 09, 2007
-
-
Michael Hanselmann authored
Reviewed-by: schreiberal
-
- Nov 07, 2007
-
-
Iustin Pop authored
This (big) patch does two things: - add "local disk status" to the block device checks (BlockDevice.GetSyncStatus and the rpc calls that call this function, and therefore cmdlib._CheckDiskConsistency) - improve the drbd8 secondary replace operation using the above functionality The "local disk status" adds a new variable to the result of GetSyncStatus that shows the degradation of the local storage of the device. Of course, not all device support this - for now, we only modify LogicalVolumes and DRBD8 to return degraded in some cases, other devices always return non-degraded. This variable should be a subset of is_degraded - whenever this variable is true, the is_degraded should also be true. The drbd8 secondary replace uses this variable as we don't care if the primary drbd device is network-degraded, only if it has good local disk data (ldisk is False). The patch also increases the protocol version (due to rpc changes). Reviewed-by: imsnah
-
- Nov 05, 2007
-
-
Guido Trotter authored
The OS cleanup patches change the wire protocol. Increment the protocol number by one. 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
-
- Nov 02, 2007
-
-
Iustin Pop authored
Currently, troubleshooting DRBD problems involves a manual process of going backwards from the DRBD device to the instance that owns it. This patch adds a weak (i.e. not guaranteed to be correct or up-to-date) cache of device to instance. The cache should be, in normal operation, having correct information as the only time when devices change paths are when they are started/stopped, and the code in backend.py adds cache updates to exactly these operations. The only drawback of this implementation is that we don't fully update the cache on renames of devices (we clean the old entries but we don't add new ones). Since the rename changes the path only for LVs (and not drbd and md), this is less of a problem as the target of this code is debugging DRBD and MD issues. The patch writes files named bdev_drbd<N> (or bdev_md<N>, bdev_xenvg_...) in /var/run/ganeti (more exactly, LOCALSTATEDIR/ganeti). The files start with 'bdev_' and continue with the path of the device under /dev/ (this prefix stripped), and contain the following values, space separated: - instance name - primary or secondary (depending on how the device is on the primary or secondary node) - instance visible name: sda or sdb or not_visible, the latter case when the device is not the top-level device (i.e. remote_raid1 templates will have sd[ab] for the md, but not_visible for drbd and logical volumes) The cache is designed to not raise any errors, if there is an I/O error it will only be logged in the node daemon log file. This is in order to reduce the possible impact of the cache on the block device activation and shutdown code. Reviewed-by: imsnah
-
- Oct 29, 2007
-
-
Iustin Pop authored
This patch adds three modes of disk replacement for drbd8: - replace the disk on the primary node - replace the disk on the secondary node - replace the secondary node It also adds some debugging code to backend.py and increments the protocol version for the recent changes of the rpc layer. Reviewed-by: imsnah
-
- Oct 24, 2007
-
-
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
-
- Oct 19, 2007
-
-
Iustin Pop authored
Reviewed-by: imsnah
-
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
-
- Oct 17, 2007
-
-
Alexander Schreiber authored
This patch series implements the reboot command for gnt-instance. It supports three types of reboot: soft (hypervisor reboot), hard (instance config rebuild and reboot) and full (full instance shutdown and startup again). This patch contains the backend and rpc part of the patch. Reviewed-by: iustinp
-
- Oct 16, 2007
-
-
Iustin Pop authored
The node's ssh keys filenames are now provided as constants; this should allow easier customization. Also, the user's ssh key computing has been abstracted into ssh.py Reviewed-by: imsnah
-
- Oct 12, 2007
-
-
Iustin Pop authored
This patch does the following: - add constants.GANETI_RUNAS = "root", which is used to compute the homedir (and thus the .ssh directory) instead of hardcoding "/root/.ssh" in backend.AddNode and backend.LeaveCluster - add constants.SSH_CONFIG_DIR (currently hardcoded to /etc/ssh) that is used in backend instead of hardcoding it (preparation for selecting that at ./configure time) - some more internal cleanup in backend.AddNode Reviewed-by: imsnah
-
- Oct 11, 2007
-
-
Iustin Pop authored
This patch adds a special hook: the post-configuration update hook. This hook has only a post phase that runs after a top-level LU that modified the configuration. Since the hook is a post-phase one, no error checking is done on the results. The hook runs only on the master. Reviewed-by: imsnah
-
- Oct 10, 2007
-
-
Alexander Schreiber authored
This patch completely gets rid of fping - replace all fping invocations with TcpPing calls - update documentation accordingly. - associated cleanups (use constant for localhost IP, use more sensible defaults for TcpPing and _use_ those) Reviewed-by: iustinp
-
Iustin Pop authored
This patch adds a new 'evacuate' subcommand to gnt-node. The command will do a replace disks for all instances having that node as secondary with the new target being the new node given. The syntax is: gnt-node evacuate src_node target_node The command by itself doesn't do any resource checks, and instead relies on the LUFailoverInstance code to do that. Reviewed-by: imsnah
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
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
-
Michael Hanselmann authored
- Change format of watcher state file to JSON. - Move log path for watcher script to constants.py. Reviewed-by: iustinp
-
- Oct 04, 2007
-
-
Guido Trotter authored
- Document the expected change to errors.InvalidOS - Always pass the additional argument - Modify DiagnoseOS output to show the path Reviewed-by: iustinp, imsnah
-
- Sep 28, 2007
-
-
Guido Trotter authored
directories which can contain OS scripts. The list defaults to the current one but can be changed at configure time. Reviewed-by: imsnah
-
- Sep 27, 2007
-
-
Guido Trotter authored
This is needed to improve FHS compliance for distribution integration. The need was discussed on the alioth pkg-ganeti project. Reviewed-by: imsnah
-
- Sep 25, 2007
-
-
Michael Hanselmann authored
Reviewed-by: iustinp
-