X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=deploy%2Finstall_fuel_master.py;h=2da69e35094370099403817d861b65d04c749abc;hb=00bf737316a29867a1fcc38753418d6e2fff9f27;hp=4f6a0527b879e9947c3f6ec69839bd88dc5b7fce;hpb=91257ff4ee78f32081af2e652f58a5ba9e834f61;p=fuel.git diff --git a/deploy/install_fuel_master.py b/deploy/install_fuel_master.py index 4f6a0527b..2da69e350 100644 --- a/deploy/install_fuel_master.py +++ b/deploy/install_fuel_master.py @@ -16,12 +16,11 @@ from dha_adapters.libvirt_adapter import LibvirtAdapter from common import ( log, err, - clean, delete, ) TRANSPLANT_FUEL_SETTINGS = 'transplant_fuel_settings.py' -BOOTSTRAP_ADMIN = '/usr/local/sbin/bootstrap_admin_node' +BOOTSTRAP_ADMIN = 'bootstrap_admin_node' FUEL_CLIENT_CONFIG = '/etc/fuel/client/config.yaml' PLUGINS_DIR = '~/plugins' LOCAL_PLUGIN_FOLDER = '/opt/opnfv' @@ -54,8 +53,12 @@ class InstallFuelMaster(object): self.dha.node_power_off(self.fuel_node_id) - log('Zero the MBR') - self.dha.node_zero_mbr(self.fuel_node_id) + if os.environ.get('LIBVIRT_DEFAULT_URI'): + log('Upload ISO to pool') + self.iso_file = self.dha.upload_iso(self.iso_file) + else: + log('Zero the MBR') + self.dha.node_zero_mbr(self.fuel_node_id) self.dha.node_set_boot_order(self.fuel_node_id, ['disk', 'iso']) @@ -80,8 +83,8 @@ class InstallFuelMaster(object): log('Wait until Fuel menu is up') fuel_menu_pid = self.wait_until_fuel_menu_up() - log('Inject our own astute.yaml settings') - self.inject_own_astute_yaml() + log('Inject our own astute.yaml and fuel_bootstrap_cli.yaml settings') + self.inject_own_astute_and_bootstrap_yaml() log('Let the Fuel deployment continue') log('Found FUEL menu as PID %s, now killing it' % fuel_menu_pid) @@ -152,13 +155,12 @@ class InstallFuelMaster(object): def wait_until_fuel_menu_up(self): WAIT_LOOP = 60 SLEEP_TIME = 10 - CMD = 'ps -ef' - SEARCH = 'fuelmenu' + CMD = 'pgrep -f fuelmenu' fuel_menu_pid = None with self.ssh: for i in range(WAIT_LOOP): ret = self.ssh.exec_cmd(CMD) - fuel_menu_pid = self.get_fuel_menu_pid(ret, SEARCH) + fuel_menu_pid = ret.strip() if not fuel_menu_pid: time.sleep(SLEEP_TIME) else: @@ -167,17 +169,12 @@ class InstallFuelMaster(object): raise Exception('Could not find the Fuel Menu Process ID') return fuel_menu_pid - def get_fuel_menu_pid(self, printout, search): - for line in printout.splitlines(): - if line.endswith(search): - return clean(line)[1] - def ssh_exec_cmd(self, cmd, check=True): with self.ssh: ret = self.ssh.exec_cmd(cmd, check=check) return ret - def inject_own_astute_yaml(self): + def inject_own_astute_and_bootstrap_yaml(self): with self.ssh as s: s.exec_cmd('rm -rf %s' % self.work_dir, False) s.exec_cmd('mkdir %s' % self.work_dir) @@ -194,7 +191,7 @@ class InstallFuelMaster(object): def wait_until_installation_completed(self): WAIT_LOOP = 360 SLEEP_TIME = 10 - CMD = 'ps -ef | grep %s | grep -v grep' % BOOTSTRAP_ADMIN + CMD = 'pgrep -f %s' % BOOTSTRAP_ADMIN install_completed = False with self.ssh: