- if status == node_status['add']:
- rspec.add_sliver(hostname)
- no_change = False
- elif str(status) == node_status['remove']:
- rspec.remove_sliver(hostname)
- no_change = False
+ treelevel = self.levels_down(c)
+
+ if treelevel == 2:
+ testbed = c.parent().itemData[0]
+ if status == node_status['add']:
+ #print "Add hostname: %s" % name
+ rspec.add_sliver(name, testbed)
+ no_change = False
+ elif status == node_status['remove']:
+ #print "Remove hostname: %s" % name
+ rspec.remove_sliver(name, testbed)
+ no_change = False
+ elif treelevel == 3:
+ # A tag entry
+ tag, value = name
+ tag = "%s" % tag # Prevent weird error from lxml
+ node = c.parent().itemData[1]
+ testbed = c.parent().parent().itemData[0]
+ if status == tag_status['add']:
+ #print "Add tag: %s/%s " % (tag, value)
+ if node.startswith(default_tags):
+ rspec.add_default_sliver.attribute(tag, value, testbed)
+ else:
+ rspec.add_sliver_attribute(tag, value, node, testbed)
+ no_change = False
+ elif status == node_status['remove']:
+ #print "Remove tag: %s/%s" % (tag, value)
+ if node.startsWith(default_tags):
+ rspec.remove_default_sliver_attribute(tag, value, testbed)
+ else:
+ rspec.remove_sliver_attribute(node, tag, value, testbed)
+ no_change = False