- Jan 27, 2012
-
-
Guido Trotter authored
- Specify how maxmem and minmem are used at startup, failover and migrate - Add a paragraph about how to manually change the runtime memory, and what Ganeti will and won't do automatically as of version 2.6 Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Guido Trotter authored
Since instances can be started, failed over and migrated with less than their maximum memory N+1 will use the minimum memory for verification. Note that this accounts only for the instances being moved being resized, and not for the ones already on the node, as ganeti will not automatically resize other instances on the target node now when trying to start/failover/migrate an instance. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 26, 2012
-
-
Iustin Pop authored
When using a really random "extra cpus" variable, this can overflow (especially on 32 bit) and thus the final value can be < 0, thus the test will fail to fail. It doesn't make sense to test with huge values, so let's just generate a reasonable value. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Guido Trotter authored
- Report the attribute value in the hooks runtime variable. - Use it to abort migration if not enough memory is available on the target node. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
This will be used for now to avoid ballooning memory at live migration time. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
Failover works magically after we relax the check: the start operation will just use less memory, if less memory is available. For migrate we need to balloon down the source memory before the migration, if the target node doesn't have enough capacity. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@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>
-
Iustin Pop authored
This was missing before, so with the new metric (NCpus), it's a good time to test this. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
This patch changes the allocation delta stats from RSpec to AllocInfo. There's nothing interesting about it, but it should allow more correct computations of Npus in hspace. I also moved the AllocStats type alias from Cluster.hs to Types.hs (just makes more sense). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
The current RSpec type doesn't cut it anymore (and it's used in other places), so let's introduce a separate type for holding these statistics. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
This will be used in hspace for proper tracking of used/pool/unavail npus. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Otherwise the docstrings for members take too many lines. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This is superseded now. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Instead of always overriding, we should update the nodes's maxcpu setting only when the option is specified. Otherwise this will be read from the cluster or from the Ganeti constant for non-live backends. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
hspace computes the NPU (normalised CPU units) via the (used|pool|avail) VCPU divided by the (currently cluster-wide) max vcpu_ratio. However, in the future we'll have variable vcpu_ratios, so we can't the calculation as such. We temporarily change to computing the average vcpu_ratio across the cluster, however long-term this needs to be improved, as ∑ (Vi/Pi) ≠ ∑ Vi / ∑ Pi. In the meantime we implement this patch to remove the use of a global mcpu variable. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Since the iPolicy contains the vcpu_ratio now, we can remove the per-node mCpu value (which was the initial way to set this attribute). Furthermore, we need to re-set the hiCpu value when changing the policy. And of course some associated unittest changes. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
This will be "naturally" read in the JSON-based backends (Luxi/Rapi), and we add explicit code for handling it in the Text backend. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
And remove a strange comment (the commit which introduced it, d61df03e, doesn't explain it). Also document these new keys in iallocator.rst. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
… and add the disk_templates/vcpu_ratio new entries. Since the default ispecs_* are dicts, we can't compare them to none. Additionally, add a QA test for this case (empty cluster modify). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
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>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jan 25, 2012
-
-
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>
-
René Nussbaumer authored
We need to loop over all node groups to apply their modification to make sure that the new ipolicy actually affects their instance Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
René Nussbaumer authored
If we modify the ipolicy we need to verify if any instance would now violate the new ipolicy and warn about it. Any instance which already violates the old one is ignored. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
René Nussbaumer authored
This helper will be used with the Op*SetParams and ipolicy verifications Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Jan 24, 2012
-
-
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>
-
Michael Hanselmann authored
While debugging an issue recently I had the pleasure of looking at a long, single-line string of JSON data. This simple utility makes it possible to format such data into a readable format. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 23, 2012
-
-
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>
-
Nikos Skalkotos authored
To use the features spice agent provides, a dedicated virtio-serial channel must be created in qemu-kvm. The communication between the agent and the other spice components takes place over this channel. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Andrea Spadaccini <spadaccio@google.com>
-
Iustin Pop authored
… this is yet another manual serialisation of objects :( Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@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>
-
Michael Hanselmann authored
Before this change an assertion would fail as the resource locks weren't actually acquired. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
The variable “instance” is an instance object, so to not get a serialized version of the instance, the “name” attribute must be used. 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>
-
Michael Hanselmann authored
With this patch a new option (“-M”, like dsh) is added to “gnt-cluster command” to prepend the node name to all output lines. $ gnt-cluster command -M uname -a | grep Linux node18.example.com: Linux node18.example.com [...] node19.example.com: Linux node19.example.com [...] Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-