If you upgrade a ganeti cluster to ganeti-2.11-2, you have to use gnt-cluster upgrade that execute gnt-cluster renew-crypto or use gnt-cluster renew-crypto manually. I suppose that will prevent too to install a fresh cluster. The problem is: gnt-cluster renew-crypto stop with an error 1 as it's using "daemon-util start-all" script to start all daemons on a no-master node of the cluster when trying to launch ganeti-masterd. I suppose that "daemon-util start-all" shouldn't start all daemon on a no-master node as /etc/init.d/ganeti does by excluding ganeti-masterd/ganeti-rapi/ganeti-luxid when it's run on a no-master node. Reproducible: Always Steps to Reproduce: gnt-cluster renew-crypto --new-node-certificates Actual Results: # gnt-cluster renew-crypto --new-node-certificates This requires all daemons on all nodes to be restarted and may take some time. Continue? y/[n]/?: y Gathering cluster information Blocking watcher Stopping master daemons Stopping daemons on node01.atanar.net Stopping daemons on node02.atanar.net Updating certificates and keys Starting daemons on node01.atanar.net Failure: command execution error: Failed to run command ssh -oEscapeChar=none -oHashKnownHosts=no -oGlobalKnownHostsFile=/var/lib/ganeti/known_hosts -oUserKnownHostsFile=/dev/null -oCheckHostIp=no -oHostKeyAlias=cloud.atanar.net -q -oPort=22 -oBatchMode=yes -oStrictHostKeyChecking=yes -4 root@node01.atanar.net '/usr/lib64/ganeti/daemon-util start-all' on node node01.atanar.net : exitcode 1 and error * start-stop-daemon: failed to start `/usr/sbin/ganeti-masterd' exit code 1 Expected Results: # gnt-cluster renew-crypto --new-node-certificates This requires all daemons on all nodes to be restarted and may take some time. Continue? y/[n]/?: y Gathering cluster information Blocking watcher Stopping master daemons Stopping daemons on node01.atanar.net Stopping daemons on node02.atanar.net Updating certificates and keys Starting daemons on node01.atanar.net Starting daemons on node02.atanar.net All requested certificates and keys have been replaced. Running "gnt-cluster verify" now is recommended. Very dirty workaround for people that upgrade their cluster: create a daemon-util script wrapper that launch "/etc/init.d/ganeti restart" when the script is called with "start-all" argument.
Problem and initial debug: https://groups.google.com/forum/#!topic/ganeti/Dg3-rpqpM9U%5B1-25-false%5D
Hmm, start-stop-daemon on gentoo is different than on debian (which I presume the default daemon-util was written for). For one, it does not support the --oknodo option, and various other options have different names. I suppose I could patch the daemon-util to call the init script, but that does seem kind of ugly as well. It would be very nice if the upstream daemon-util script could be aware of which daemons to start where and handle that rather than just blindly trying to start everything and ignoring certain types of failure.
Why not only list daemons that need to be launched for a no-master node in daemon-util script as it's done in gentoo init.d. It will be less ugly than a call to the init.d script isn't it ?
Created attachment 379188 [details, diff] daemon-util patch manage the list of ganeti daemon depending on master node condition
I've attached a patch that don't use init.d script.
Fixed in app-emulation/ganeti-2.11-2-r2, thanks for the patch.