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