+ if not isinstance(slivers, list):
+ slivers = [slivers]
+
+ nodes_with_slivers = self.get_nodes_with_slivers()
+ for sliver in slivers:
+ hostname = sliver['hostname']
+ if hostname in nodes_with_slivers:
+ continue
+ nodes = self.xml.xpath('//rspecv2:node[@component_name="%s"] | //node[@component_name="%s"]' % (hostname, hostname), namespaces=self.namespaces)
+ if nodes:
+ node = nodes[0]
+ node.set('client_id', hostname)
+ etree.SubElement(node, 'sliver_type', name='planetlab-vnode')