Split NIC BoD script into setup vs intent creation 44/32244/1
authorGary Wu <gary.wu1@huawei.com>
Thu, 7 Jan 2016 23:31:13 +0000 (15:31 -0800)
committerGary Wu <gary.wu1@huawei.com>
Thu, 7 Jan 2016 23:31:13 +0000 (15:31 -0800)
Change-Id: I7eba3e93ce8f3e398d80380f75eea51de61fed08
Signed-off-by: Gary Wu <gary.wu1@huawei.com>
nemo-impl/src/test/resources/nic-bod-intent.py [new file with mode: 0644]
nemo-impl/src/test/resources/nic-bod-setup.py [moved from nemo-impl/src/test/resources/nic-bod.py with 90% similarity]

diff --git a/nemo-impl/src/test/resources/nic-bod-intent.py b/nemo-impl/src/test/resources/nic-bod-intent.py
new file mode 100644 (file)
index 0000000..6965801
--- /dev/null
@@ -0,0 +1,90 @@
+#!/usr/bin/python
+
+# This script deletes and recreates the NIC BoD intents.
+# Use nic-bod-setup.py to set up the physical network and NEMO nodes first
+
+import requests,json
+import argparse, sys
+from requests.auth import HTTPBasicAuth
+
+USERNAME='admin'
+PASSWORD='admin'
+
+NIC_INTENTS="http://%s:8181/restconf/config/intent:intents"
+NIC_INTENT="http://%s:8181/restconf/config/intent:intents/intent/14ce424a-3e50-4a2a-ad5c-b29845158c8b"
+
+
+def delete_nic_intents(contHost):
+        delete(NIC_INTENTS % contHost)
+
+def create_nic_intent(contHost):
+        data = {
+                "intent": {
+                        "id": "14ce424a-3e50-4a2a-ad5c-b29845158c8b",
+                        "actions": [
+                                {
+         "order": 1,
+                                        "allow": {}
+                                }
+     ],
+     "subjects": [
+             {
+         "order": 1 ,
+                     "end-point-group": { "name": "dmz" }
+             }, {
+          "order": 2 ,
+                     "end-point-group": { "name": "interior" }
+             }
+     ],
+     "constraints": [
+             {
+          "order": 1,
+                     "bandwidth-constraint": { "bandwidth": "10G" }
+             }
+     ],
+     "conditions": [
+             {
+          "order": 1,
+                     "daily": { "start-time": "08:00:00Z", "duration": "10h" }
+             }
+     ]
+}
+                }
+        put(NIC_INTENT % contHost, data)
+
+
+def post(url, data):
+    headers = {'Content-type': 'application/yang.data+json',
+               'Accept': 'application/yang.data+json'}
+    print "POST %s" % url
+    print json.dumps(data, indent=4, sort_keys=True)
+    r = requests.post(url, data=json.dumps(data), headers=headers, auth=HTTPBasicAuth(USERNAME, PASSWORD))
+    print r.text
+    r.raise_for_status()
+
+def put(url, data):
+    headers = {'Content-type': 'application/yang.data+json',
+               'Accept': 'application/yang.data+json'}
+    print "PUT %s" % url
+    print json.dumps(data, indent=4, sort_keys=True)
+    r = requests.put(url, data=json.dumps(data), headers=headers, auth=HTTPBasicAuth(USERNAME, PASSWORD))
+    print r.text
+    r.raise_for_status()
+
+def delete(url):
+    headers = {'Content-type': 'application/yang.data+json',
+               'Accept': 'application/yang.data+json'}
+    print "DELETE %s" % url
+    r = requests.delete(url, headers=headers, auth=HTTPBasicAuth(USERNAME, PASSWORD))
+    print r.text
+    r.raise_for_status()
+
+
+if __name__ == '__main__':
+
+       parser = argparse.ArgumentParser()
+       parser.add_argument('--controller', default='127.0.0.1', help='controller IP')
+       args=parser.parse_args()
+
+        delete_nic_intents(args.controller)
+        create_nic_intent(args.controller)
similarity index 90%
rename from nemo-impl/src/test/resources/nic-bod.py
rename to nemo-impl/src/test/resources/nic-bod-setup.py
index 4ae6c611b100064d495ad7912a6ecf611c900025..d3f7ac23d9844cad7a964d2d0c16a91c156d4a0b 100644 (file)
@@ -1,5 +1,8 @@
 #!/usr/bin/python
-#Filename:servicechain.py
+
+# This script sets up the physical network and NEMO Nodes for the NIC BoD flow.
+# Use nemo-odl.py to set up the predefined NEMO definitions first.
+
 import requests,json
 import argparse, sys
 from requests.auth import HTTPBasicAuth
@@ -12,8 +15,6 @@ TRANSACTION_END="http://%s:8181/restconf/operations/nemo-intent:end-transaction"
 REGISTER_USER="http://%s:8181/restconf/operations/nemo-intent:register-user"
 STRUCTURE_UPDATE_USERS="http://%s:8181/restconf/operations/nemo-intent:structure-style-nemo-update"
 PHYSICAL_NETWORK="http://%s:8181/restconf/config/generic-physical-network:physical-network"
