def add_node(p_pyhouse_obj, p_message_obj): """ Add node (or update if alreeady present). @param p_message_obj: is a decoded json message containing node information """ l_nodes = p_pyhouse_obj.Computer.Nodes l_uuid = p_message_obj['UUID'] l_name = p_message_obj['Name'] l_now = datetime.datetime.now() if l_uuid in l_nodes: LOG.info('Node already present {} '.format(l_name)) p_pyhouse_obj.Computer.Nodes[l_uuid].LastUpdate = l_now else: LOG.info('Node not present - Adding. {} {}'.format( l_uuid, l_name)) l_obj = NodeData() l_obj.Name = l_name l_obj.Key = l_uuid l_obj.Active = p_message_obj['Active'] l_obj.Comment = p_message_obj['Comment'] l_obj.ConnectionAddr_IPv4 = p_message_obj['ConnectionAddr_IPv4'] l_obj.ConnectionAddr_IPv6 = p_message_obj['ConnectionAddr_IPv6'] l_obj.ControllerCount = p_message_obj['ControllerCount'] l_obj.ControllerTypes = p_message_obj['ControllerTypes'] l_obj.NodeId = p_message_obj['NodeId'] l_obj.NodeRole = p_message_obj['NodeRole'] l_obj.LastUpdate = l_now l_obj.UUID = l_uuid p_pyhouse_obj.Computer.Nodes[l_uuid] = l_obj LOG.info('Contains {} Nodes'.format(len(p_pyhouse_obj.Computer.Nodes)))
def add_node(p_pyhouse_obj, p_message_obj): """ Add node (or update if alreeady present). @param p_message_obj: is a decoded json message containing node information """ l_nodes = p_pyhouse_obj.Computer.Nodes l_uuid = p_message_obj['UUID'] l_name = p_message_obj['Name'] l_now = datetime.datetime.now() if l_uuid in l_nodes: LOG.info('Node already present {} '.format(l_name)) p_pyhouse_obj.Computer.Nodes[l_uuid].LastUpdate = l_now else: LOG.info('Node not present - Adding. {} {}'.format(l_uuid, l_name)) l_obj = NodeData() l_obj.Name = l_name l_obj.Key = l_uuid l_obj.Active = p_message_obj['Active'] l_obj.Comment = p_message_obj['Comment'] l_obj.ConnectionAddr_IPv4 = p_message_obj['ConnectionAddr_IPv4'] l_obj.ConnectionAddr_IPv6 = p_message_obj['ConnectionAddr_IPv6'] l_obj.ControllerCount = p_message_obj['ControllerCount'] l_obj.ControllerTypes = p_message_obj['ControllerTypes'] l_obj.NodeId = p_message_obj['NodeId'] l_obj.NodeRole = p_message_obj['NodeRole'] l_obj.LastUpdate = l_now l_obj.UUID = l_uuid p_pyhouse_obj.Computer.Nodes[l_uuid] = l_obj LOG.info('Contains {} Nodes'.format(len(p_pyhouse_obj.Computer.Nodes)))
def _extract_node(self, p_message): l_node = NodeData() l_node.Name = self._get_field(p_message, 'Name') l_node.Key = l_node.Name l_node.Active = True l_node.Comment = '' l_node.ConnectionAddr_IPv4 = self._get_field(p_message, 'ConnectionAddr_IPv4') l_node.ConnectionAddr_IPv6 = self._get_field(p_message, 'ConnectionAddr_IPv6') l_node.ControllerCount = self._get_field(p_message, 'ControllerCount') l_node.ControllerTypes = self._get_field(p_message, 'ControllerTypes') l_node.NodeId = self._get_field(p_message, 'NodeId') l_node.NodeRole = self._get_field(p_message, 'NodeRole')
def _read_one_node_xml(p_node_xml): """ Read the existing XML file (if it exists) and get the node info. """ l_node_obj = NodeData() XmlConfigTools.read_base_object_xml(l_node_obj, p_node_xml) l_node_obj.ConnectionAddr_IPv4 = PutGetXML.get_text_from_xml(p_node_xml, 'ConnectionAddressV4') l_node_obj.ConnectionAddr_IPv6 = PutGetXML.get_text_from_xml(p_node_xml, 'ConnectionAddressV6') l_node_obj.NodeRole = PutGetXML.get_int_from_xml(p_node_xml, 'NodeRole') try: l_node_obj.NodeInterfaces = Xml._read_interfaces_xml(p_node_xml.find('InterfaceSection')) except AttributeError as e_err: LOG.error('ERROR OneNodeRead error {}'.format(e_err)) return l_node_obj
def _read_one_node_xml(p_node_xml): """ Use the passed in xml to create a node entry. @param p_node_xml: is the element in the Xml config file that describes a node. @return: a node object filled in. """ l_node_obj = NodeData() XmlConfigTools.read_base_UUID_object_xml(l_node_obj, p_node_xml) l_node_obj.ConnectionAddr_IPv4 = PutGetXML.get_text_from_xml(p_node_xml, 'ConnectionAddressV4') l_node_obj.ConnectionAddr_IPv6 = PutGetXML.get_text_from_xml(p_node_xml, 'ConnectionAddressV6') l_node_obj.NodeRole = PutGetXML.get_int_from_xml(p_node_xml, 'NodeRole') try: l_node_obj.LastUpdate = PutGetXML.get_date_time_from_xml(p_node_xml, 'LastUpdate') except AttributeError: l_node_obj.LastUpdate = datetime.datetime.now() try: l_node_obj.NodeInterfaces = Xml._read_interfaces_xml(p_node_xml.find('InterfaceSection')) except AttributeError as e_err: LOG.error('ERROR OneNodeRead error {}'.format(e_err)) return l_node_obj
def initialize_node(self, p_addr_v4, p_addr_v6): l_node = NodeData() l_node.ConnectionAddr_IPv4 = p_addr_v4 l_node.ConnectionAddr_IPv6 = p_addr_v6 return l_node