xmppserver = config.PLC_OMF_XMPP_SERVER
xmppuser = "@".join([config.PLC_OMF_XMPP_USER, xmppserver])
xmpppass = config.PLC_OMF_XMPP_PASSWORD
-pubsub = PubSubClient(xmppuser, xmpppass, verbose=True)
+pubsub = PubSubClient(xmppuser, xmpppass, verbose=False)
def delete_all_nodes(iq):
global pubsub
- print "called"
+ print "Deleting PubSub groups..."
for i in iq.query.elements():
node = i['node']
reactor.callLater(1, pubsub.delete_node, node)
+def is_local_node(node_id, slice_name):
+ try:
+ return GetNodes({'node_id': node_id}, ['peer_id'])[0]['peer_id'] == None
+ except IndexError:
+ print "WARNING: can not find the node with node_id %s" % node_id
+ print "WARNING: node_id %s was referenced in slice %s" % (node_id, slice_name)
+ return False
+
if __name__ == "__main__":
pubsub.add_result_hook("discover", delete_all_nodes)
reactor.callLater(1, pubsub.discover)
reactor.connectTCP(pubsub.id.host, 5222, pubsub.factory)
reactor.run()
+ print "Re-creating PubSub groups..."
slices = GetSlices()
for slice in slices:
xmlrpc.createSlice(slice['name'])
for node_id in slice['node_ids']:
- node = GetNodes(node_id)[0]['hostname']
- xmlrpc.addResource(slice['name'], node)
-
-
-
+ try:
+ hrn = GetNodeTags({'tagname':'hrn', 'node_id': node_id})[0]['value']
+ xmlrpc.addResource(slice['name'], hrn)
+ except IndexError:
+ if is_local_node(node_id, slice['name']):
+ print "WARNING: missing hrn tag for node_id: %s" % node_id