# reloading config.ini reload(config) # Global variables THIS_PATH = os.path.dirname(os.path.abspath(__file__)) PROJECT_PATH = os.path.dirname(THIS_PATH) CURRENT_USER = getpass.getuser() PASSWORD = config.get('credentials', 'STX_DEPLOY_USER_PSWD') PROMPT = '$' # setup the logger LOG_FILENAME = 'iso_setup.log' LOG_PATH = config.get('general', 'LOG_PATH') LOG = logger.setup_logging('iso_setup', log_file='{path}/{filename}'.format( path=LOG_PATH, filename=LOG_FILENAME), console_log=False) class Installer(object): """Install a StarlingX ISO though serial console""" def __init__(self): self.child = pexpect.spawn(config.get('iso_installer', 'VIRSH_CMD')) self.child.logfile = open('{}/iso_setup_console.txt'.format(LOG_PATH), 'wb') @staticmethod def open_xterm_console(): """Open a xterm console to visualize logs from serial connection""" suite_path = os.path.dirname(THIS_PATH)
from Utils import network from Utils.utils import isdir # reloading config.ini reload(config) # Global variables THIS_PATH = os.path.dirname(os.path.abspath(__file__)) PROJECT_PATH = os.path.dirname(THIS_PATH) PROMPT = '$' # Setup the logger LOG_FILENAME = 'iso_setup_baremetal.log' LOG_PATH = config.get('general', 'LOG_PATH') LOG = logger.setup_logging('iso_setup_baremetal', log_file='%s/%s'.format(LOG_PATH, LOG_FILENAME), console_log=False) class PxeServer(object): """Handle PXE services and mount ISO for Installation""" def __init__(self, iso_path): self.iso_path = iso_path self.iso_name = os.path.basename(self.iso_path).replace('.iso', '') self.tftp_dir = '/var/lib/tftpboot/uefi' def mount_iso(self): """Mounting ISO and grabbing shim, grub.efi and grub.cfg files""" # Mounting ISO on /mnt and on http server mount_point = '/mnt'