示例#1
0
文件: graph.py 项目: k-wiatrzyk/orca
 def add_node(self, node):
     if self.get_node(node.id):
         return
     node.created_at = utils.get_utc()
     node.updated_at = node.created_at
     LOG.debug("Adding node: %s", node)
     self._driver.add_node(node)
     self._notify_listeners(GraphEvent.NODE_ADDED, node)
示例#2
0
文件: graph.py 项目: k-wiatrzyk/orca
 def add_link(self, link):
     if self.get_link(link.id):
         return
     link.created_at = utils.get_utc()
     link.updated_at = link.created_at
     LOG.debug("Adding link: %s", link)
     self._driver.add_link(link)
     self._notify_listeners(GraphEvent.LINK_ADDED, link)
示例#3
0
文件: graph.py 项目: k-wiatrzyk/orca
 def delete_link(self, link_id):
     link = self.get_link(link_id)
     if not link:
         return
     link.deleted_at = utils.get_utc()
     LOG.debug("Deleting link: %s", link)
     self._driver.update_link(link)
     self._notify_listeners(GraphEvent.LINK_DELETED, link)
示例#4
0
文件: graph.py 项目: k-wiatrzyk/orca
 def update_link(self, new_link):
     link = self.get_link(new_link.id)
     if not link:
         return
     link.properties = new_link.properties
     link.updated_at = utils.get_utc()
     LOG.debug("Updating link: %s", new_link)
     self._driver.update_link(link)
     self._notify_listeners(GraphEvent.LINK_UPDATED, link)
示例#5
0
文件: graph.py 项目: k-wiatrzyk/orca
 def update_node(self, new_node):
     node = self.get_node(new_node.id)
     if not node:
         return
     node.properties = new_node.properties
     node.updated_at = utils.get_utc()
     LOG.debug("Updating node: %s", node)
     self._driver.update_node(node)
     self._notify_listeners(GraphEvent.NODE_UPDATED, node)
示例#6
0
 def collect(self):
     nodes = self._graph.get_nodes(properties={
         'origin': self._node_spec.origin,
         'kind': self._node_spec.kind
     })
     nodes_to_remove = []
     for node in nodes:
         if utils.get_utc() - node.updated_at > self._staleness_period:
             nodes_to_remove.append(node)
     return nodes_to_remove
示例#7
0
文件: graph.py 项目: k-wiatrzyk/orca
 def delete_node(self, node_id):
     node = self.get_node(node_id)
     if not node:
         return
     links = self._driver.get_node_links(node)
     for link in links:
         self.delete_link(link.id)
     node.deleted_at = utils.get_utc()
     LOG.debug("Deleting node: %s", node)
     self._driver.update_node(node)
     self._notify_listeners(GraphEvent.NODE_DELETED, node)
示例#8
0
 def _extract_activation_time(self, entity):
     # TODO: Extract activation time from alert payload
     return utils.get_utc()
示例#9
0
文件: graph.py 项目: TahoeWang/orca
 def get_nodes(self, time_point=None, properties=None):
     if not time_point:
         time_point = utils.get_utc()
     if not properties:
         properties = {}
     return self._driver.get_nodes(time_point, properties)