- Jun 09, 2010
-
-
Michael Hanselmann authored
This is necessary to allow cfgupgrade to work on a non-standard directory. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Apr 16, 2010
-
-
Balazs Lecz authored
Signed-off-by:
Balazs Lecz <leczb@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Apr 15, 2010
-
-
Iustin Pop authored
There are a few issues with disabled file storage: - cluster initialization is broken by default, as it uses the 'no' setting which is not a valid path - some other parts of the code require the file storage dir to be a valid path; we workaround by skipping such code paths when it is disabled A side effect is that we abstract the storage type checks into a separate function and add validation in RepairNodeStorage (previously a luxi client which didn't use cli.py and submitted an invalid type would get "storage units of type 'foo' can not be repaired"). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Commit 43575108 added bootstrap.GenerateclusterCrypto and commit 7506a7f1 changed cfgupgrade to use it. However, this lost the functionality of upgrading in non-default DATA_DIR. To fix this, we enhance bootstrap.GenerateclusterCrypto to accept custom file paths for the three files it modifies. If more files will be needed in the future, we could just pass in modified DATA_DIR, but for now it suffices. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Apr 08, 2010
-
-
Iustin Pop authored
This will be used to conditionally enable the watcher node maintenance feature. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 17, 2010
-
-
Michael Hanselmann authored
Information exchanged between different clusters via untrusted third parties (e.g. for remote instance import/export) must be signed with a secret shared between all involved clusters to ensure the third party doesn't modify the information. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 15, 2010
-
-
Michael Hanselmann authored
Currently, the ganeti-confd's HMAC key is called “cluster HMAC key” or simply “HMAC key” everywhere. With the implementation of inter-cluster instance moves, another HMAC key will be introduced for signing critical data. They can not be the same, so this patch clarifies the purpose of the “cluster HMAC key” by renaming it. The actual file name is not changed. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
To be consistent with RAPI_CERT_FILE, the rather generic named “SSL_CERT_FILE” constant is renamed to “NODED_CERT_FILE”. The actual file name is not changed. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 12, 2010
-
-
Michael Hanselmann authored
The code to generate cluster certificates, keys and secrets is currently spread over several places. It makes sense to move it to a separate function as we want to provide the user with the ability to automatically replace all cluster certificates and keys. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 08, 2010
-
-
Iustin Pop authored
This patch adds validation of new names used, i.e. at cluster init time, node add time, and instance creation. For instances, especially when using «--no-name-check» (which skips DNS checks), we should validate the give name, and also normalize it (otherwise, we could have two instances named inst1 and Inst1). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Feb 19, 2010
-
-
Michael Hanselmann authored
Until now this was only done for the master node, though the problem originally fixed in 8f215968 also occurs for other node daemons. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 01, 2010
-
-
Michael Hanselmann authored
Also add unittest. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Jan 13, 2010
-
-
Guido Trotter authored
This makes it slightly easier to cut&paste its content. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Nov 05, 2009
-
-
Michael Hanselmann authored
Until now, Ganeti started and stopped its own daemons using custom functions. To start, the daemon was just executed and then sent the appropriate signals to stop it again. Init scripts would have to pay attention to the PID file and other things. With this patch, a new script is added (“daemon-util”, installed in $prefix/lib/ganeti/), centralizing the starting and stopping of daemons. The provided example init script is adjusted to use this new script. Ganeti's code no longer calls its own init script. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Nov 04, 2009
-
-
Iustin Pop authored
Currently a few of the LU's CheckPrereq use utils.HostInfo which raises a resolver error in case of failure. This is an exception from the standard that CheckPrereq should raise an OpPrereqError if the error is in the 'pre' phase (so that it can be retried). This patch adds a new error code (resolver_error) and a wrapper over utils.HostInfo that just converts the ResolverError into OpPrereqError(…, errors.ECODE_RESOLVER). It then uses this wrapper in cmdlib, bootstrap and some scripts. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Nov 03, 2009
-
-
Iustin Pop authored
A newer version of pylint, more warnings… Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Nov 02, 2009
-
-
Iustin Pop authored
This finishes the conversion of OpPrereqError creation to two-argument style. Any leftovers as one-argument are not breaking anything, just losing information about the errors. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 30, 2009
-
-
Michael Hanselmann authored
There was a race condition between starting the node daemon and sending requests to write the ssconf files. With this patch, the initialization waits up to ten seconds for the node daemon to become responsive. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Oct 27, 2009
-
-
Michael Hanselmann authored
This is particularily useful for “gnt-cluster redist-conf”, but also for all other cases where the configuration files are rewritten on other nodes. $ gnt-cluster redist-conf … Copy of file /var/lib/ganeti/config.data to node … failed: Error while executing backend function: [Errno 1] Operation not permitted … Error while uploading ssconf files to node …: Error while executing backend function: [Errno 1] Operation not permitted $ gnt-node modify --offline no --force node3.example.com … - WARNING: Not enough master candidates (desired 10, new value will be 4) … Copy of file /var/lib/ganeti/config.data to node node8.example.com failed: Error while executing backend function: [Errno 1] Operation not permitted Modified node node3.example.com - offline -> True - master_candidate -> auto-demotion due to offline Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 22, 2009
-
-
Ken Wehr authored
Allows the initialization of a cluster without the creation or distribution of SSH key pairs. Includes changes for LeaveCluster and RPC. Signed-off-by:
Ken Wehr <ksw@google.com> Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Oct 16, 2009
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Sep 25, 2009
-
-
Iustin Pop authored
This patch does a little bit of cleanup first, since we want to call GenerateUniqueID without reacquiring the lock. Note that we don't necessarily need to do this for the cluster, since at first startup ConfigWriter will do it anyway. But it's better to explicitely do this instead of relying on the automated upgrade. Additionally this patch adds ctime/mtime population at cluster init time. mtime is not necessarily needed (master will update it automatically, but we're doing it anyway for consistency). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Sep 24, 2009
-
-
Guido Trotter authored
Without this confd will not start when a node is added to the cluster. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Sep 17, 2009
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Sep 16, 2009
-
-
Luca Bigliardi authored
Copy pub_key in authorized_keys. Signed-off-by:
Luca Bigliardi <shammash@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Sep 03, 2009
-
-
Michael Hanselmann authored
This survived QA, burnin and unittests. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Luca Bigliardi <shammash@google.com>
-
- Aug 17, 2009
-
-
Iustin Pop authored
This patch adds ctime/mtime support to the “main” config objects - the config data itself, and the cluster/nodes/instances objects. These are not added on auto-upgrade, but rather should be migrated if it makes sense when 2.0 is upgraded to 2.1. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Aug 13, 2009
-
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com> (cherry picked from commit 022c3a0b)
-
- Aug 10, 2009
-
-
Guido Trotter authored
If --no-etc-hosts is passed in at cluster init time we set a new parameter in the cluster's object to false, and avoid adding nodes to the hosts file. The UpgradeConfig function is used to set the value to True, when upgrading from an old configuration version. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com> (cherry picked from commit b86a6bcd)
-
- Jul 29, 2009
-
-
Guido Trotter authored
When the parameter is set to True and start_daemons is also True, ganeti-masterd will be started with the new --no-voting --yes-do-it options. This new option is set to True only on masterfailover, when no_voting is used. This changed the behavior from 2.0, where we didn't start the master daemon at all, when this option was used. The manpage is also updated to remove the 2.0 only change. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 20, 2009
-
-
Guido Trotter authored
This key is shared on all nodes (via cmdlib._RedistributeAncillaryFiles) and will be used for HMAC authentication of confd messages. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 16, 2009
-
-
Guido Trotter authored
Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Currently we have both a default_hypervisor and an enabled_hypervisors list. The former is only settable at cluster init time, while the latter can be changed with cluster modify. This becomes cumbersome in a few ways: at cluster init time for example if we pass in a list of enabled hypervisors which doesn't include the "default" xen-pvm one, we're also forced to pass a default hypervisor, or an error will be reported. It is also currently possible to disable the default hypervisor in cluster-modify (with unknown results). In order to avoid this we get rid of this field altogether, and define the "first" enabled hypervisor as the default one. This allows ease of changing which one is the default, and at the same time maintains coherency. At configuration upgrade we make sure that the old default is first in the list, so that 2.0 cluster defaults are preserved. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
InitConfig currently creates the cluster config_data, then puts it into a dict, passes it to SimpleConfigWriter to load it from a dict (which just reuses the dict value) and then saves it. The SimpleConfigWriter is then returned, but ignored. With this patch we just write out the config_data at InitConfig time, and thus can remove SimpleConfigWriter altogether. The now unused SimpleConfigReader.FromDict is also gone. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
InitConfig returns a SimpleConfigWriter to InitCluster, which then passes it on to ssh.WriteKnownHostsFile, which extracts a couple of values from it. One line later the full ConfigWriter is initialized. By initializing it one line before we can pass the full writer to ssh.WriteKnownHostsFile, and thus we don't need to care anymore for the InitConfig returned SimpleConfigWriter Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 08, 2009
-
-
Guido Trotter authored
When the parameter is set to True and start_daemons is also True, ganeti-masterd will be started with the new --no-voting --yes-do-it options. This new option is set to True only on masterfailover, when no_voting is used. This changed the behavior from 2.0, where we didn't start the master daemon at all, when this option was used. The manpage is also updated to remove the 2.0 only change. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
This allows failing over in certain corner cases, such as a 2 node cluster with one node down. The man page is also updated to document this dangerous option and how to recover from this situation. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 07, 2009
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-