4 from sfa.iotlab.LDAPapi import LDAPapi
5 from difflib import SequenceMatcher
10 if len(sys.argv) > 1 :
11 options_list = sys.argv[1:]
12 rspec_rep = options_list[0]
15 print "Must supply Rspecs directory"
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']
31 rspec_filename_dict = {
32 ('iotlab_avakian', 'iotlab'):
33 "sfi.py create iotlab.avakian_slice " + rspec_dir + \
34 'iotlab_avakian_slice_iotlab.rspec',
36 ('iotlab_avakian', 'iotlab2'):
37 "sfi.py create iotlab.avakian_slice " + rspec_dir + \
38 'iotlab_avakian_slice_iotlab2.rspec',
40 ('firexp_user','iotlab'):
41 "sfi.py create firexp.flab.iotlab_slice " + rspec_dir + \
42 'firexp_iotlab_slice_iotlab.rspec',
44 ('firexp_user', 'all'):
45 "sfi.py create firexp.flab.iotlab_slice "+ rspec_dir + \
46 'firexp_iotlab_slice_all.rspec',
48 ('iotlab_user', 'iotlab'):
49 "sfi.py create iotlab.user_slice "+ rspec_dir + \
50 'iotlab_user_slice_iotlab.rspec',
52 ('firexp_avakian','iotlab'):
53 "sfi.py create firexp.flab.avakian_slice " + rspec_dir + \
54 'firexp_avakian_slice_iotlab.rspec',
56 ('iotlab_avakian', 'plab') :
57 "sfi.py create iotlab.avakian_slice " + rspec_dir + \
58 'iotlab_avakian_slice_plab.rspec',
60 ('iotlab_avakian', 'all') :
61 "sfi.py create iotlab.avakian_slice " + rspec_dir + \
62 'iotlab_avakian_slice_all.rspec'
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)', [])
72 retval = ldap_server.LDAPDelete(dn)
73 print "deleting firexp user : %s " , retval
77 with open ("/root/.sfi/sfi_config", "r") as sfi_config:
78 sfi_config_txt = [line for line in sfi_config]
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]
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)
88 result2 = SequenceMatcher(None, sfi_config_txt, sfi_config_firexp_txt)
90 if result1.ratio() != 1.0:
91 os.system('cp /root/.sfi/sfi_config_iotlab /root/.sfi/sfi_config')
93 os.system('cat /root/.sfi/sfi_config')
94 os.system('rm /root/tests_rspecs/iotlab_devlille_OUTPUT.rspec')
96 print " ================= SFI.PY LIST IOTLAB ============="
97 os.system('sfi.py list iotlab')
100 print " ================= SFI.PY RESOURCES ============="
101 raw_input("Press Enter to continue...")
102 os.system('sfi.py resources')
105 print " ================= SFI.PY RESOURCES -R IOTLAB ============="
106 raw_input("Press Enter to continue...")
107 os.system('sfi.py resources -r iotlab')
110 print " ================= SFI.PY RESOURCES -L ALL ============="
111 raw_input("Press Enter to continue...")
112 os.system('sfi.py resources -l all')
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')
118 print " ================= SFI.PY RESOURCES -O output rspec ==========="
119 os.system('sfi.py resources -o /root/tests_rspecs/iotlab_devlille_OUTPUT.rspec')
121 print " ================= SFI.PY RESOURCES -L LEASES ============="
122 raw_input("Press Enter to continue...")
123 os.system('sfi.py resources -l leases')
126 print " ================= SFI.PY SHOW USER ============="
127 raw_input("Press Enter to continue...")
128 os.system('sfi.py show iotlab.avakian')
130 print " ================= SFI.PY SHOW NODE ============="
131 os.system('sfi.py show iotlab.node6.devlille.senslab.info')
133 print " ================= SFI.PY SLICES ============="
134 raw_input("Press Enter to continue...")
135 os.system('sfi.py slices')
137 print " ================= SFI.PY STATUS SLICE ============="
138 os.system('sfi.py status iotlab.avakian_slice')
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')])
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')
150 print " ================= SFI.PY DELETE SLICE ============="
151 raw_input("Press Enter to continue...")
152 os.system('sfi.py delete iotlab.avakian_slice')
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')])
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')
165 print " =================SFI.PY RESOURCES -L LEASES -R IOTLAB ============== "
166 os.system('sfi.py resources -r iotlab -l leases')
169 print " ================= SFI.PY DELETE SLICE ============="
170 raw_input("Press Enter to continue...")
171 os.system('sfi.py delete iotlab.avakian_slice')
175 print " *********changing to firexp sfi config ***************"
176 os.system('cp /root/.sfi/sfi_config_firexp /root/.sfi/sfi_config')
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')])
185 print " ================= SFI.PY SHOW SLICE ============="
186 raw_input("Press Enter to continue...")
187 os.system('sfi.py show firexp.flab.iotlab_slice')
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')
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')