- Dec 05, 2008
-
-
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
-
Iustin Pop authored
Reviewed-by: ultrotter
-
Iustin Pop authored
This patch adds a new node parameter called offline that will be used to mark nodes which should be touched by commands. We also add this flag at cluster init, node add, and export it to iallocator scripts. Reviewed-by: ultrotter
-
Iustin Pop authored
Currently we add a newline in the ssconf writeout process, even if the file is empty. We chage this case so that lists of values (e.g. offline nodes) are correct (not a list of one empty element). Reviewed-by: imsnah
-
- Dec 04, 2008
-
-
Michael Hanselmann authored
Reviewed-by: amishchenko
-
Michael Hanselmann authored
Reviewed-by: amishchenko
-
Michael Hanselmann authored
Reviewed-by: amishchenko
-
Michael Hanselmann authored
Reviewed-by: amishchenko
-
Michael Hanselmann authored
Reviewed-by: amishchenko
-
Michael Hanselmann authored
This includes a large rewrite of the HTTP server code. The handling of OpenSSL errors had some problems that were hard to fix with its structure. When preparing all of this, I realized that actually HTTP is a message protocol and that the same code can be used on both the server and client side to parse requests/responses, with only a few differences. There are still a few TODOs in the code, but none should be a show stopper. Many pylint warnings have been fixed, too. The old code will be removed once all users have been migrated. Reviewed-by: amishchenko
-
Michael Hanselmann authored
It should be consistent. Reviewed-by: amishchenko
-
Michael Hanselmann authored
This is a preparation step for splitting the HTTP client and server code into two separate modules. Reviewed-by: amishchenko
-
Michael Hanselmann authored
This is a preparation step for splitting the HTTP client and server code into two separate modules. Reviewed-by: amishchenko
-
Guido Trotter authored
If after the remove node there are not enough master candidates, we'll try to promote them. Reviewed-by: imsnah
-
- Dec 03, 2008
-
-
Guido Trotter authored
call_export_list is a multi node call, so we need to go through the results, extrapolate the good ones, and return a failure value for the bad ones. Reviewed-by: imsnah
-
Guido Trotter authored
When a node is added, if there are not enough master candidates, we'll automatically promote it. Reviewed-by: imsnah
-
Guido Trotter authored
This is a typo in the conversion to RpcResult Reviewed-by: imsnah
-
Michael Hanselmann authored
Reviewed-by: ultrotter
-
Michael Hanselmann authored
This is a leftover from removed code. Reviewed-by: ultrotter
-
Michael Hanselmann authored
Reviewed-by: ultrotter
-
Michael Hanselmann authored
This is a preparation step to move the HTTP server class to the same model as the HTTP client (polling, non-blocking I/O, better OpenSSL error handling). Reviewed-by: ultrotter
-
Michael Hanselmann authored
Reviewed-by: ultrotter
-
Michael Hanselmann authored
We don't need it anymore and it wouldn't work as it is, anyway. Reviewed-by: ultrotter
-
Guido Trotter authored
After the cluster is ready we'll load the ConfigWriter and force a writeout of all config files. Reviewed-by: imsnah
-
Guido Trotter authored
Reviewed-by: imsnah
-
Guido Trotter authored
- Add a new command line option, defaulting to the constant value - Pass the value to bootstrap.InitCluster - Use it to init the new Cluster object Reviewed-by: imsnah
-
Guido Trotter authored
This constant will be used at cluster init time. Reviewed-by: imsnah
-
Guido Trotter authored
This only happens at cluster init, if the value is not user-specified. Reviewed-by: imsnah
-
Guido Trotter authored
Currently we have to update both the ListNodes headers and the online help for the full field list. This patch uses the headers keys for the help, thus removing duplicating places to update, and adding hope that we'll have things in sync. As a downside we lose ordering of the non-default fields in the online help. Reviewed-by: imsnah
-
Iustin Pop authored
This patch: - fixes cluster verify when all nodes are master candidates, but the candidate_pool_size is higher - warn when the master node is not marked as candidate - disable setting master node to regular node - don't pass the master node to context.ReaddNode since the job queue doesn't like getting our own node name Reviewed-by: ultrotter
-
Iustin Pop authored
This patch rewrites and distributes ganeti's known_hosts file in case of a cluster rename. We also fix a problem in the node add (from where I copied the known_hosts file distribution). Reviewed-by: ultrotter
-
- Dec 02, 2008
-
-
Guido Trotter authored
Reviewed-by: iustinp
-
Iustin Pop authored
This partially reorganizes the cluster verify LU: - introduce constants for the node verify rpc call - move from additional rpc calls to a single rpc call, the call_node_info, which gaters all data needed Also fix a small error (self.LogWarning instead of self.Warning). Reviewed-by: imsnah
-
Iustin Pop authored
With the recent configwriter/ssconf changes, cluster rename becomes trivial. This patch gets rids of the code and just updates the cluster object. Reviewed-by: imsnah
-
Iustin Pop authored
For a long time we had the problem that both RPC-layer errors and results from the remote node share the same "valuespace". This is because we shouldn't raise an exception when only one node failed (and lose the results from the other nodes). This patch attempts to address this problem by returning a special object from RPC calls, which separates the rpc-layer status and the remote results into different attributes. All the users of rpc (mainly cmdlib, but also bootstrap and the HooksMaster in mcpu) have been converted to this new model. The code has changed from, e.g. for boolean return types: if not self.rpc.call_... to result = self.rpc.call_ if result.failed or not result.data: ^ rpc-layer error | - result payload While this is slightly more complicated, it will allow cleaner checks in the future; right now the code is just a plain port, without optimizations. There's also a "result.Raise()" which raises an OpExecError if the rpc-layer had errors. One side-effect of the patch is that now all return types from the rpc.call_ functions are of either RpcResult (single-node) or dicts of (node name, RpcResult); previously, some functions were returning different object types based on error status. The code passes burnin (after many retries :). Reviewed-by: imsnah
-
Iustin Pop authored
These two operations were missing from burnin. The reboot is done with all valid modes (a new constant is added), and the reinstall is done both with and without specifying the OS (to account for the two code paths in the LU). Reviewed-by: imsnah
-
Iustin Pop authored
This is currently not supported, so don't try to do export/import in this case. Reviewed-by: imsnah
-
Guido Trotter authored
Some calls to the HV parameters were missing them. Reviewed-by: imsnah
-
Guido Trotter authored
Reviewed-by: imsnah
-