- Nov 30, 2011
-
-
Nikos Skalkotos authored
Fix bug affecting command line options of "keyval" type. Although escaping commands with \ is supported, it is is not applied to the input recursively. Signed-off-by:
Nikos Skalkotos <skalkoto@grnet.gr> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Nov 24, 2011
-
-
Michael Hanselmann authored
The parameter is called “mods”, not “modes”. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Andrea Spadaccini <spadaccio@google.com>
-
Michael Hanselmann authored
Note: This bug only manifests itself in Ganeti 2.5, but since the problematic code also exists in 2.4, I decided to fix it there. If a node was assigned to a new group using “gnt-group assign-nodes” the node object's group would be changed, but not the duplicate member list in the group object. The latter is an optimization to require fewer locks for other operations. The per-group member list is only kept in memory and not written to disk. Ganeti 2.5 starts to make use of the data kept in the per-group member list and consequently fails when it is out of date. The following commands can be used to reproduce the issue in 2.5 (in 2.4 the issue was confirmed using additional logging): $ gnt-group add foo $ gnt-group assign-nodes foo $(gnt-node list --no-header -o name) $ gnt-cluster verify # Fails with KeyError This patch moves the code modifying node and group objects into “config.ConfigWriter” to do the complete operation under the config lock, and also to avoid making use of side-effects of modifying objects without calling “ConfigWriter.Update”. A unittest is included. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Nov 14, 2011
-
-
Vangelis Koukis authored
Ensure ports previously allocated by calling ConfigWriter's AllocatePort() are returned to the pool of free ports when no longer needed: * Return the network_port of an instance when it is removed * Return the port used by a DRBD-based disk when it is removed Signed-off-by:
Vangelis Koukis <vkoukis@grnet.gr> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
This just makes sure that the paragraph doesn't contains lines that start with :, which make Sphinx (1.0.7) complain. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Oct 27, 2011
-
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 20, 2011
-
-
René Nussbaumer authored
On a master failover some of the archive dirs might have wrong permissions in the non-root model. This is due to the nature of noded still running as root and the job queue is synced that way. This patch will fix this behaviour by setting the permissions accordingly. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 18, 2011
-
-
Michael Hanselmann authored
I need this for another 2.5 release. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Oct 12, 2011
-
-
Michael Hanselmann authored
We noticed that “ganeti-masterd” can use large amounts of memory, especially on large clusters. Measurements showed a single PycURL client using about 500 kB of heap memory (the actual usage depends on versions, build options and settings). The RPC client uses a per-thread HTTP client pool with one client per node. At this time there are 41 non-main threads (25 for the job queue and 16 for client requests). This means the HTTP client pools use a lot of memory (ca. 200 MB for 10 nodes, ca. 1 GB for 50 nodes). This patch disables the per-thread HTTP client pool. No cleanup of unused code is done. That will be done in the master branch only. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Sep 06, 2011
-
-
Michael Hanselmann authored
Commit 66bd7445 added an assertion to ensure a finalized job has its “end_timestamp” attribute set. Unfortunately it didn't cover a case when the queue is recovering from an unclean master shutdown. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com> (cherry picked from commit 45df0793)
-
- Aug 26, 2011
-
-
Michael Hanselmann authored
If a value passed to UnescapeAndSplit ended with a backslash an exception would be raised: $ gnt-instance modify -H mem=x\\ inst1.example.com […] e2 = slist.pop(0) IndexError: pop from empty list Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Aug 23, 2011
-
-
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>
-
René Nussbaumer authored
Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com> (cherry picked from commit b7d7876b) Conflicts: lib/cmdlib.py (easily fixed)
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
René Nussbaumer authored
In the Linux kernel commit 4b0715f096 introduced a display bug into /proc/drbd which broke our regex. The bug was first introduced into Linux 2.6.39-rc1. This bug is still unfixed as of today. This patch adapt the regular expression to workaround this bug for the time being. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Aug 19, 2011
-
-
René Nussbaumer authored
While it sets the permission on all files in queue/archive accordingly it doesn't do so for the created archive directories. This patch fixes this problem. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Aug 05, 2011
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
“GRUB” is an acronym for GRand Unified Bootloader. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Aug 04, 2011
-
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Aug 03, 2011
-
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
“--dry-run” starts with two dashes. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Pedro Macedo authored
Signed-off-by:
Pedro Macedo <pmacedo@google.com> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 28, 2011
-
-
Iustin Pop authored
Currently there is no way to QA with (for example) an initrd because the QA only inits the cluster with the default parameters. This makes it impossible to QA using anything but the default parameters, which doesn't always work. Additionally, we add OS parameters and OS hypervisor parameters, for completeness and for testing that these commands also work. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jul 26, 2011
-
-
Ben Lipton authored
Otherwise, it's pretty hard to figure it out from the command line. Signed-off-by:
Ben Lipton <benlipton@google.com> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 25, 2011
-
-
Michael Hanselmann authored
Before this patch daemons would continue to refer to an old logfile for their standard I/O if they had been asked to reopen the log (SIGHUP). Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Commit b6fa9a44 added a re-openable log handler. The log file is reopened when a daemon is sent a HUP signal. Due to a bug in the code, fixed by this patch, the log file would be reopened for every single log message thereafter. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
When a daemon's output is configured using “utils.SetupDaemonFDs”, the function must use dup2(2). Unfortunately the code didn't close the original file descriptors, leaking them in the process. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 22, 2011
-
-
Michael Hanselmann authored
Ever since commit 2d48a3a2 aliases were not included in the bash completion script. This patch also replaces one tab with two spaces. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Commit 84d7e26b changed “objects.Instance.MapLVsByN” to not just return the LV name, but to include the volume group name (e.g. “xenvg/d67e8700….disk0_data”). This in turn broke the mapping of volume names in LUNodeQueryvols, stopping instance names from displayed in “gnt-node volumes”. This patch fixes the issue and does some cleanup. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 11, 2011
-
-
Michael Hanselmann authored
Places which receive floats can usually also deal with integers, e.g. OpTestDelay. Tests are added and the new check function is used for the aforementioned opcode and verifying query results. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Commit 009e73d0 (September 2009) changed the job queue to generate multiple job serials at once. Ever since it would return one more than requested. The “serial” file in the job queue directory is defined to contain the “last job ID used” (design-2.0). With the change above, the serial file would always contain the next serial number. The first value returned by the generating function was the one contained in the file, so during the switch in 2009 one job may have been overwritten. This patch changes the code to always return the exact number of serials, to keep the last used serial on disk and adds an assertion. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 01, 2011
-
-
Iustin Pop authored
In order to make the display right on 80-columns terminals. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
New lintian is even smarter: - overriden → overridden - allows to → allows one to Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Jun 28, 2011
-
-
Iustin Pop authored
The new functionality in 2.4.2 for recreate-disks to change nodes is broken for DRBD instances: it simply changes the nodes without caring for the DRBD minors mapping, which will lead to conflicts in non-empty clusters. This patch changes Exec() method of this LU significantly, to both fix the DRBD minor usage and make sure that we don't have partial modification to the instance objects: - the first half of the method makes all the checks and computes the needed configuration changes - the second half then performs the configuration changes and recreates the disks This way, instances will either be fully modified or not at all; whether the disks are successfully recreate is another point, but at least we'll have the configuration sane. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Patch db8e5f1c removed the use of feedback_fn, hence pylint warn now. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Jun 27, 2011
-
-
Apollon Oikonomopoulos authored
Commit 5d9bfd87 moved tap interface handling from KVM to Ganeti, partly to also solve the problem of routed interfaces getting configured too early during live migrations, causing network anomalies. In that direction, configuration of NICs of incoming instances was deferred to FinalizeMigration time. However, this causes minor issues with bridged interfaces; KVM sends out an ARP-like packet upon migration finish, which is lost because the tap interface is not yet configured. As a consequence, intermediate network equipment (i.e. switches) does not get notified about the topology change, until the instance transmits another packet after the bridge has been configured, or the switch's ARP cache expires. The proper solution to that is to support different phases in network configuration (pre/post migration), which also requires separate ifup scripts. Until then we fall back to configuring bridged interfaces on incoming instances at migration start, instead of finish. Signed-off-by:
Apollon Oikonomopoulos <apollon@noc.grnet.gr> Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Currently the drbd8 replace-disks on the same node (i.e. -p or -s) has a bug in that it does modify the instance disk temporarily before changing it back to the same value. However, we don't need to, and shouldn't do that: what this operation do is simply change the LVM configuration on the node, but otherwise the instance disks keep the same configuration as before. In the current code, this change back-and-forth is fine *unless* we fail during attaching the new LVs to DRBD; in which case, we're left with a half-modified disk, which is entirely wrong. So we change the code in two ways: - use temporary copies of the disk children in the old_lvs var - stop updating disk.children Which means that the instance should not be modified anymore (except maybe for SetDiskID, which is a legacy and unfortunate decision that will have to cleaned up sometime). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-