new steps slice-fs-present and slice-fs-deleted - call slice-fs-deleted before re...
[tests.git] / system / macros.py
1 # Thierry Parmentelat <thierry.parmentelat@inria.fr>
2 # Copyright (C) 2010 INRIA 
3
4 sequences={}
5
6 "release local resources (stop vs, kill qemus)"
7 sequences['free_all'] = [ 'plcvm_stop', 'qemu_kill_mine', ]
8
9 sequences['sfa_restart'] = [
10     'sfa_stop',
11     'sfa_plcclean',
12     'sfa_dbclean',
13     'sfa_fsclean',
14     'sfa_configure',
15     'sfa_start',
16     'sfa_import',
17     'sfi_clean',
18     'sfi_configure',
19     ]
20
21 "re-run a complete sfa cycle from a nightly test"
22 sequences['sfa_populate'] = [ 
23     'sfa_register_site',
24     'sfa_register_pi',
25     'sfa_register_user', 
26     'sfa_update_user', 
27     'sfa_register_slice',
28     'sfa_renew_slice',
29     'sfa_discover', 
30     'sfa_create_slice', 
31     'sfa_check_slice_plc', 
32     'sfa_update_user',
33     'sfa_update_slice', 
34 # xxx this behaves weird in this context, needs more care apparently
35 # looks like at that point the PI is not allowed, while the regular is allowed to
36 # remove himself (!) and to add himself back in (!!)
37 #    'sfa_user_slice',
38     'sfi_view_all', 
39     'sfa_utest', 
40     ]
41
42 sequences['sfa_delete'] = [
43     'sfa_delete_slice', 
44     'sfa_delete_user',
45 ]
46
47 sequences['sfa'] = [
48     'sfa_restart',
49     'sfa_populate',
50 ]
51
52 sequences['sfa_create'] = [
53     'sfa_plcclean', 
54     # nuke sometimes requires the service to be stopped b/c of db locks apparently
55     'sfa_stop',
56     'sfa_dbclean',
57     'sfa_start',
58     'sfa_import', 
59     'sfi_clean',
60     'sfi_configure', 
61     'sfa_register_site',
62     'sfa_register_pi',
63     'sfa_register_user', 
64     'sfa_register_slice',
65 ]
66
67 sequences['sfa_user_slice'] = [
68     'sfa_remove_user_from_slice',
69     'sfi_show_slice_researchers', 
70     'sfa_insert_user_in_slice',
71     'sfi_show_slice_researchers', 
72 ]
73
74 sequences['sfa_provision'] = [ 
75     'sfa_discover',
76     'sfa_create_slice',
77     'sfa_check_slice_plc',
78     'sfi_view_all',
79 ]
80
81 # run the whole SFA stuff but from scratch, new vs all reinstalled and all
82 sequences['sfa_scratch'] = [
83     'show',
84     'plcvm_delete','plcvm_timestamp','plcvm_create', 
85     'plc_install', 'plc_configure', 'plc_start', 
86     'keys_fetch', 'keys_store', 'keys_clear_known_hosts', 
87     'initscripts', 'sites', 'nodes', 'slices', 'nodegroups', 'leases', 
88     'nodestate_reinstall', 'qemu_local_init','bootcd', 'qemu_local_config', 
89     'qemu_export', 'qemu_kill_mine', 'qemu_start', 'qemu_timestamp', 
90     'sfa_install_all', 'sfa_configure', 'cross_sfa_configure', 'sfa_start', 'sfa_import', 
91     'sfi_configure', 'sfa_register_user', 'sfa_register_slice', 'sfa_discover', 
92     'sfa_create_slice', 'sfa_check_slice_plc', 
93     'sfa_update_user', 'sfa_update_slice', 'sfi_view_all', 'sfa_utest',
94 ]
95
96 sequences['sfi_view_all'] = [
97     'sfi_list',
98     'sfi_show_site',
99     'sfi_show_slice',
100 ]
101
102 # macro to exercice the registry only
103 # this requires the sfavoid config
104 # so that flavour=void and thus sfa-plc is not required
105 # xxx todo
106 # this initially was just a convenience to setup a reduced depl.
107 # clearly there is a lot more to check here in terms of consistency
108 sequences['sfa_standalone'] = [
109     'show',
110     'plcvm_delete',
111     'plcvm_timestamp',
112     'plcvm_create',
113     'sfa_install_client',
114     'sfa_install_core',
115     'sfa_configure',
116     'cross_sfa_configure',
117     'sfa_start',
118     'sfa_import',
119     'sfi_configure',
120     'sfa_register_site',
121     'sfa_register_pi',
122     'sfa_register_user',
123     'sfa_register_slice',
124     'sfi_list',
125     'sfi_show_site',
126     'sfi_show_slice',
127     'sfa_delete_slice',
128     'sfa_delete_user',
129     'sfi_list',
130     'sfi_show_site',
131 #    'sfi_show_slice',
132 ]
133
134 # re-run a qemu node when things go wrong
135 # we need a scheme where we can select another qemu box
136 # this is based on a 2-step mechanism
137 #
138 # run qemu_again1
139 # rm arg-ips-bnode (or echo anotherbox > arg-ips-bnode)
140 # run qemu-again2
141
142 sequences['qemu_again1'] = [
143     'qemu_kill_mine',
144 ]
145
146 sequences['qemu_again2']=[
147     'qemu_clean_mine',
148     'nodestate_reinstall', 'qemu_local_init','bootcd', 'qemu_local_config', 
149     'qemu_clean_mine', 'qemu_export', 'qemu_start', 'qemu_timestamp', 
150     'ping_node', 'ssh_node_debug',
151     'ssh_node_boot', 'node_bmlogs', 'ssh_slice', 'ssh_slice_basics', 'check_initscripts',
152 ]
153
154 # same but only up to ping 
155 sequences['qemu_again2_ping']=[
156     'qemu_clean_mine',
157     'nodestate_reinstall', 'qemu_local_init','bootcd', 'qemu_local_config', 
158     'qemu_clean_mine', 'qemu_export', 'qemu_start', 'qemu_timestamp', 
159     'ping_node',
160 ]
161     
162 sequences['slice_up']=[
163     'fill_slices',
164     'ssh_slice',
165 ]
166 sequences['slice_down']=[
167     'empty_slices',
168     'ssh_slice_off',
169 ]
170 sequences['slice_up_down']=[
171     'slice_up',
172     'slice_down',
173 ]
174