'sfa_rspec_empty@1', 'sfa_allocate_empty@1', 'sfa_provision_empty@1',
'sfa_check_slice_plc_empty@1', SEPSFA,
'sfa_delete_slice@1', 'sfa_delete_user@1', SEPSFA,
- 'cross_check_tcp@1', 'check_system_slice', SEP,
+ 'check_system_slice', SEP,
# for inspecting the slice while it runs the first time
#'fail',
# check slices are turned off properly
'sfa_get_expires', SEPSFA,
'plc_db_dump', 'plc_db_restore', SEP,
'check_netflow', 'check_drl', SEP,
+ # used to be part of default steps but won't work since f27
+ 'cross_check_tcp@1',
'slice_fs_present', 'check_initscripts', SEP,
'standby_1_through_20', 'yes', 'no', SEP,
'install_syslinux6', 'bonding_builds', 'bonding_nodes', SEP,
return self.run_in_guest('sfaadmin reg import_registry') == 0
def sfa_start(self):
- "start SFA through systemctl"
- return (self.start_stop_systemd('sfa-registry', 'start') and
- self.start_stop_systemd('sfa-aggregate', 'start'))
+ "start SFA through systemctl - also install dependencies"
+
+ # installing this one through pip2 is a pain, it is a source install
+ # and requires a python2 devel environment so let's kep it simple
+ dnf_dependencies = [
+ "m2crypto"
+ ]
+ pip_dependencies = [
+ 'sqlalchemy-migrate',
+ 'lxml',
+ 'python-dateutil',
+ 'psycopg2-binary',
+ ]
+ dnf_deps = all((self.run_in_guest(f"dnf -y install {dep}") == 0)
+ for dep in dnf_dependencies)
+ pip_deps = all((self.run_in_guest(f"pip2 install {dep}") == 0)
+ for dep in pip_dependencies)
+ return (dnf_deps
+ and pip_deps
+ and self.start_stop_systemd('sfa-registry', 'start')
+ and self.start_stop_systemd('sfa-aggregate', 'start'))
def sfi_configure(self):