+ # populate network interfaces - others
+ if self.node_spec.has_key('extra_interfaces'):
+ for interface in self.node_spec['extra_interfaces']:
+ server.AddNodeNetwork(userauth,self.name(),
+ interface['network_fields'])
+ if interface.has_key('attributes'):
+ for (attribute,value) in interface['attributes'].iteritems():
+ # locate node network
+ nn = server.GetNodeNetworks(userauth,{'ip':interface['network_fields']['ip']})[0]
+ nnid=nn['nodenetwork_id']
+ # locate or create node network attribute type
+ try:
+ nnst = server.GetNodeNetworkSettingTypes(userauth,{'name':attribute})[0]
+ except:
+ nnst = server.AddNodeNetworkSettingType(rootauth,{'category':'test',
+ 'name':attribute})
+ # attach value
+ server.AddNodeNetworkSetting(userauth,nnid,attribute,value)