3 # This script deletes and recreates the NIC BoD intents.
4 # Use nic-bod-setup.py to set up the physical network and NEMO nodes first
8 from requests.auth import HTTPBasicAuth
13 NIC_INTENTS="http://%s:8181/restconf/config/intent:intents"
14 NIC_INTENT="http://%s:8181/restconf/config/intent:intents/intent/14ce424a-3e50-4a2a-ad5c-b29845158c8b"
17 def delete_nic_intents(contHost):
18 delete(NIC_INTENTS % contHost)
20 def create_nic_intent(contHost):
23 "id": "14ce424a-3e50-4a2a-ad5c-b29845158c8b",
33 "end-point-group": { "name": "dmz" }
36 "end-point-group": { "name": "interior" }
42 "bandwidth-constraint": { "bandwidth": "10G" }
48 "daily": { "start-time": "08:00:00Z", "duration": "10h" }
53 put(NIC_INTENT % contHost, data)
57 headers = {'Content-type': 'application/yang.data+json',
58 'Accept': 'application/yang.data+json'}
60 print json.dumps(data, indent=4, sort_keys=True)
61 r = requests.post(url, data=json.dumps(data), headers=headers, auth=HTTPBasicAuth(USERNAME, PASSWORD))
66 headers = {'Content-type': 'application/yang.data+json',
67 'Accept': 'application/yang.data+json'}
69 print json.dumps(data, indent=4, sort_keys=True)
70 r = requests.put(url, data=json.dumps(data), headers=headers, auth=HTTPBasicAuth(USERNAME, PASSWORD))
75 headers = {'Content-type': 'application/yang.data+json',
76 'Accept': 'application/yang.data+json'}
77 print "DELETE %s" % url
78 r = requests.delete(url, headers=headers, auth=HTTPBasicAuth(USERNAME, PASSWORD))
83 if __name__ == '__main__':
85 parser = argparse.ArgumentParser()
86 parser.add_argument('--controller', default='127.0.0.1', help='controller IP')
87 args=parser.parse_args()
89 delete_nic_intents(args.controller)
90 create_nic_intent(args.controller)