-NIC_INTENTS="http://%s:8181/restconf/config/intent:intents"
-NIC_INTENT="http://%s:8181/restconf/config/intent:intents/intent/14ce424a-3e50-4a2a-ad5c-b29845158c8b"
 
 def create_physical_network(contHost):
         data={
@@ -387,7 +388,7 @@ def register_user(contHost):
 def transaction_begin(contHost):
        data={
                        "input":{
-                                       "user-id":"14ce424a-3e50-4a2a-ad5c-b29845158c8b"                                        
+                                       "user-id":"14ce424a-3e50-4a2a-ad5c-b29845158c8b"
                                        }
                }
        post(TRANSACTION_BEGIN % contHost, data)
@@ -395,14 +396,14 @@ def transaction_begin(contHost):
 def transaction_end(contHost):
        data={
                        "input":{
-                                       "user-id":"14ce424a-3e50-4a2a-ad5c-b29845158c8b"                                
+                                       "user-id":"14ce424a-3e50-4a2a-ad5c-b29845158c8b"
                                        }
                }
        post(TRANSACTION_END % contHost, data)
 
 def add_server1_host(contHost):
        data={
-                       "input":{                               
+                       "input":{
                                  "user-id": "14ce424a-3e50-4a2a-ad5c-b29845158c8b",
                                  "objects":{
                                                "node":[
@@ -853,45 +854,6 @@ def update_enterprise_interior_connection(contHost):
        }
        post(STRUCTURE_UPDATE_USERS % contHost, data)
 
-def delete_nic_intents(contHost):
-        delete(NIC_INTENTS % contHost)
-
-def create_nic_intent(contHost):
-        data = {
-                "intent": { 
-                        "id": "14ce424a-3e50-4a2a-ad5c-b29845158c8b", 
-                        "actions": [ 
-                                { 
-         "order": 1, 
-                                        "allow": {} 
-                                } 
-     ], 
-     "subjects": [ 
-             { 
-         "order": 1 , 
-                     "end-point-group": { "name": "dmz" } 
-             }, { 
-          "order": 2 , 
-                     "end-point-group": { "name": "interior" }
-             } 
-     ],
-     "constraints": [
-             {
-          "order": 1,
-                     "bandwidth-constraint": { "bandwidth": "10G" }
-             }
-     ],
-     "conditions": [
-             {
-          "order": 1,
-                     "daily": { "start-time": "08:00:00Z", "duration": "10h" }
-             }
-     ]
-}
-                }
-        put(NIC_INTENT % contHost, data)
-
-
 def post(url, data):
     headers = {'Content-type': 'application/yang.data+json',
                'Accept': 'application/yang.data+json'}
@@ -931,67 +893,32 @@ if __name__ == '__main__':
        # CREATE User;
        register_user(args.controller)
 
-       # IMPORT Node server1 Type host;
+
        transaction_begin(args.controller)
+
+       # IMPORT Node server1 Type host;
        add_server1_host(args.controller)
-       #transaction_end(args.controller)
 
        # IMPORT Node server2 Type host;
-       #transaction_begin(args.controller)
        add_server2_host(args.controller)
-       #transaction_end(args.controller)
 
        # IMPORT Node vm1 Type host;
-       #transaction_begin(args.controller)
        add_vm1_host(args.controller)
-       #transaction_end(args.controller)
 
        # IMPORT Node vm2 Type host;
-       #transaction_begin(args.controller)
        add_vm2_host(args.controller)
-       #transaction_end(args.controller)
 
        # IMPORT Node enterprise Type ext-group Property location:openflow:4:2, ip-prefix:192.18.13.0/24;
-       #transaction_begin(args.controller)
        add_enterpise_node(args.controller)
-       #transaction_end(args.controller)
 
        # CREATE Node interior Type l2-group Contain server1,vm1,vm2;
-       #transaction_begin(args.controller)
        add_interior_node(args.controller)
-       #transaction_end(args.controller)
 
        # CREATE Node dmz Type l2-group Contain server2;
-       #transaction_begin(args.controller)
        add_dmz_node(args.controller)
-       #transaction_end(args.controller)
 
        # IMPORT Node internet Type ext-group Property location:openflow:3:4, ip-prefix:172.168.1.0/24;
-       #transaction_begin(args.controller)
        add_internet_node(args.controller)
-       #transaction_end(args.controller)
-
-       # CREATE Connection c1 Endnodes enterprise,interior Property bandwidth:128(kbps);
-       #transaction_begin(args.controller)
-       #add_enterprise_interior_connection(args.controller)
-       #transaction_end(args.controller)
-
-       # CREATE Connection c2 Endnodes interior,dmz;
-       #transaction_begin(args.controller)
-       #add_interior_dmz_connection(args.controller)
-       #transaction_end(args.controller)
-
-       # CREATE Connection c3 Endnodes dmz,internet;
-       #transaction_begin(args.controller)
-       #add_dmz_internet_connection(args.controller)
-       #transaction_end(args.controller)
-
-       # UPDATE Connection c1 Endnodes enterprise,interior Property bandwidth:512(kbps);
-       #transaction_begin(args.controller)
-       #update_enterprise_interior_connection(args.controller)
-       #transaction_end(args.controller)
 
        transaction_end(args.controller)
 
-        delete_nic_intents(args.controller)
-        create_nic_intent(args.controller)