install m2crypto as part of sfa-start
[tests.git] / system / TestPlc.py
index 5f2a418..13e0e2f 100644 (file)
@@ -185,7 +185,7 @@ class TestPlc:
         '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
@@ -212,6 +212,8 @@ class TestPlc:
         '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,
@@ -1709,9 +1711,27 @@ class TestPlc:
         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):