- Feb 14, 2012
-
-
Michael Hanselmann authored
The callback is expected to return a two-valued tuple. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 13, 2012
-
-
Iustin Pop authored
Commit 12637df5 changed/generalised how we build fields in the sphinx extension, however it resulted in this uncaught-so-far result: $ echo @QUERY_FIELDS_GROUP@ | ./autotools/docpp <generator object BuildValuesDoc at 0x28fd370> There's no point in yield-ing a single value (as opposed to a stream of values), so let's just "return" it. By the way, there's no test for this kind of error, but I don't think it would happen too often, so I didn't add one (e.g. grep "<.* at 0x[0-9a-f]+>" man/*.[178]). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Guido Trotter authored
Notes: - it'd be nice if there was a way to automatically generate the DiskTemplate list instead of manually specifying it. After all we have C.diskTemplates - Of course this actually does nothing, as for other "half-implemented" templates :( Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
… instead of passing the list of changes as a parameter. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
Sorry, I missed this when I wrote the code originally. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
Unfortunately this got a bit messier than I intended, but then again it cleans up a lot of messy code with heaps of local variables (“this_nic_override”) and LU attributes (“nic_pnew”, “nic_pinst”). Most of these variables were index by a number, or one of the constants.DDM_* constants. This patch moves the code for adding/modifying/removing a NIC/disk to dedicated, small functions. The previously added generic algorithm for applying changes to containers is then used to actually change the instance's network interfaces or disks based on the requested modifications. The LU now supports adding/removing disks/NICs in arbitrary positions. The compuation of all network interface changes has been moved to CheckPrereq, so that its result can be used for hooks. For this to work without side-effects, the NIC objects need to be copied (only done if there are actual changes). The command line utility still needs to be updated. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
While preparing this patch series I identified at least three different implementations of the algorithm for adding/removing/changing NICs/disks. These two functions and corresponding unittests provide a generic implementation with added support for adding/removing arbitrary disks or NICs. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Thou shalt run “make check” before sending patches. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Disk changes aren't allowed at the same time as a disk template change. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
They'll be used for tests in cmdlib.py. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Start accepting a new form of NIC/disk modifications for adding/removing arbitrary NICs/disks. Unlike before the index must always be given. An index of “-1” stands for the last item. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Until now it would not be possible to add/remove a NIC/disk in an arbitrary position. This constant will be used in the data structures necessary to add/remove arbitrary NICs/disks. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
These comments appear in the RAPI documentation. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 10, 2012
-
-
Stratos Psomadakis authored
Add documentation and modify manpages for the RBD disk template. Signed-off-by:
Constantinos Venetsanopoulos <cven@grnet.gr> Signed-off-by:
Stratos Psomadakis <psomas@grnet.gr> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 01, 2012
-
-
Michael Hanselmann authored
“INSTANCE_DOWN” is still being used. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
René Nussbaumer authored
They were not referenced through the whole code and were marked internal only. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
Replaces some uses of TOr(TNone, TListOf(…)). Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
Don't just check the first element of each item, but also make sure the OS name is a string and not empty. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
With this patch marking an instance already marked offline (or online) as offline/online again becomes a no-op. Also removed the unused INSTANCE_UP variable. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 31, 2012
-
-
Michael Hanselmann authored
Instead of having two separate parameters, a single boolean parameter is used. Unfortunately we need a third state to say “no change”, so the value can be None, True or False (similar to other parameters). There are no user interface changes. New QA tests are added, too. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Jan 27, 2012
-
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
- Fix two example outputs - Improve N+1 resolution section specifying how different memories affect N+1 calculation depending on the node Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
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>
-