+ self.test_plc.apiserver.AddPersonToSlice(auth, test_user.name(), slice_name)
+ # add initscript code or name as appropriate
+ if self.slice_spec.has_key('initscriptcode'):
+ iscode=self.slice_spec['initscriptcode']
+ utils.header("Adding initscript code %s in %s"%(iscode,slice_name))
+ self.test_plc.apiserver.AddSliceTag(self.test_plc.auth_root(), slice_name,'initscript_code',iscode)
+ elif self.slice_spec.has_key('initscriptname'):
+ isname=self.slice_spec['initscriptname']
+ utils.header("Adding initscript name %s in %s"%(isname,slice_name))
+ self.test_plc.apiserver.AddSliceTag(self.test_plc.auth_root(), slice_name,'initscript',isname)
+ if 'omf-friendly' in self.slice_spec:
+ utils.header("Making slice %s OMF-friendly"%slice_name)
+ self.test_plc.apiserver.AddSliceTag(self.test_plc.auth_root(), slice_name,'vref','omf')
+ self.test_plc.apiserver.AddSliceTag(self.test_plc.auth_root(), slice_name,'omf_control','yes')
+# setting vref directly like this was useful for multi-arch tests long ago - see wifilab
+# however this should rather use other tags by now, so we drop this for now
+# if self.slice_spec.has_key ('vref'):
+# vref_value=self.slice_spec['vref']
+# self.test_plc.apiserver.AddSliceTag(self.test_plc.auth_root(), slice_name,'vref',vref_value)
+ # epilogue
+ self.add_nodes()
+
+ def check_vsys_defaults (self, options, *args, **kwds):
+ "check vsys tags match PLC_VSYS_DEFAULTS"
+ auth = self.owner_auth()
+ slice_fields = self.slice_spec['slice_fields']
+ slice_name = slice_fields['name']
+ vsys_tags = self.test_plc.apiserver.GetSliceTags (auth,{'tagname':'vsys','name':slice_name})
+ values=[ st['value'] for st in vsys_tags ]
+ expected=self.test_plc.plc_spec['expected_vsys_tags']
+ result = set(values) == set(expected)
+ if not result:
+ print 'Check vsys defaults with slice %s'%slice_name
+ print 'Expected %s'%expected
+ print 'Got %s'%values
+ return result