def __add_new_interface(self, node, interface_attrs): interface = NodeNICInterface() interface.node_id = node.id self.__set_interface_attributes(interface, interface_attrs) db().add(interface) db().commit() node.interfaces.append(interface)
def __add_new_interface(self, node, interface_attrs): interface = NodeNICInterface() interface.node_id = node.id self.__set_interface_attributes(interface, interface_attrs) db().add(interface) db().commit() node.interfaces.append(interface)
def update_interfaces_info(self, node): if not "interfaces" in node.meta: raise Exception("No interfaces metadata specified for node") for interface in node.meta["interfaces"]: nicInterface = NodeNICInterface() nicInterface.node_id = node.id nicInterface.name = interface["name"] nicInterface.mac = interface["mac"] if "max_speed" in interface: nicInterface.max_speed = interface["max_speed"] if "current_speed" in interface: nicInterface.current_speed = interface["current_speed"] self.db.add(nicInterface) self.db.commit() node.interfaces.append(nicInterface)
def update_interfaces_info(self, node): if not "interfaces" in node.meta: raise Exception("No interfaces metadata specified for node") for interface in node.meta["interfaces"]: nicInterface = NodeNICInterface() nicInterface.node_id = node.id nicInterface.name = interface["name"] nicInterface.mac = interface["mac"] if "max_speed" in interface: nicInterface.max_speed = interface["max_speed"] if "current_speed" in interface: nicInterface.current_speed = interface["current_speed"] self.db.add(nicInterface) self.db.commit() node.interfaces.append(nicInterface)
def get_nics_from_meta(self, node): nics = [] if node.meta and node.meta.get('interfaces'): for i in node.meta['interfaces']: if 'name' not in i or 'mac' not in i: logger.debug('Some node NIC interface in "meta" doesn\'t' ' have name or mac') continue nic = NodeNICInterface() nic.node_id = node.id for key in ('name', 'mac', 'current_speed', 'max_speed'): if key in i: setattr(nic, key, i[key]) # Skip duplicated interfaces. if filter(lambda k: k.mac == nic.mac, nics): logger.debug('Duplicated interface with MAC %r for node %r' ' (id: %s)', nic.mac, node.name, node.id) continue nics.append(nic) return nics
def get_nics_from_meta(self, node): nics = [] if node.meta and node.meta.get('interfaces'): for i in node.meta['interfaces']: if 'name' not in i or 'mac' not in i: logger.debug('Some node NIC interface in "meta" doesn\'t' ' have name or mac') continue nic = NodeNICInterface() nic.node_id = node.id for key in ('name', 'mac', 'current_speed', 'max_speed'): if key in i: setattr(nic, key, i[key]) # Skip duplicated interfaces. if filter(lambda k: k.mac == nic.mac, nics): logger.debug( 'Duplicated interface with MAC %r for node %r' ' (id: %s)', nic.mac, node.name, node.id) continue nics.append(nic) return nics