- Jun 22, 2011
-
-
Apollon Oikonomopoulos authored
This patch introduces the following changes to lib.config and lib.objects to facilitate IP pool management. - Add a "networks" key to objects.cluster to hold link -> subnet relations. Each link is assumed to be associated with at most one IPv4 and at most one IPv6 subnet. Currently only IPv4 subnets are used. - Add a TemporaryReservationManager for IP address reservations. - Add config.{_UnlockedCommitIp,CommitIp,_UnlockedReleaseIp,ReleaseIp} to write IP pool changes to the config file. - Add config.{ReserveIp,GenerateIp} for use with the _temporary_ips TemporaryReservationManager. - Commit succesful reservations/releases to the IP pools in config.AddInstance and config.RemoveInstance Signed-off-by:
Apollon Oikonomopoulos <apollon@noc.grnet.gr>
-
- Apr 20, 2011
-
-
Iustin Pop authored
If the cluster was upgraded from 2.4 or earlier, this key won't exist (it's only set to a correct value on cluster init), so we need to properly set it to a null string (disabled). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Apollon Oikonomopoulos authored
This patch introduces basic shared block storage support. It introduces a new storage backend, bdev.PersistentBlockDevice, to use as a backend for shared block storage. The new bdev requires a new BLOCKDEV_DRIVER_MANUAL constant with the value "manual" and uses it as the first part of the block device unique_id. A new disk template, DT_BLOCK is introduced as well and added to DTS_EXT_MIRROR and DTS_MAY_ADOPT. Also added DTS_MUST_ADOPT constant and use it to check for the presence of the adopt keyword during LU invocation. We enforce the /dev/disk limitation upon adoption, but we allow block devices to reside anywhere under /dev. This is very basic support and includes no storage manipulation (provisioning, resizing, renaming) which will have to be implemented through a "driver" framework. Signed-off-by:
Apollon Oikonomopoulos <apollon@noc.grnet.gr> [iustin@google.com: slight changes to bdev.py] Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Apollon Oikonomopoulos authored
This patch introduces core file storage support, consisting of the following: A configure-time switch for enabling/disabling shared file storage support and controlling the shared file storage location: --with-shared-file-storage-dir=. Shared file storage configuration is then available as _autoconf.ENABLE_SHARED_FILE_STORAGE and _autoconf.SHARED_FILE_STORAGE_DIR and there is a cluster-wide ssconf key named "shared_file_storage_dir" for changing the file location. A new disk template named "sharedfile" (DT_SHARED_FILE), using ganeti.bdev.FileStorage. Auxiliary functions in lib/config.py to handle shared file storage. Signed-off-by:
Apollon Oikonomopoulos <apollon@noc.grnet.gr> [iustin@google.com: small style fixes] Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 25, 2011
-
-
Stephen Shirley authored
Signed-off-by:
Stephen Shirley <diamond@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jan 20, 2011
-
-
Michael Hanselmann authored
With this patch, the exporting node will retry to connect a few times. The receiving node will make use of the master's increased timeout (see previous patch). Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 13, 2011
-
-
Iustin Pop authored
Patch 03941a26 made disk growth VG-aware, but the code has a bug: it only works for LD_LV disks, and not LD_DRBD. To fix it, we add a generic function to compute the per-VG growth requirements, and switch to using that instead of manual build. Furthermore, since the function _CheckNodesFreeDiskPerVG always takes its input from this new function or _ComputeDiskSizePerVG, we change the latter to always return a dict (possibly empty), instead of either a dict or None. This makes the types more consistent. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jan 11, 2011
-
-
Michael Hanselmann authored
For an instance with a single disk the message should be “… disks 0 to 0”, not “… 0 to 1”. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Jan 07, 2011
-
-
Michael Hanselmann authored
With this patch OpConnectConsole will no longer just return a command with arguments, but rather a detailed description about how to connect to an instance's console. Unittests for some parts are included. Another patch will follow to adjust the hypervisor abstractions for the new model. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Dec 14, 2010
-
-
René Nussbaumer authored
This is just a state of record field and does not necessary reflect the reality. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Dec 13, 2010
-
-
Adeodato Simo authored
This can be set at group creation time and via OpSetGroupParams. The default is "preferred", and existing node groups from previous Ganeti version will get the attribute set to this value. Signed-off-by:
Adeodato Simo <dato@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
… and use them in cmdlib. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
Also update description of QueryFieldDefinition.name. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Dec 08, 2010
-
-
Adeodato Simo authored
The defaults are filled in from the node group defaults, not cluster defaults (presumably copy & paste error). Signed-off-by:
Adeodato Simo <dato@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Adeodato Simo authored
In particular: - add AddNodeGroup and RemoveNodeGroup in config.py - refactor _UpgradeConfig to make use of _UnlockedAddNodeGroup - add support for objects.NodeGroup in ConfigWriter.Update; add missing "serial_no" attribute to NodeGroup objects - update NodeGroup.UpgradeConfig to set mtime and serial_no if missing (the refactored code in _UpgradeConfig was not settting mtime nor ctime) Signed-off-by:
Adeodato Simo <dato@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Dec 06, 2010
-
-
Guido Trotter authored
This has been deprecated and unused since 2.1. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Dec 02, 2010
-
-
Dmitry Chernyak authored
Changes to backend.GetVolumeList(): - now accepts a list of VGs instead of one VG - returns LV names in the form "vg_name/lv_name" Corresponding changes are done in: VerifyDisks, VerifyNode, LUCreateInstance (for both disk creation and adoption cases) Now the syntax "gnt-instance add ... --disk N:adopt=LV_NAME,vg=VG_NAME" as was described earlier in the man page works. Signed-off-by:
Dmitry Chernyak <dmi.chernyak@gmail.com> [iustin@google.com: QA changes for reserved LVs, style fixes and a few extra error checks, reviewed by hansmi/rn] Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Nov 29, 2010
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Nov 22, 2010
-
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 27, 2010
-
-
Iustin Pop authored
This adds the flag and some initial handling. The rest of the changes, for cmdlib, come in a separate patch. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Oct 26, 2010
-
-
Iustin Pop authored
In the context of a node, its group has (at least today) only one meaning, that is the node's node group. As such, we rename node.nodegroup to just node.group. Note: if we want to keep node in there, it should be at least node_group, for consistency with the other node attributes. Similarly, we rename the OpAddNode nodegroup attribute to group. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 12, 2010
-
-
René Nussbaumer authored
This is the first step for the support of wiping block devices prior to creation of the instance. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 05, 2010
-
-
Iustin Pop authored
Per the mailing list discussion, rename _oss to _os, both in cluster parameters and in the rest of the code. This is just an s/_oss/_os, with the exception of a small bit of cleanup around the helper_os function in cmdlib.py. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Sep 30, 2010
-
-
Iustin Pop authored
The new variables are: - a list of hidden OSes, that should not be displayed to the users in interactive selection (e.g. reinstall); however, if they are selected, they can be used - a list of OSes that should be hidden and blocked from install-time selection The filtering will apply at pure OS name level, not OS+variant level. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
Currently, the computation of the 'pure' name or the variant is hardcoded and spread around the functions that need it. This is not nice, and in the future we'd spread it even more with more usage of variants/pure os names. This patch abstracts these functions into the OS class, and then replaces the hardcoded uses with the new functions. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Sep 15, 2010
-
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Sep 14, 2010
-
-
Guido Trotter authored
If a node doesn't have a node group we'll upgrade the config making it the cluster default. Also the node add and removal operations are changed to set/clear the node group correctly. Finally we populate the "members" list of nodegroups on config load with the value from the nodes. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Also: - reformat the __slots__ declaration of ConfigData - call UpgradeConfig on each node groups to handle future upgrades - add nodegroups special case in {To,From}Dict - add nodegroups to _AllUUIDObjects Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
When _ContainerFromDicts is called on some element which doesn't exist in the config, because it is yet to be upgraded, it will receive its value as None. We take care of this case by using an empty element of the required target type. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
The "members" slot of this object is not serialized, and is discarded when deserializing, initializing it explicitly to []. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Sep 06, 2010
-
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Aug 19, 2010
-
-
Manuel Franceschini authored
We expose the ip_version (4, 6) to the external interface and internally we convert it to ip_family (AF_INET=2, AF_INET6=10). This makes the code more concise as all functions deal with family rather than version. This patch does not yet expose this parameter via gnt-cluster, but only uses the constant IP4_VERSION. This will be enabled in a future patch. Signed-off-by:
Manuel Franceschini <livewire@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 26, 2010
-
-
Iustin Pop authored
This parameter, which is a list of regular expression patterns, will make cluster verify ignore any such LVs. It will not prevent creation or removal of such volumes by the backend code. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Jul 08, 2010
-
-
Apollon Oikonomopoulos authored
Add a cluster parameter to hold the iallocator that will be used by default when required and no alternative (manually-specified iallocator or manually-specified node(s)) is given. Signed-off-by:
Apollon Oikonomopoulos <apollon@noc.grnet.gr> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 06, 2010
-
-
Luca Bigliardi authored
Signed-off-by:
Luca Bigliardi <shammash@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Luca Bigliardi authored
Signed-off-by:
Luca Bigliardi <shammash@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Luca Bigliardi authored
Signed-off-by:
Luca Bigliardi <shammash@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jun 28, 2010
-
-
Guido Trotter authored
The comments seem to imply we can remove deprecated slots after 2.1 is released. This is not quite true, if we still want to support upgrading straight from 2.0. So let's specify better that they can be removed only after upgrading from 2.0 can be deprecated. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jun 23, 2010
-
-
Iustin Pop authored
The patch also modifies the instance RPC calls to fill the osparameters correctly with the cluster defaults, and exports the OS parameters in the instance/OS environment. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-