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