Modifications to reflect the changes in the test rspec directory.
[sfa.git] / testbeds / iotlab / tests / sfi_client_tests.py
1 #!/usr/bin/env python
2
3 import os
4 from sfa.iotlab.LDAPapi import LDAPapi
5 from difflib import SequenceMatcher
6
7 def parse_options():
8
9     #arguments supplied
10     if len(sys.argv) > 1 :
11         options_list = sys.argv[1:]
12         rspec_rep = options_list[0]
13         return rspec_rep
14     else:
15         print "Must supply Rspecs directory"
16         return
17
18
19 rspec_dir = parse_options()
20 print "DIRECTORY SUPPLIED" , rspec_dir
21 rspec_filename_list = ['firexp_avakian_slice_iotlab.rspec',
22 'firexp_iotlab_slice_iotlab.rspec',
23 'iotlab_avakian_slice_iotlab2.rspec',
24 'iotlab_avakian_slice_plab.rspec',
25 'firexp_iotlab_slice_all.rspec',
26 'iotlab_avakian_slice_all.rspec',
27 'iotlab_avakian_slice_iotlab.rspec',
28 'iotlab_user_slice_iotlab.rspec',
29 'test_delete_all_leases.rspec']
30
31 rspec_filename_dict = {
32         ('iotlab_avakian', 'iotlab'):
33                 "sfi.py create iotlab.avakian_slice " + rspec_dir + \
34                         'iotlab_avakian_slice_iotlab.rspec',
35
36         ('iotlab_avakian', 'iotlab2'):
37                 "sfi.py create iotlab.avakian_slice " + rspec_dir + \
38                 'iotlab_avakian_slice_iotlab2.rspec',
39
40         ('firexp_user','iotlab'):
41                 "sfi.py create firexp.flab.iotlab_slice " + rspec_dir + \
42                         'firexp_iotlab_slice_iotlab.rspec',
43
44         ('firexp_user', 'all'):
45                         "sfi.py create firexp.flab.iotlab_slice "+ rspec_dir + \
46                                 'firexp_iotlab_slice_all.rspec',
47
48         ('iotlab_user', 'iotlab'):
49                 "sfi.py create iotlab.user_slice "+ rspec_dir + \
50                         'iotlab_user_slice_iotlab.rspec',
51
52         ('firexp_avakian','iotlab'):
53                 "sfi.py create firexp.flab.avakian_slice " + rspec_dir + \
54                         'firexp_avakian_slice_iotlab.rspec',
55
56         ('iotlab_avakian', 'plab') :
57                         "sfi.py create iotlab.avakian_slice " + rspec_dir + \
58                                 'iotlab_avakian_slice_plab.rspec',
59
60         ('iotlab_avakian', 'all') :
61          "sfi.py create iotlab.avakian_slice " + rspec_dir + \
62                 'iotlab_avakian_slice_all.rspec'
63
64         }
65 # check if the firexp user (uid user) is already in LDAP
66 # in this is the case, delete it :
67 ldap_server = LDAPapi()
68 dn = 'uid=' + 'user' + ',' + ldap_server.baseDN
69 result = ldap_server.LdapSearch('(uid=user)', [])
70
71 if result != []:
72         retval = ldap_server.LDAPDelete(dn)
73         print "deleting firexp user : %s " , retval
74
75
76 print "config sfi"
77 with open ("/root/.sfi/sfi_config", "r") as sfi_config:
78         sfi_config_txt = [line for line in sfi_config]
79
80 with open("/root/.sfi/sfi_config_iotlab", "r") as sfi_config_iotlab:
81         sfi_config_iotlab_txt = [line for line in sfi_config_iotlab]
82
83 with open("/root/.sfi/sfi_config_firexp", "r") as sfi_config_firexp:
84         sfi_config_firexp_txt  =  [line for line in sfi_config_firexp]
85 # check that we are using the iotlab sfi configuration
86 result1 = SequenceMatcher(None, sfi_config_txt, sfi_config_iotlab_txt)
87
88 result2 = SequenceMatcher(None, sfi_config_txt, sfi_config_firexp_txt)
89
90 if result1.ratio() != 1.0:
91         os.system('cp /root/.sfi/sfi_config_iotlab /root/.sfi/sfi_config')
92
93 os.system('cat /root/.sfi/sfi_config')
94 os.system('rm /root/tests_rspecs/iotlab_devlille_OUTPUT.rspec')
95
96 print " =================    SFI.PY LIST IOTLAB        ============="
97 os.system('sfi.py list iotlab')
98
99
100 print " =================    SFI.PY RESOURCES          ============="
101 raw_input("Press Enter to continue...")
102 os.system('sfi.py resources')
103
104
105 print " ================= SFI.PY RESOURCES -R IOTLAB        ============="
106 raw_input("Press Enter to continue...")
107 os.system('sfi.py resources -r iotlab')
108
109
110 print " =================    SFI.PY RESOURCES -L ALL      ============="
111 raw_input("Press Enter to continue...")
112 os.system('sfi.py resources -l all')
113
114 print " ================= SFI.PY RESOURCES -R IOTLAB -L ALL ============="
115 raw_input("Press Enter to continue...")
116 os.system('sfi.py resources -r iotlab -l all')
117
118 print " ================= SFI.PY RESOURCES -O  output rspec ==========="
119 os.system('sfi.py resources -o /root/tests_rspecs/iotlab_devlille_OUTPUT.rspec')
120
121 print " ================= SFI.PY RESOURCES -L LEASES  ============="
122 raw_input("Press Enter to continue...")
123 os.system('sfi.py resources -l leases')
124
125
126 print " =================    SFI.PY SHOW USER   ============="
127 raw_input("Press Enter to continue...")
128 os.system('sfi.py show iotlab.avakian')
129
130 print " =================    SFI.PY SHOW NODE   ============="
131 os.system('sfi.py show iotlab.node6.devlille.senslab.info')
132
133 print " =================    SFI.PY SLICES       ============="
134 raw_input("Press Enter to continue...")
135 os.system('sfi.py slices')
136
137 print " =================    SFI.PY STATUS SLICE   ============="
138 os.system('sfi.py status iotlab.avakian_slice')
139
140 print " =================    SFI.PY CREATE SLICE  on iotlab only  ============="
141 raw_input("Press Enter to continue...")
142 os.system( rspec_filename_dict[('iotlab_avakian','iotlab')])
143
144
145 print " ================= SFI.PY RESOURCES -l all iotlab.avakian_slice ============="
146 raw_input("Press Enter to continue...")
147 os.system('sfi.py resources -l all iotlab.avakian_slice')
148
149
150 print " =================    SFI.PY DELETE SLICE   ============="
151 raw_input("Press Enter to continue...")
152 os.system('sfi.py delete iotlab.avakian_slice')
153
154
155 print " =================    SFI.PY CREATE SLICE  on iotlab and firexp  ============="
156 raw_input("Press Enter to continue...")
157 os.system(rspec_filename_dict[('iotlab_avakian','all')])
158
159
160 print " ================= SFI.PY RESOURCES -l all -r iotlab iotlab.avakian_slice ============="
161 raw_input("Press Enter to continue...")
162 os.system('sfi.py resources -l all -r iotlab iotlab.avakian_slice')
163
164
165 print " =================SFI.PY RESOURCES -L LEASES -R IOTLAB ============== "
166 os.system('sfi.py resources -r iotlab -l leases')
167
168
169 print " =================    SFI.PY DELETE SLICE   ============="
170 raw_input("Press Enter to continue...")
171 os.system('sfi.py delete iotlab.avakian_slice')
172
173 print "\r\n \r\n"
174
175 print " *********changing to firexp sfi config ***************"
176 os.system('cp /root/.sfi/sfi_config_firexp /root/.sfi/sfi_config')
177
178
179
180 print " =================    SFI.PY CREATE SLICE  on iotlab and firexp  ============="
181 raw_input("Press Enter to continue...")
182 os.system(rspec_filename_dict[('firexp_user','all')])
183
184
185 print " =================    SFI.PY SHOW SLICE   ============="
186 raw_input("Press Enter to continue...")
187 os.system('sfi.py show firexp.flab.iotlab_slice')
188
189
190 print " ================= SFI.PY RESOURCES -l leases firexp.flab.iotlab_slice ============="
191 raw_input("Press Enter to continue...")
192 os.system('sfi.py resources -l leases firexp.flab.iotlab_slice')
193
194
195 print " ================= SFI.PY RESOURCES firexp.flab.iotlab_slice  ============="
196 raw_input("Press Enter to continue...")
197 os.system('sfi.py resources firexp.flab.iotlab_slice')
198
199
200
201