4 from requests.auth import HTTPBasicAuth
7 from subprocess import check_output
8 from infrastructure_config import *
15 def get(host, port, uri):
16 url='http://'+host+":"+port+uri
18 r = requests.get(url, auth=HTTPBasicAuth(USERNAME, PASSWORD))
19 jsondata=json.loads(r.text)
24 return "/restconf/operational/rendered-service-path:rendered-service-paths"
28 print check_output(listcmd)
30 if __name__ == "__main__":
34 # Some sensible defaults
35 controller=os.environ.get('ODL')
36 if controller == None:
37 sys.exit("No controller set.")
39 #print "Contacting controller at %s" % controller
41 resp=get(controller,DEFAULT_PORT,get_rsps_uri())
42 if len(resp['rendered-service-paths']) > 0:
43 paths=resp['rendered-service-paths']['rendered-service-path']
47 nsps.append(path['path-id'])
49 sw_index=int(socket.gethostname().split("gbpsfc",1)[1])-1
50 if sw_index in range(0,len(switches)+1):
52 controller=os.environ.get('ODL')
53 sw_type = switches[sw_index]['type']
54 sw_name = switches[sw_index]['name']
56 print "******************************"
57 print "Adding flows for %s as an SF." % sw_name
58 print "******************************"
59 doCmd('sudo /vagrant/demo-symmetric-chain/sf-flows.sh %s' % min(nsps))