def setSSHAccess(self, url, engine_ssh_key): """ Sets ssh access for this host from the managment server. """ self.message = "SUCCESS" self.status = "OK" self.rc = True strKey = None # TODO remove legacy if deployUtil.getBootstrapInterfaceVersion() == 1 and \ engine_ssh_key is None: vdcAddress = None vdcPort = None vdcAddress, vdcPort = deployUtil.getAddress(url) if vdcAddress is not None: strKey = deployUtil.getAuthKeysFile(vdcAddress, vdcPort) if strKey is None: self.rc = False self.message = "Failed to retrieve server SSH key." else: self.message = "Failed to extract server address." self.rc = False else: try: with open(engine_ssh_key) as key: strKey = key.read() except Exception as e: self.message = "Failed to read SSH key file " + str(e) self.rc = False if self.rc: if not deployUtil.handleSSHKey(strKey): self.rc = False self.message = "Failed to write server's SSH key." if not self.rc: self.status = "FAIL" self._xmlOutput('SetSSHAccess', self.status, None, None, self.message) return self.rc
def setSSHAccess(self, url, engine_ssh_key): """ Sets ssh access for this host from the managment server. """ self.message = "SUCCESS" self.status = "OK" self.rc = True strKey = None # TODO remove legacy if deployUtil.getBootstrapInterfaceVersion() == 1 and \ engine_ssh_key is None: vdcAddress = None vdcPort = None vdcAddress, vdcPort = deployUtil.getAddress(url) if vdcAddress is not None: strKey = deployUtil.getAuthKeysFile(vdcAddress, vdcPort) if strKey is None: self.rc = False self.message = "Failed to retrieve server SSH key." else: self.message = "Failed to extract server address." self.rc = False else: try: strKey = file(engine_ssh_key).read() except Exception as e: self.message = "Failed to read SSH key file " + str(e) self.rc = False if self.rc: if not deployUtil.handleSSHKey(strKey): self.rc = False self.message = "Failed to write server's SSH key." if not self.rc: self.status = "FAIL" self._xmlOutput('SetSSHAccess', self.status, None, None, self.message) return self.rc
def main(): """ Usage: vds_bootstrap.py [options] <url> <subject> <random_num> options: -v <bootstrap inteface version> - default 1 -O <organizationName> -t <systemTime> -f <firewall_rules_file> -- override firewall rules. -V - don't install virtualization service -g - install gluster service obsolete options: -r <rev_num> """ try: rev_num = None orgName = 'Red Hat Inc.' systime = None firewallRulesFile = None engine_ssh_key = None installVirtualizationService = True installGlusterService = False bridgeName = None opts, args = getopt.getopt(sys.argv[1:], "v:r:O:t:f:S:n:u:B:Vg") for o, v in opts: if o == "-v": deployUtil.setBootstrapInterfaceVersion(int(v)) if o == "-r": rev_num = v if o == "-O": orgName = v if o == "-t": systime = v if o == "-V": installVirtualizationService = False if o == "-g": installGlusterService = True elif o == '-f': firewallRulesFile = v NEEDED_SERVICES.append('iptables') elif o == '-S': engine_ssh_key = v elif o == '-B': bridgeName = v url = args[0] subject = args[1] random_num = args[2] # Where is REVISION defined ???? #if not rev_num: # rev_num = REVISION except: print main.__doc__ return False # # miniyum setup must be done first as process # is probably going to be reexecute with # proper selinux role # miniyum = None if deployUtil.getBootstrapInterfaceVersion() >= 2: try: from miniyum import MiniYum miniyumsink = myminiyumsink() MiniYum.setup_log_hook(sink=miniyumsink) extraLog = open(LOGFILE, "a") miniyum = MiniYum(sink=miniyumsink, extraLog=extraLog) miniyum.selinux_role() except: logging.error("MiniYum selinux setup failed", exc_info=True) print "<BSTRAP component='RHEV_INSTALL' status='FAIL'/>" return False logging.debug('**** Start VDS Validation ****') try: ret = VdsValidation( url, subject, random_num, rev_num, orgName, systime, firewallRulesFile, engine_ssh_key, installVirtualizationService, installGlusterService, bridgeName, miniyum ) except: logging.error("VDS validation failed", exc_info=True) logging.error(main.__doc__) logging.debug("<BSTRAP component='RHEV_INSTALL' status='FAIL'/>") print "<BSTRAP component='RHEV_INSTALL' status='FAIL'/>" return False else: message = ("<BSTRAP component='RHEV_INSTALL' status=") if ret: message += ("'OK'/>") else: message += ("'FAIL'/>") print(message) logging.debug(message) logging.debug('**** End VDS Validation ****') sys.stdout.flush() return ret
def main(): """ Usage: vds_bootstrap.py [options] <url> <subject> <random_num> options: -v <bootstrap inteface version> - default 1 -O <organizationName> -t <systemTime> -f <firewall_rules_file> -- override firewall rules. -V - don't install virtualization service -g - install gluster service obsolete options: -r <rev_num> """ try: rev_num = None orgName = 'Red Hat Inc.' systime = None firewallRulesFile = None engine_ssh_key = None installVirtualizationService = True installGlusterService = False bridgeName = None opts, args = getopt.getopt(sys.argv[1:], "v:r:O:t:f:S:n:u:B:Vg") for o, v in opts: if o == "-v": deployUtil.setBootstrapInterfaceVersion(int(v)) if o == "-r": rev_num = v if o == "-O": orgName = v if o == "-t": systime = v if o == "-V": installVirtualizationService = False if o == "-g": installGlusterService = True elif o == '-f': firewallRulesFile = v NEEDED_SERVICES.append('iptables') elif o == '-S': engine_ssh_key = v elif o == '-B': bridgeName = v url = args[0] subject = args[1] random_num = args[2] # Where is REVISION defined ???? # if not rev_num: # rev_num = REVISION except: print main.__doc__ return False # # miniyum setup must be done first as process # is probably going to be reexecute with # proper selinux role # miniyum = None if deployUtil.getBootstrapInterfaceVersion() >= 2: try: from miniyum import MiniYum miniyumsink = myminiyumsink() MiniYum.setup_log_hook(sink=miniyumsink) extraLog = open(LOGFILE, "a") miniyum = MiniYum(sink=miniyumsink, extraLog=extraLog) miniyum.selinux_role() except: logging.error("MiniYum selinux setup failed", exc_info=True) print "<BSTRAP component='RHEV_INSTALL' status='FAIL'/>" return False logging.debug('**** Start VDS Validation ****') try: ret = VdsValidation(url, subject, random_num, rev_num, orgName, systime, firewallRulesFile, engine_ssh_key, installVirtualizationService, installGlusterService, bridgeName, miniyum) except: logging.error("VDS validation failed", exc_info=True) logging.error(main.__doc__) logging.debug("<BSTRAP component='RHEV_INSTALL' status='FAIL'/>") print "<BSTRAP component='RHEV_INSTALL' status='FAIL'/>" return False else: message = ("<BSTRAP component='RHEV_INSTALL' status=") if ret: message += ("'OK'/>") else: message += ("'FAIL'/>") print(message) logging.debug(message) logging.debug('**** End VDS Validation ****') sys.stdout.flush() return ret