+ # add initscript code or name as appropriate
+ if 'initscriptcode' in self.slice_spec:
+ iscode = self.slice_spec['initscriptcode']
+ utils.header("Adding initscript code {} in {}".format(iscode, slice_name))
+ self.test_plc.apiserver.AddSliceTag(self.test_plc.auth_root(), slice_name,
+ 'initscript_code', iscode)
+ elif 'initscriptname' in self.slice_spec:
+ isname = self.slice_spec['initscriptname']
+ utils.header("Adding initscript name {} in {}".format(isname, slice_name))
+ self.test_plc.apiserver.AddSliceTag(self.test_plc.auth_root(), slice_name,
+ 'initscript', isname)
+# omf-friendly slices is a deprecated feature
+# if 'omf-friendly' in self.slice_spec:
+# utils.header("Making slice {} OMF-friendly".format(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 {}'.format(slice_name))
+ print('Expected {}'.format(expected))
+ print('Got {}'.format(values))
+ return result