X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/9dae41ad5b93a05f5c019971e32c54271006cb0e..2cc1da8b07305c1c322a5524a7e24ea07b071d72:/lib/bootstrap.py diff --git a/lib/bootstrap.py b/lib/bootstrap.py index 4db905e..0bc907a 100644 --- a/lib/bootstrap.py +++ b/lib/bootstrap.py @@ -25,7 +25,6 @@ import os import os.path -import sha import re import logging import tempfile @@ -124,7 +123,8 @@ def _InitGanetiServerSetup(): def InitCluster(cluster_name, mac_prefix, def_bridge, master_netdev, file_storage_dir, candidate_pool_size, secondary_ip=None, vg_name=None, beparams=None, hvparams=None, - enabled_hypervisors=None, default_hypervisor=None): + enabled_hypervisors=None, default_hypervisor=None, + modify_etc_hosts=True): """Initialise the cluster. @type candidate_pool_size: int @@ -226,7 +226,9 @@ def InitCluster(cluster_name, mac_prefix, def_bridge, f.close() sshkey = sshline.split(" ")[1] - utils.AddHostToEtcHosts(hostname.name) + if modify_etc_hosts: + utils.AddHostToEtcHosts(hostname.name) + _InitSSHSetup() # init of cluster config file @@ -248,6 +250,7 @@ def InitCluster(cluster_name, mac_prefix, def_bridge, beparams={constants.BEGR_DEFAULT: beparams}, hvparams=hvparams, candidate_pool_size=candidate_pool_size, + modify_etc_hosts=opts.modify_etc_hosts, ) master_node_config = objects.Node(name=hostname.name, primary_ip=hostname.ip, @@ -446,6 +449,22 @@ def MasterFailover(): return rcode +def GetMaster(): + """Returns the current master node. + + This is a separate function in bootstrap since it's needed by + gnt-cluster, and instead of importing directly ssconf, it's better + to abstract it in bootstrap, where we do use ssconf in other + functions too. + + """ + sstore = ssconf.SimpleStore() + + old_master, _ = ssconf.GetMasterAndMyself(sstore) + + return old_master + + def GatherMasterVotes(node_list): """Check the agreement on who is the master.