X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=system%2FTestPlc.py;h=b6f7e0eec5c4be16880493bfe4150245596d1577;hb=89b208f89cd02816a4fdddd0b23ca1a9eac36852;hp=6c74294e64468cee06b6e50d6778efb5453a779a;hpb=72262d25e7d32f817c47494cfa7173ef283230da;p=tests.git diff --git a/system/TestPlc.py b/system/TestPlc.py index 6c74294..b6f7e0e 100644 --- a/system/TestPlc.py +++ b/system/TestPlc.py @@ -153,7 +153,7 @@ class TestPlc: default_steps = [ 'show', SEP, 'plcvm_delete','plcvm_timestamp','plcvm_create', SEP, - 'plc_install', 'plc_configure', 'plc_start', SEP, + 'django_install', 'plc_install', 'plc_configure', 'plc_start', SEP, 'keys_fetch', 'keys_store', 'keys_clear_known_hosts', SEP, 'plcapi_urls','speed_up_slices', SEP, 'initscripts', 'sites', 'nodes', 'slices', 'nodegroups', 'leases', SEP, @@ -350,6 +350,9 @@ class TestPlc: self.run_in_guest("yum-complete-transaction -y") return self.yum_check_installed(rpms) + def pip_install(self, package): + return self.run_in_guest("pip -y install {}".format(package)) == 0 + def auth_root(self): return {'Username' : self.plc_spec['settings']['PLC_ROOT_USER'], 'AuthMethod' : 'password', @@ -661,8 +664,8 @@ class TestPlc: "vserver delete the test myplc" stamp_path = self.vm_timestamp_path() self.run_in_host("rm -f {}".format(stamp_path)) - self.run_in_host("virsh -c lxc:// destroy {}".format(self.vservername)) - self.run_in_host("virsh -c lxc:// undefine {}".format(self.vservername)) + self.run_in_host("virsh -c lxc:/// destroy {}".format(self.vservername)) + self.run_in_host("virsh -c lxc:/// undefine {}".format(self.vservername)) self.run_in_host("rm -fr /vservers/{}".format(self.vservername)) return True @@ -711,6 +714,15 @@ class TestPlc: create_vserver="{build_dir}/{script} {script_options} {vserver_name}".format(**locals()) return self.run_in_host(create_vserver) == 0 + ### install django through pip + def django_install(self): + # plcapi requires Django, that is no longer provided py fedora as an rpm + # so we use pip instead + """ + pip install Django + """ + return self.pip_install('Django') + ### install_rpm def plc_install(self): """ @@ -785,22 +797,18 @@ class TestPlc: utils.system('rm {}'.format(tmpname)) return True - # care only about f>=25 - def start_stop_service(self, service, start_or_stop): - "utility to start/stop an old-fashioned service (plc)" - return self.run_in_guest("service {} {}".format(service, start_or_stop)) == 0 - + # care only about f>=27 def start_stop_systemd(self, service, start_or_stop): "utility to start/stop a systemd-defined service (sfa)" return self.run_in_guest("systemctl {} {}".format(start_or_stop, service)) == 0 def plc_start(self): - "service plc start" - return self.start_stop_service('plc', 'start') + "start plc through systemclt" + return self.start_stop_systemd('plc', 'start') def plc_stop(self): - "service plc stop" - return self.start_stop_service('plc', 'stop') + "stop plc through systemctl" + return self.start_stop_systemd('plc', 'stop') def plcvm_start(self): "start the PLC vserver" @@ -1691,7 +1699,7 @@ class TestPlc: return self.run_in_guest('sfaadmin reg import_registry') == 0 def sfa_start(self): - "service sfa start" + "start SFA through systemctl" return (self.start_stop_systemd('sfa-registry', 'start') and self.start_stop_systemd('sfa-aggregate', 'start')) @@ -1789,7 +1797,7 @@ class TestPlc: def sfa_delete_slice(self): pass def sfa_stop(self): - "service sfa stop" + "stop sfa through systemclt" return (self.start_stop_systemd('sfa-aggregate', 'stop') and self.start_stop_systemd('sfa-registry', 'stop')) @@ -1915,14 +1923,13 @@ class TestPlc: def plc_db_restore(self): 'restore the planetlab5 DB - looks broken, but run -n might help' dump = self.dbfile("planetab5") - ##stop httpd service - self.run_in_guest('service httpd stop') + self.run_in_guest('systemctl stop httpd') # xxx - need another wrapper self.run_in_guest_piped('echo drop database planetlab5', 'psql --user=pgsqluser template1') self.run_in_guest('createdb -U postgres --encoding=UNICODE --owner=pgsqluser planetlab5') self.run_in_guest('psql -U pgsqluser planetlab5 -f ' + dump) ##starting httpd service - self.run_in_guest('service httpd start') + self.run_in_guest('systemctl start httpd') utils.header('Database restored from ' + dump)