def on_node_online(report): from swarm.stuff import Storage from swarm.tasks import VMInventoryTask cluster = Cluster.instance() if not cluster.is_stored(report.node_oid): node = Node(oid=report.node_oid, hostname=report.hostname, state='online') cluster.store(node) if CLIENT: task = VMInventoryTask(node_oid=node.oid) cluster.store(task) CLIENT.send_task(task) else: log.warn("No client available in on_node_online") else: node = cluster.get(report.node_oid) node.state = 'online' Storage.update_points(node, report.storages)