self.slice_id = network.slice.id
self.tagname = tagname
self.value = value
- self.node_id = node.id
+ if node:
+ self.node_id = node.id
+ else:
+ self.node_id = None
self.category = tt.category
self.min_role_id = tt.min_role_id
self.status = "new"
message = str(sys.exc_info()[1])
raise InvalidRSpec(message)
+ # Filter out stuff that's not for us
+ rspec = tree.getroot()
+ for network in rspec.iterfind("./network"):
+ if network.get("name") != self.api.hrn:
+ rspec.remove(network)
+ for request in rspec.iterfind("./request"):
+ if request.get("name") != self.api.hrn:
+ rspec.remove(request)
+
if schema:
# Validate the incoming request against the RelaxNG schema
relaxng_doc = etree.parse(schema)
message = "%s (line %s)" % (error.message, error.line)
raise InvalidRSpec(message)
- rspec = tree.getroot()
self.rspec = rspec
- defaults = rspec.find("./network/sliver_defaults")
+ defaults = rspec.find(".//sliver_defaults")
self.__process_attributes(defaults)
# Find slivers under node elements
def toxml(self):
xml = XMLBuilder(format = True, tab_step = " ")
with xml.RSpec(type=self.type):
- name = "Public_" + self.type
if self.slice:
- element = xml.network(name=name, slice=self.slice.hrn)
+ element = xml.network(name=self.api.hrn, slice=self.slice.hrn)
else:
- element = xml.network(name=name)
+ element = xml.network(name=self.api.hrn)
with element:
if self.slice: