1 #!/usr/bin/env /usr/bin/plcsh
5 sys.path.append("/usr/bin/")
6 from omf_slicemgr import *
8 xmlrpc = xmlrpclib.ServerProxy("http://localhost:5053")
10 xmppserver = config.PLC_OMF_XMPP_SERVER
11 xmppuser = "@".join([config.PLC_OMF_XMPP_USER, xmppserver])
12 xmpppass = config.PLC_OMF_XMPP_PASSWORD
13 pubsub = PubSubClient(xmppuser, xmpppass, verbose=False)
16 def delete_all_nodes(iq):
18 print "Deleting PubSub groups..."
19 for i in iq.query.elements():
21 reactor.callLater(1, pubsub.delete_node, node)
23 def is_local_node(node_id, slice_name):
25 return GetNodes({'node_id': node_id}, ['peer_id'])[0]['peer_id'] == None
27 print "WARNING: can not find the node with node_id %s" % node_id
28 print "WARNING: node_id %s was referenced in slice %s" % (node_id, slice_name)
31 if __name__ == "__main__":
32 pubsub.add_result_hook("discover", delete_all_nodes)
33 reactor.callLater(1, pubsub.discover)
34 reactor.callLater(2, pubsub.create_node, "/OMF")
35 reactor.callLater(2, pubsub.create_node, "/SYSTEM")
37 reactor.callLater(4, reactor.stop)
38 reactor.connectTCP(pubsub.id.host, 5222, pubsub.factory)
41 print "Re-creating PubSub groups..."
44 xmlrpc.createSlice(slice['name'])
45 for node_id in slice['node_ids']:
47 hrn = GetNodeTags({'tagname':'hrn', 'node_id': node_id})[0]['value']
48 xmlrpc.addResource(slice['name'], hrn)
50 if is_local_node(node_id, slice['name']):
51 print "WARNING: missing hrn tag for node_id: %s" % node_id