from TestPlc import TestPlc
from TestSite import TestSite
from TestNode import TestNode
+from macros import sequences
# add $HOME in PYTHONPATH so we can import LocalSubstrate.py
sys.path.append(os.environ['HOME'])
if self.native:
self.method=Step.natives[self.name]
else:
- # non-native steps (macros) are implemented as a 'Step'
try:
- modulename = 'macro_' + self.name
- module = __import__ (modulename)
- self.substeps = module.sequence
+ self.substeps=sequences[self.name]
except Exception,e:
- print "Cannot load macro step %s (%s) - exiting"%(self.name,e)
+ print "macro step %s not found in macros.py (%s) - exiting"%(self.name,e)
raise
def norm_name (self): return self.name.replace('_','-')
# just do a listdir, hoping we're in the right directory...
@staticmethod
def list_macros ():
- names= [ filename.replace('macro_','').replace('.py','') for filename in glob.glob ('macro_*.py')]
+ names= sequences.keys()
names.sort()
return names
'populate' , SEP,
'nodestate_show','nodestate_safeboot','nodestate_boot', SEP,
'qemu_list_all', 'qemu_list_mine', 'qemu_kill_all', SEP,
- 'sfa_install', 'sfa_tables_install', 'sfa_plc_install', 'sfa_client_install', SEPSFA,
+ 'sfa_install_core', 'sfa_install_sfatables', 'sfa_install_plc', 'sfa_install_client', SEPSFA,
'sfa_plcclean', 'sfa_dbclean', 'sfa_stop','sfa_uninstall', 'sfi_clean', SEPSFA,
'plc_db_dump' , 'plc_db_restore', SEP,
'standby_1_through_20',SEP,
"yum install sfa sfa-plc sfa-sfatables sfa-client"
return self.yum_install ("sfa sfa-plc sfa-sfatables sfa-client")
- ### sfa_install_rpm
- def sfa_install(self):
+ def sfa_install_core(self):
"yum install sfa"
return self.yum_install ("sfa")
- ### sfa_install_rpm
- def sfa_plc_install(self):
+ def sfa_install_plc(self):
"yum install sfa-plc"
return self.yum_install("sfa-plc")
- ### sfa_install_rpm
- def sfa_client_install(self):
+ def sfa_install_client(self):
"yum install sfa-client"
return self.yum_install("sfa-client")
- ### sfa_install_rpm
- def sfa_tables_install(self):
+ def sfa_install_sfatables(self):
"yum install sfa-sfatables"
return self.yum_install ("sfa-sfatables")
+++ /dev/null
-# Thierry Parmentelat <thierry.parmentelat@inria.fr>
-# Copyright (C) 2010 INRIA
-#
-# a macro for releasing all local resources and cleanup trackers
-
-"release local resources (stop vs, kill qemus, clean trackers)"
-
-# no trackers anymore
-sequence = [ 'vs_stop', 'qemu_kill_mine', ]
-
+++ /dev/null
-sequence = [
-'sfa_plcclean',
-'sfa_dbclean',
-'sfa_import',
-'sfi_configure',
-'sfa_add_user',
-'sfa_add_slice',
-'sfa_discover',
-'sfa_create_slice',
-'sfa_check_slice_plc',
-'sfa_update_user',
-'sfa_update_slice',
-'sfa_view',
-'sfa_utest',
-'sfa_delete_slice',
-'sfa_delete_user',
-]
+++ /dev/null
-sequence = [
-'sfa_plcclean',
-'sfa_dbclean',
-'sfa_stop',
-'sfi_clean',
-'sfa_configure',
-'sfa_import',
-'sfa_start',
-'sfi_configure',
-]
+++ /dev/null
-sequence=[
- 'show', SEP,
- 'vs_delete','timestamp_vs','vs_create', SEP,
- 'plc_install', 'plc_configure', 'plc_start', SEP,
- 'keys_fetch', 'keys_store', 'keys_clear_known_hosts', SEP,
- 'initscripts', 'sites', 'nodes', 'slices', 'nodegroups', 'leases', SEP,
- 'nodestate_reinstall', 'qemu_local_init','bootcd', 'qemu_local_config', SEP,
- 'qemu_export', 'qemu_kill_mine', 'qemu_start', 'timestamp_qemu', SEP,
- 'sfa_install_all', 'sfa_configure', 'cross_sfa_configure', 'sfa_start', 'sfa_import', SEPSFA,
- 'sfi_configure@1', 'sfa_add_user@1', 'sfa_add_slice@1', 'sfa_discover@1', SEPSFA,
- 'sfa_create_slice@1', 'sfa_check_slice_plc@1', SEPSFA,
- 'sfa_update_user@1', 'sfa_update_slice@1', 'sfa_view@1', 'sfa_utest@1',SEPSFA,
-]
+++ /dev/null
-sequence=[
-'show',
-'vs_delete',
-'timestamp_vs',
-'vs_create',
-'sfa_install',
-'sfa_tables_install',
-'sfa_configure',
-'cross_sfa_configure',
-'sfa_start',
-]
--- /dev/null
+# Thierry Parmentelat <thierry.parmentelat@inria.fr>
+# Copyright (C) 2010 INRIA
+
+sequences={}
+
+"release local resources (stop vs, kill qemus, clean trackers)"
+sequences['free_all'] = [ 'vs_stop', 'qemu_kill_mine', ]
+
+"re-run a complete sfa cycle from a nightly test"
+sequences['sfa'] = [
+ 'sfa_plcclean',
+ 'sfa_dbclean',
+ 'sfa_import',
+ 'sfi_configure',
+ 'sfa_add_user',
+ 'sfa_add_slice',
+ 'sfa_discover',
+ 'sfa_create_slice',
+ 'sfa_check_slice_plc',
+ 'sfa_update_user',
+ 'sfa_update_slice',
+ 'sfa_view',
+ 'sfa_utest',
+ 'sfa_delete_slice',
+ 'sfa_delete_user',
+ ]
+
+sequences['sfa_restart'] = [
+ 'sfa_plcclean',
+ 'sfa_dbclean',
+ 'sfa_stop',
+ 'sfi_clean',
+ 'sfa_configure',
+ 'sfa_import',
+ 'sfa_start',
+ 'sfi_configure',
+ ]
+
+# run the whole SFA stuff but from scratch, new vs all reinstalled and all
+sequences['sfa_scratch'] = [
+ 'show',
+ 'vs_delete','timestamp_vs','vs_create',
+ 'plc_install', 'plc_configure', 'plc_start',
+ 'keys_fetch', 'keys_store', 'keys_clear_known_hosts',
+ 'initscripts', 'sites', 'nodes', 'slices', 'nodegroups', 'leases',
+ 'nodestate_reinstall', 'qemu_local_init','bootcd', 'qemu_local_config',
+ 'qemu_export', 'qemu_kill_mine', 'qemu_start', 'timestamp_qemu',
+ 'sfa_install_all', 'sfa_configure', 'cross_sfa_configure', 'sfa_start', 'sfa_import',
+ 'sfi_configure', 'sfa_add_user', 'sfa_add_slice', 'sfa_discover',
+ 'sfa_create_slice', 'sfa_check_slice_plc',
+ 'sfa_update_user', 'sfa_update_slice', 'sfa_view', 'sfa_utest',
+]
+
+# something that can given to the nightly to prepare a standalone sfa setup
+# after what you'll want to tweak the config to point to a myplc some place else
+sequences['sfa_standalone'] = [
+ 'show',
+ 'vs_delete',
+ 'timestamp_vs',
+ 'vs_create',
+ 'sfa_install_core',
+ 'sfa_install_client',
+ 'sfa_configure',
+ 'cross_sfa_configure',
+ 'sfa_start',
+ 'sfi_configure',
+]
+