Ejemplo n.º 1
0
 def wait_for_ssh_host_key(self, max_retry=1800, sleep_time=1):
     """
     Wait for cloud-init to generate ssh host key
     """
     keypair_type = conf.get_ssh_host_keypair_type()
     path = conf.get_ssh_key_public_path()
     for retry in range(0, max_retry):
         if os.path.isfile(path):
             logger.info("ssh host key found at: {0}".format(path))
             try:
                 thumbprint = self.get_ssh_host_key_thumbprint(chk_err=False)
                 logger.info("Thumbprint obtained from : {0}".format(path))
                 return thumbprint
             except ProvisionError:
                 logger.warn("Could not get thumbprint from {0}".format(path))
         if retry < max_retry - 1:
             logger.info("Waiting for ssh host key be generated at {0} "
                         "[{1} attempts remaining, "
                         "sleeping {2}s]".format(path,
                                                 max_retry - retry,
                                                 sleep_time))
             if not self.validate_cloud_init():
                 logger.warn("cloud-init does not appear to be running")
             time.sleep(sleep_time)
     raise ProvisionError("Giving up, ssh host key was not found at {0} "
                          "after {1}s".format(path,
                                              max_retry * sleep_time))
Ejemplo n.º 2
0
 def reg_ssh_host_key(self):
     keypair_type = conf.get_ssh_host_keypair_type()
     if conf.get_regenerate_ssh_host_key():
         shellutil.run("rm -f /etc/ssh/ssh_host_*key*")
         keygen_cmd = "ssh-keygen -N '' -t {0} -f /etc/ssh/ssh_host_{1}_key"
         shellutil.run(keygen_cmd.format(keypair_type, keypair_type))
     thumbprint = self.get_ssh_host_key_thumbprint(keypair_type)
     return thumbprint
Ejemplo n.º 3
0
 def reg_ssh_host_key(self):
     keypair_type = conf.get_ssh_host_keypair_type()
     if conf.get_regenerate_ssh_host_key():
         fileutil.rm_files(conf.get_ssh_key_glob())
         keygen_cmd = "ssh-keygen -N '' -t {0} -f {1}"
         shellutil.run(keygen_cmd.format(keypair_type,
                     conf.get_ssh_key_private_path()))
     return self.get_ssh_host_key_thumbprint()
Ejemplo n.º 4
0
 def reg_ssh_host_key(self):
     keypair_type = conf.get_ssh_host_keypair_type()
     if conf.get_regenerate_ssh_host_key():
         fileutil.rm_files("/etc/ssh/ssh_host_*key*")
         keygen_cmd = "ssh-keygen -N '' -t {0} -f /etc/ssh/ssh_host_{1}_key"
         shellutil.run(keygen_cmd.format(keypair_type, keypair_type))
     thumbprint = self.get_ssh_host_key_thumbprint(keypair_type)
     return thumbprint
Ejemplo n.º 5
0
 def reg_ssh_host_key(self):
     keypair_type = conf.get_ssh_host_keypair_type()
     if conf.get_regenerate_ssh_host_key():
         shellutil.run("rm -f /etc/ssh/ssh_host_*key*")
         shellutil.run(("ssh-keygen -N '' -t {0} -f /etc/ssh/ssh_host_{1}_key"
                        "").format(keypair_type, keypair_type))
     thumbprint = self.get_ssh_host_key_thumbprint(keypair_type)
     return thumbprint
Ejemplo n.º 6
0
 def reg_ssh_host_key(self):
     keypair_type = conf.get_ssh_host_keypair_type()
     if conf.get_regenerate_ssh_host_key():
         fileutil.rm_files(conf.get_ssh_key_glob())
         keygen_cmd = "ssh-keygen -N '' -t {0} -f {1}"
         shellutil.run(
             keygen_cmd.format(keypair_type,
                               conf.get_ssh_key_private_path()))
     return self.get_ssh_host_key_thumbprint()
Ejemplo n.º 7
0
 def wait_for_ssh_host_key(self, max_retry=60):
     """
     Wait for cloud-init to generate ssh host key
     """
     keypair_type = conf.get_ssh_host_keypair_type()
     path = '/etc/ssh/ssh_host_{0}_key.pub'.format(keypair_type)
     for retry in range(0, max_retry):
         if os.path.isfile(path):
             return self.get_ssh_host_key_thumbprint(keypair_type)
         if retry < max_retry - 1:
             logger.info("Wait for ssh host key be generated: {0}", path)
             time.sleep(5)
     raise ProvisionError("ssh host key is not generated.")
Ejemplo n.º 8
0
 def wait_for_ssh_host_key(self, max_retry=60):
     """
     Wait for cloud-init to generate ssh host key
     """
     keypair_type = conf.get_ssh_host_keypair_type()
     path = '/etc/ssh/ssh_host_{0}_key.pub'.format(keypair_type)
     for retry in range(0, max_retry):
         if os.path.isfile(path):
             return self.get_ssh_host_key_thumbprint(keypair_type)
         if retry < max_retry - 1:
             logger.info("Wait for ssh host key be generated: {0}", path)
             time.sleep(5)
     raise ProvisionError("ssh host key is not generated.")
Ejemplo n.º 9
0
 def reg_ssh_host_key(self):
     keypair_type = conf.get_ssh_host_keypair_type()
     if conf.get_regenerate_ssh_host_key():
         fileutil.rm_files(conf.get_ssh_key_glob())
         if conf.get_ssh_host_keypair_mode() == "auto":
             '''
             The -A option generates all supported key types.
             This is supported since OpenSSH 5.9 (2011).
             '''
             shellutil.run("ssh-keygen -A")
         else:
             keygen_cmd = "ssh-keygen -N '' -t {0} -f {1}"
             shellutil.run(keygen_cmd.
                           format(keypair_type,
                                  conf.get_ssh_key_private_path()))
     return self.get_ssh_host_key_thumbprint()
Ejemplo n.º 10
0
 def reg_ssh_host_key(self):
     keypair_type = conf.get_ssh_host_keypair_type()
     if conf.get_regenerate_ssh_host_key():
         fileutil.rm_files(conf.get_ssh_key_glob())
         if conf.get_ssh_host_keypair_mode() == "auto":
             '''
             The -A option generates all supported key types.
             This is supported since OpenSSH 5.9 (2011).
             '''
             shellutil.run("ssh-keygen -A")
         else:
             keygen_cmd = "ssh-keygen -N '' -t {0} -f {1}"
             shellutil.run(
                 keygen_cmd.format(keypair_type,
                                   conf.get_ssh_key_private_path()))
     return self.get_ssh_host_key_thumbprint()
Ejemplo n.º 11
0
 def wait_for_ssh_host_key(self, max_retry=60):
     """
     Wait for cloud-init to generate ssh host key
     """
     keypair_type = conf.get_ssh_host_keypair_type()
     path = '/etc/ssh/ssh_host_{0}_key.pub'.format(keypair_type)
     for retry in range(0, max_retry):
         if os.path.isfile(path):
             logger.info("ssh host key found at: {0}".format(path))
             try:
                 thumbprint = self.get_ssh_host_key_thumbprint(keypair_type)
                 logger.info("Thumbprint obtained from : {0}".format(path))
                 return thumbprint
             except ProvisionError:
                 logger.warn("Could not get thumbprint from {0}".format(path))
         if retry < max_retry - 1:
             logger.info("Wait for ssh host key be generated: {0}".format(path))
             time.sleep(5)
     raise ProvisionError("ssh host key is not generated.")