)
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'
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'])
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)
self.ssh_exec_cmd('kill %s' % fuel_menu_pid, False)
- log('Wait until installation complete')
+ log('Wait until installation is complete')
self.wait_until_installation_completed()
log('Waiting for one minute for Fuel to stabilize')
plugin_files = []
with self.ssh as s:
for plugin_location in [PLUGINS_DIR, LOCAL_PLUGIN_FOLDER]:
+ s.exec_cmd('mkdir -p %s' % plugin_location)
r = s.exec_cmd('find %s -type f -name \'*.rpm\''
% plugin_location)
plugin_files.extend(r.splitlines())
'failed: %s' % (f, e))
def wait_for_node_up(self):
- WAIT_LOOP = 60
+ WAIT_LOOP = 240
SLEEP_TIME = 10
success = False
for i in range(WAIT_LOOP):
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:
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)
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: