- Dec 14, 2008
-
-
Iustin Pop authored
Reviewed-by: amishchenko
-
Iustin Pop authored
Quoting Michael: "why is this even working?" Reviewed-by: imsnah,amishchenko
-
Iustin Pop authored
The default value of 'False' wasn't initialized properly. It doesn't require initialization, but it's cleaner this way. Reviewed-by: amishchenko
-
Iustin Pop authored
Reviewed-by: amishchenko
-
Iustin Pop authored
Two problems: the iallocator.hypervisor wasn't initialized to None in the constructor, so pylint doesn't realize it's initialized later with setattr. Second, 'hypervisor' is a module, so we shouldn't use it as a variable. Reviewed-by: amishchenko
-
Iustin Pop authored
And a small whitespace fix. Reviewed-by: amishchenko
-
Iustin Pop authored
hypervisor is a module, so we shouldn't use it as an argument. Reviewed-by: amishchenko
-
Iustin Pop authored
A few cases of wrong variable name. Reviewed-by: amishchenko
-
Iustin Pop authored
This is a leftover from the abstraction of AdjustCandidatePool, and it also requires the config lock, so it's better to remove it. Reviewed-by: amishchenko
-
Iustin Pop authored
Reviewed-by: amishchenko
-
Iustin Pop authored
For safety, we use the same algorithm as in disk count. Reviewed-by: amishchenko
-
Iustin Pop authored
_RecursiveFindBD takes a parameter that isn't used; moreover, nowhere in the SVN history can I find a case that it has been used. As such, remove this parameter and fix its callers. Reviewed-by: amishchenko
-
Iustin Pop authored
Reviewed-by: amishchenko
-
Iustin Pop authored
Instead of relying that the usage of the parameter is ok with mutable default parameters, let's just make it safer.. Reviewed-by: amishchenko
-
Iustin Pop authored
Reviewed-by: amishchenko
-
Iustin Pop authored
Remove unused vars Reviewed-by: amishchenko
-
Iustin Pop authored
Reviewed-by: imsnah
-
Iustin Pop authored
In the iteration we don't care about the node names, so we change the for loop to be over the values (and not itervalues). Reviewed-by: amishchenko
-
- Dec 12, 2008
-
-
Michael Hanselmann authored
It'll be queried from other classes. Reviewed-by: iustinp
-
Michael Hanselmann authored
It's more appropriate. Reviewed-by: iustinp
-
- Dec 11, 2008
-
-
Iustin Pop authored
This patch should fix all outstanding epydoc parsing errors; as such, we switch epydoc into verbose mode so that any new errors will be visible. Reviewed-by: imsnah
-
Iustin Pop authored
epydoc seems to be mightily confused by decorators and how they change functions (it starts mixing the parameters of the decorated function into the decorator itself); so we want it to parse only and not look at the objects themselves. Reviewed-by: ultrotter
-
- Dec 10, 2008
-
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
Michael Hanselmann authored
Reviewed-by: iustinp
-
- Dec 09, 2008
-
-
Michael Hanselmann authored
This is a leftover from old code. Reviewed-by: iustinp
-
Michael Hanselmann authored
This solves a problem with many concurrent requests. By default, 1024 is the maximum backlog on Linux kernels. We limit the number of clients through MAX_CHILDREN, too. The idea of just increasing the backlog is taken from lighttpd. Reviewed-by: amishchenko
-
Michael Hanselmann authored
Adding compression to larger amounts of data is more efficient than transferring it (len(nodes) - 1) times over the network without compression. We were able to compress a 800KB config file to about 30 KB, which is about 40 KB with Base64 encoding (required due to the way SimpleJson handles strings). Reviewed-by: ultrotter
-
Iustin Pop authored
The patch also changes the result to error for non-reachable secondary nodes (as for primary nodes). Reviewed-by: ultrotter
-
- Dec 08, 2008
-
-
Iustin Pop authored
Currently the ConfigWriter.MaintainCandidatePool returns node names, and _AdjustCandidatePool uses them as such, but then it passes these to context.ReaddNode which in turn passes them to jqueue.JobQueue.AddNode which uses them as objects.Node instances. Since this is currently the only usage, we change return type from ConfigWriter.MaintainCandidatePool to be objects and adjust the logging of their names, so that the auto-adjusement works. Reviewed-by: ultrotter
-
Iustin Pop authored
This patch changes gnt-node modify and the associated opcode/lu to allow modification of the node offline attribute. Setting a node into offline mode automatically demotes it from the master role. Reviewed-by: ultrotter
-
Iustin Pop authored
This patch changes the _MultNodeCall and _SingleNodeCall helpers to not actually make calls to offline nodes, but instead generate fake responses which have a parameter caller 'offline' set so that callers can check for this value if they want (otherwise, it's just a failed RPC call). Reviewed-by: ultrotter
-
- Dec 07, 2008
-
-
Guido Trotter authored
When an upload is done to a node which doesn't have any version of ganeti installed, this prevents a non-executable-initd error later in the upload. Reviewed-by: imsnah
-
- Dec 05, 2008
-
-
Iustin Pop authored
This patch changes cluster verify to not alert on offline nodes, but instead just show a note at the end with the number of such nodes. It also removes warnings in verify-disks and hooks about failures to make rpc calls to such nodes. Reviewed-by: ultrotter
-
Iustin Pop authored
This patch adds checks for offline nodes in most instance LUs so that we can work with offline secondaries, but not with offline primaries. Some cases (like grow disk, which needs both sides up) are not allowing offline nodes at all. Reviewed-by: ultrotter
-
Iustin Pop authored
These will be used for parameter checking and node status checking. Reviewed-by: ultrotter
-
Iustin Pop authored
Since some nodes can be offline, we can't just take the length of the node list as the maximum possible number of master candidates. The patch adds an utility function to correctly compute this value and replaces hardcoded computations with the use of this function. It then adds utility functions to automate the maintenance of the node lists. Reviewed-by: ultrotter
-
Iustin Pop authored
The combination of the current buffer splitting method and (4KB) buffer size is very inefficient when writing big amounts of data. Just walking over a 16 megabyte string using a 4K buffer takes (on a random computer) 1m06s, whereas using slices will decrease this to 0.080s, and slicing with 32 KB size decreases this to 0.073s. This means that uploading a big config file (it nears 1MB for big clusters) will take more and more time per the number of nodes, since it needs lots of slicing. I happened upon this by accidentally setting all nodes as master candidates, at which point just uploading the config file to all nodes took 40s. Applying the patch decreases this to 15s (this probably can still be optimized). The patch also removes a duplicate constant (the one actually used is in http/client.py), and changes the receive buffer size to use the same constant. Reviewed-by: imsnah
-
Iustin Pop authored
The patch also changes the various node list generation to be more consistent. Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds a simple rpc which makes a backup of the config file and then removes it. This is done so that cluster verify doesn't complain immediately after demoting a node. Reviewed-by: imsnah
-
Iustin Pop authored
This patch changes the LUQueryInstances to show a different state for offline nodes and also modifies the watcher to understand the offline state in its checks. Reviewed-by: ultrotter
-