- Dec 04, 2008
-
-
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
-
Guido Trotter authored
On cluster init if the user specifies a default hypervisor (with -t) which is not in the default list of enabled hypervisors (currently just xen-pvm) without explicitely specifying the list we silently override the choice. With this patch we set the list by default to just the required one, and we bail out should the list be hand-specified and not contain the default one. This still has an issue when the user doesn't specify a default hypervisor but specifies a list which doesn't include xen-pvm: in this case though we give an error, rather than silently discarding choices. Reviewed-by: imsnah
-
Guido Trotter authored
Where we used/forgot to validate beparams we now use the new common function. Reviewed-by: imsnah
-
Guido Trotter authored
This function will be used in LUCreateInstance, LUSetInstanceParams, LUSetClusterParams and InitCluster to check the backend parameters validity and convert the relevant values to integer, without duplicating code. It lives in utils as bootstrap.py is calling it too. Reviewed-by: imsnah
-
Guido Trotter authored
Reviewed-by: imsnah
-
Guido Trotter authored
When a value is set to constants.VALUE_DEFAULT we have to remove it from the specific instance dict, as this way it will be populated from the cluster before. If instead it's specified as constants.VALUE_NONE we'll explicitely set it to None, to override its presence with a different values in such defaults. However, currently, we handle None values only for hvparams, that have a real use case for them. Reviewed-by: imsnah
-
Guido Trotter authored
If the hv/be parameter lowercase value is set to "default" we'll pass constants.VALUE_DEFAULT, if it's set to "none" we'll pass constants.VALUE_NONE. Reviewed-by: imsnah
-
Guido Trotter authored
--src-node and --src-dir are not mandatory anymore Reviewed-by: iustinp
-
Guido Trotter authored
If src_node is not there we'll default to using the currently exported instance name as src_path. Also, if src_path is not absolute we'll look for it in EXPORT_DIR. Reviewed-by: iustinp
-
Guido Trotter authored
If we get called with no source node we'll thread src_path as an instance name exported in EXPORT_DIR in one of the nodes and look for it with the export_list rpc call. Reviewed-by: iustinp
-
Guido Trotter authored
Currently the node lock also guards against removing the import at the wrong time, so if we're importing an instance image we want to keep the source node locked. In the future we might want to put export locks at a different level than node locks. Reviewed-by: iustinp
-
Iustin Pop authored
The ssconf files were not updated by the master failover. We need to push them, and since we already have RPC initialized, we can use the standard ConfigWriter to do so - this will take care of both the config file and the ssconf files. Reviewed-by: imsnah
-