- filter={'boot_state':'rins'}
- self.test_plc.server.AddNode(auth,
- self.test_site.site_spec['site_fields']['login_base'],
- self.node_spec['node_fields'])
- self.test_plc.server.AddNodeNetwork(auth,self.name(),
- self.node_spec['network_fields'])
- self.test_plc.server.UpdateNode(auth, self.name(), filter)
+ rootauth=self.test_plc.auth_root()
+ server = self.test_plc.apiserver
+ node_id=server.AddNode(userauth,
+ self.test_site.site_spec['site_fields']['login_base'],
+ self.node_spec['node_fields'])
+ server.SetNodePlainBootstrapfs(userauth,
+ self.node_spec['node_fields']['hostname'],
+ 'YES')
+ # create as reinstall to avoid user confirmation
+ server.UpdateNode(userauth, self.name(), {'boot_state':'reinstall'})
+
+ if not self.test_plc.has_addresses_api():
+# print 'USING OLD INTERFACE'
+ # populate network interfaces - primary
+ server.AddInterface(userauth,self.name(),
+ self.node_spec['interface_fields'])
+ else:
+# print 'USING NEW INTERFACE with separate ip addresses'
+ # this is for setting the 'dns' stuff that now goes with the node
+ server.UpdateNode (userauth, self.name(), self.node_spec['node_fields_nint'])
+ interface_id = server.AddInterface (userauth, self.name(),self.node_spec['interface_fields_nint'])
+ server.AddIpAddress (userauth, interface_id, self.node_spec['ipaddress_fields'])
+ route_fields=self.node_spec['route_fields']
+ route_fields['interface_id']=interface_id
+ server.AddRoute (userauth, node_id, self.node_spec['route_fields'])
+ pass
+ # populate network interfaces - others
+ if self.node_spec.has_key('extra_interfaces'):
+ for interface in self.node_spec['extra_interfaces']:
+ server.AddInterface(userauth,self.name(), interface['interface_fields'])
+ if interface.has_key('settings'):
+ for (attribute,value) in interface['settings'].iteritems():
+ # locate node network
+ interface = server.GetInterfaces(userauth,{'ip':interface['interface_fields']['ip']})[0]
+ interface_id=interface['interface_id']
+ # locate or create node network attribute type
+ try:
+ interface_tagtype = server.GetTagTypes(userauth,{'name':attribute})[0]
+ except:
+ interface_tagtype = server.AddTagType(rootauth,{'category':'test',
+ 'tagname':attribute})
+ # attach value
+ server.AddInterfaceTag(userauth,interface_id,attribute,value)