'initscripts', 'sites', 'nodes', 'slices', 'nodegroups', 'leases', SEP,
'nodestate_reinstall', 'qemu_local_init','bootcd', 'qemu_local_config', 'qemu_export', 'qemu_kill_all', 'qemu_start', SEP,
'sfa_install', 'sfa_configure', 'cross_sfa_configure', 'sfa_import', 'sfa_start', SEPSFA,
- 'sfi_configure@1', 'sfa_add_user@1', 'sfa_add_slice@1', 'sfa_discover@1', 'sfa_create_slice@1', SEPSFA,
+ 'sfi_configure@1', 'sfa_add_user@1', 'sfa_add_slice@1', 'sfa_discover@1', SEPSFA,
+ 'sfa_create_slice@1', 'sfa_check_slice_plc', SEPSFA,
'sfa_update_user@1', 'sfa_update_slice@1', 'sfa_view@1', 'sfa_utest@1',SEPSFA,
# we used to run plcsh_stress_test, and then ssh_node_debug and ssh_node_boot
# but as the stress test might take a while, we sometimes missed the debug mode..
return True
def aggregate_xml_line(self):
- return '<aggregate addr="%s" hrn="%s" port="12346"/>' % \
+ return '<aggregate addr="%s" hrn="%s" port="12347"/>' % \
(self.vserverip,self.plc_spec['sfa']['SFA_REGISTRY_ROOT_AUTH'])
def registry_xml_line(self):
"run sfi.py create (on SM) - 1st time"
pass
+ @slice_sfa_mapper
+ def sfa_check_slice_plc(self):
+ "check sfa_create_slice at the plcs - all local nodes should be in slice"
+ pass
+
@slice_sfa_mapper
def sfa_update_slice(self):
"run sfi.py create (on SM) on existing object"
return self.test_plc.run_in_guest("sfi.py -d /root/.sfi/ add slice.xml")==0
def sfa_discover(self,options):
- auth=self.test_plc.plc_spec['sfa']['SFA_REGISTRY_ROOT_AUTH']
return self.test_plc.run_in_guest("sfi.py -d /root/.sfi/ resources -o /root/.sfi/resources_in.rspec")==0
def sfa_create_slice(self,options):
- auth=self.test_plc.plc_spec['sfa']['SFA_REGISTRY_ROOT_AUTH']
+ root_auth=self.test_plc.plc_spec['sfa']['SFA_REGISTRY_ROOT_AUTH']
commands=[
"sfiListNodes.py -i /root/.sfi/resources_in.rspec -o /root/.sfi/all_nodes.txt",
"sfiAddSliver.py -i /root/.sfi/resources_in.rspec -n /root/.sfi/all_nodes.txt -o /root/.sfi/resources_out.rspec",
- "sfi.py -d /root/.sfi/ create %s.%s.%s resources_out.rspec"%(auth,self.login_base,self.slicename),
+ "sfi.py -d /root/.sfi/ create %s.%s.%s resources_out.rspec"%(root_auth,self.login_base,self.slicename),
]
for command in commands:
if self.test_plc.run_in_guest(command)!=0: return False
return True
+ # all local nodes in slice ?
+ def sfa_check_slice_plc (self,options):
+ slice_fields = self.slice_spec['slice_fields']
+ slice_name = slice_fields['name']
+ slice=self.test_plc.apiserver.GetSlices(self.test_plc.auth_root(), slice_name)[0]
+ nodes=self.test_plc.apiserver.GetNodes(self.test_plc.auth_root(), {'peer_id':None})
+ result=True
+ for node in nodes:
+ if node['node_id'] in slice['node_ids']:
+ utils.header("local node %s found in slice %s"%(node['hostname'],slice['name']))
+ else:
+ utils.header("ERROR - local node %s NOT FOUND in slice %s"%(node['hostname'],slice['name']))
+ result=False
+ return result
+
# actually the same for now
def sfa_update_slice(self,options):
return self.sfa_create_slice(options)
def sfa_delete_slice(self,options):
- auth=self.test_plc.plc_spec['sfa']['SFA_REGISTRY_ROOT_AUTH']
- self.test_plc.run_in_guest("sfi.py -d /root/.sfi/ delete %s.%s.%s"%(auth,self.login_base,self.slicename))
- return self.test_plc.run_in_guest("sfi.py -d /root/.sfi/ remove -t slice %s.%s.%s"%(auth,self.login_base,self.slicename))==0
+ root_auth=self.test_plc.plc_spec['sfa']['SFA_REGISTRY_ROOT_AUTH']
+ self.test_plc.run_in_guest("sfi.py -d /root/.sfi/ delete %s.%s.%s"%(root_auth,self.login_base,self.slicename))
+ return self.test_plc.run_in_guest("sfi.py -d /root/.sfi/ remove -t slice %s.%s.%s"%(root_auth,self.login_base,self.slicename))==0
# check the resulting sliver
def ssh_slice_sfa(self,options,timeout_minutes=40,silent_minutes=30,period=15):