- Dec 03, 2008
-
-
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
-
Iustin Pop authored
Currently cluster verify checks all nodes for the same set of files, even if the nodes are not master candidates. This patch adds back checking of ssconf files for consistency and splits the checksum check into different error reporting messages based on candidate role. Reviewed-by: imsnah
-
Iustin Pop authored
Reviewed-by: imsnah
-
Iustin Pop authored
In gnt-cluster modify we prevent demotion from the candidate role if there are not enough master candidates left. Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds a new cluster paramater "candidate_pool_size" which tracks the desired size of the list of nodes with the master_candidate flag set. Reviewed-by: imsnah
-
Iustin Pop authored
Reviewed-by: imsnah
-
Iustin Pop authored
Reviewed-by: imsnah
-
Iustin Pop authored
This patch restricts the job propagation to master candidates only, by not registering non-candidates in the job queue node lists. Note that we do intentionally purge the job queue if a node is toggled to non-master status. Reviewed-by: imsnah
-
Iustin Pop authored
This patch restricts the config data replication to master candidates only. Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds the OpCode, LogicalUnit and gnt-node command for modifying node parameters, more specifically the master candidate flag for a node. Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds listing of the master_candidate field (as Y/N) and of the master role (again Y/N) for nodes. Reviewed-by: imsnah
-
Iustin Pop authored
The field is not yet used. Reviewed-by: imsnah
-
Iustin Pop authored
We have (again) the KeyToFilename function, so we move the writing of the files to a method under SimpleStore. Reviewed-by: imsnah
-
Iustin Pop authored
This patch adds node_list in the list of replicated values from ConfigWriter. Reviewed-by: imsnah
-
Iustin Pop authored
This partially reverts the "Get rid of ssconf" patch. It adds back a simpler version of the SimpleStore class, and drops the WritableSimpleStore class. The new version of the class also has node_list as a new key, and increases the size of the keys so that big clusters will fit the node list. Also, the SS_* constants are moved to constants.py, since the ConfigWriter class will need them too in order to generate the values dictionary. It also changes the GetMasterAndMyself function to use the SimpleStore by default, and the backend._GetConfig to use it too (it has all the needed keys). Reviewed-by: imsnah
-
Iustin Pop authored
This allows burnin to work with diskless instances (since we cannot pass right now no disks to it). Reviewed-by: imsnah
-