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,
# but as the stress test might take a while, we sometimes missed the debug mode..
'probe_kvm_iptables',
'ping_node', 'ssh_node_debug', 'plcsh_stress_test@1', SEP,
- 'ssh_node_boot', 'node_bmlogs', 'ssh_slice', 'ssh_slice_basics', 'check_initscripts', SEP,
+ 'ssh_node_boot', 'node_bmlogs', 'ssh_slice', 'ssh_slice_basics', SEP,
'ssh_slice_sfa@1', SEPSFA,
'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,
'sfa_get_expires', SEPSFA,
'plc_db_dump' , 'plc_db_restore', SEP,
'check_netflow','check_drl', SEP,
- 'slice_fs_present', SEP,
+ 'slice_fs_present', 'check_initscripts', SEP,
'standby_1_through_20','yes','no',SEP,
'install_syslinux6', 'bonding_builds', 'bonding_nodes', SEP,
]
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',
"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
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):
"""
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"
# the issue here is that we have the server run in background
# and so we have no clue if it took off properly or not
# looks like in some cases it does not
- if not spec['s_sliver'].run_tcp_server(port, timeout=20):
+ address = spec['s_sliver'].test_node.name()
+ if not spec['s_sliver'].run_tcp_server(address, port, timeout=20):
overall = False
break
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'))
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'))
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)