- 26 Jan, 2012 4 commits
-
-
Iustin Pop authored
This allows changing this value from the command line. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This adds the new parameter and changes the validation routines to handle IPOLICY_PARAMETER value as floats. Very very ugly code :(, should be redone much cleaner. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
As opposed to the initial situation, the PARAMETERS will be more than just the min/std/max ispecs. Let's rename it, before re-adding the PARAMETERS constant with a different meaning. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 25 Jan, 2012 1 commit
-
-
Michael Hanselmann authored
With this change a new disk size can be specified when recreating disks. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 24 Jan, 2012 1 commit
-
-
Iustin Pop authored
The ispecs (min/std/max) are different from the other ipolicy variables (disk templates for now, more in the future). As such, let's rename the ispecs-disk-templates to ipolicy-disk-templates for consistency with this logical difference. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 23 Jan, 2012 2 commits
-
-
Constantinos Venetsanopoulos authored
Introduce the rbd disk template, which handles provisioning and management of instance disks as block devices mapped to rbd volumes on a RADOS cluster. The rbd template is of type DTS_EXT_MIRROR, meaning rbd-based instances can failover or migrate to any node, without primary-secondary limitations. Use of this template requires the rbd kernel driver and rbd tool on all VM-capable nodes, as well as an operational RADOS cluster, accessible by them. Signed-off-by:
Constantinos Venetsanopoulos <cven@grnet.gr> Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
When running from git HEAD, just initialising the ipolicy when non-existing is not good enough; we need to upgrade also missing keys, etc. This has downsides though, as it means we'll always 'rewrite' the ipolicy, which might create silent data loss for unhandled changes (e.g. key removal). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 13 Jan, 2012 2 commits
-
-
Iustin Pop authored
As a followup from "Remove extraneous check in policy creation", there are more places where we build an ipolicy, and then manually check for its validity. This is very bad style, as it duplicates the verification code across many places. This patch removes all such explicit checks (except for one in cmdlib.py which is correct), and instead does a bit more validation in the builder functions or in the actual dedicated verification functions. It also fixes cluster init which used the wrong, non-completed ipolicy (this was not detected before as we did call check on it, but otherwise we ignored it), and fixes a too-strong assert (due to the call chain, we first create the ipolicy from cmdline params, and only then we fill it). Finally, it removes an extraneous logging.info which I forgot from debugging. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
This is a bit more complex patch, as it requires changing the assumption that all keys in the policy dict points to values that are themselves dicts. Right now we introduce an assumption that any non-dicts are lists, we'll see in the future if this holds or whether we need more complex type checking (manual, yay Python). The patch also does some trivial style changes. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 11 Jan, 2012 1 commit
-
-
Iustin Pop authored
Cluster-level parameters must *not* be empty. Plus two more minor changes. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 09 Dec, 2011 1 commit
-
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 08 Dec, 2011 5 commits
-
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 02 Dec, 2011 1 commit
-
-
Michael Hanselmann authored
This is useful for working with a node's hypervisor state, where only the primary hypervisor will be authoritative. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 01 Dec, 2011 1 commit
-
-
Andrea Spadaccini authored
objects.py: * add disk parameters to Disk, Cluster, NodeGroup. constants.py: * add dictionaries that will hold types and default values for disk parameters (for now, empty). test/ganeti.constants_unittest.py: * add unit tests for consistency in disk parameters default values. rest of files: * add to gnt-cluster and gnt-group the options to manipulate disk parameters. Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 30 Nov, 2011 2 commits
-
-
Michael Hanselmann authored
- Data objects - Serialization/deserialization - Unittests Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- 22 Nov, 2011 2 commits
-
-
Guido Trotter authored
Queries are already compatible (be/memory is an alias for be/maxmem) and import/exports work. This patch patch fixes it for cluster init, modify and instance add/start/modify. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
For now the new "memory" parameter stays there, but it will be removed later. The new values are just taken from the old one, in this patch. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 16 Nov, 2011 1 commit
-
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 14 Nov, 2011 1 commit
-
-
Andrea Spadaccini authored
Add the use_external_mip_script cluster parameter, that represents whether the master IP address turnup/turndown procedures must use a script provided by the user (True) or the one provided by Ganeti (False). Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 10 Nov, 2011 1 commit
-
-
René Nussbaumer authored
This patch adds the new fields to the objects.py as well as defines the constants used in the dicts and their type. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 04 Nov, 2011 1 commit
-
-
Andrea Spadaccini authored
And also suppress pylint R0902 error about an object instance having more than 20 attributes. Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- 03 Nov, 2011 1 commit
-
-
Andrea Spadaccini authored
Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- 12 Oct, 2011 1 commit
-
-
Iustin Pop authored
We currently use 'filter' as the OpCode, QueryRequest and RAPI field name for representing a query filter. However, since 'filter' is a built-in function, we actually have to use filter_ throughout the code in order to not override the built-in function. This patch simply goes and does a global sed over the code. Due to the fact that the RAPI interface already exposed this field, we add compatibility code for now which handles both forms. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 05 Oct, 2011 1 commit
-
-
Andrea Spadaccini authored
Add the master_netmask cluster parameter, that represents the netmask of the master IP, encoded as a CIDR suffix. This parameter can be set via the --master-netmask of gnt-cluster init and gnt-cluster modify. The default behaviour is to be consistent with the old default (/32 for IPv4 and /128 for IPv6). Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 29 Sep, 2011 1 commit
-
-
Andrea Spadaccini authored
To add status reporting for the KVM migration, the instance_migrate RPC must be non-blocking. Moreover, there must be a way to represent the migration status and a way to fetch it. * constants.py: - add constants representing the migration statuses * objects.py: - add the MigrationStatus object * hypervisor/hv_base.py - change the FinalizeMigration method name to FinalizeMigrationDst - add the FinalizeMigrationSource method - add the GetMigrationStatus method * hypervisor/hv_kvm.py - change the implementation of MigrateInstance to be non-blocking (i.e. do not poll the status of the migration) - implement the new methods defined in BaseHypervisor * backend.py, server/noded.py, rpc.py - add methods to call the new hypervisor methods - fix documentation of the existing methods to reflect the changes * cmdlib.py - adapt the logic of TLMigrateInstance._ExecMigration to reflect the changes Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 13 Sep, 2011 1 commit
-
-
Andrea Spadaccini authored
Also update related unit tests. Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 30 Aug, 2011 1 commit
-
-
Andrea Spadaccini authored
In version 0.21, pylint unified all the disable-* (and enable-*) directives to disable (resp. enable). This leads to a lot of DeprecationWarning being emitted even if one uses the recommended version of pylint (0.21.1, as stated in devnotes.rst). This commit changes all the disable-msg directives to disable. Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 25 Aug, 2011 1 commit
-
-
Michael Hanselmann authored
Identified using the “pep8” utility. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 24 Aug, 2011 1 commit
-
-
Agata Murawska authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- 04 Aug, 2011 1 commit
-
-
Michael Hanselmann authored
The module is called “objects”, not “object”. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 21 Apr, 2011 1 commit
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- 14 Apr, 2011 1 commit
-
-
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>
-
- 08 Mar, 2011 1 commit
-
-
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>
-
- 01 Mar, 2011 1 commit
-
-
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>
-