Add a script to clean up VPP vxlan interfaces 35/73335/1
authorYang Xu <yang.xu3@huawei.com>
Thu, 22 Nov 2018 04:20:25 +0000 (23:20 -0500)
committerYang Xu <yang.xu3@huawei.com>
Thu, 22 Nov 2018 04:23:12 +0000 (04:23 +0000)
Change-Id: Iee0725d9a3187d06b70c9d40d1fd13895ff4655c
Issue-ID: INT-717
Signed-off-by: Yang Xu <yang.xu3@huawei.com>
test/vcpe/cleanvGMUX.py [new file with mode: 0644]

diff --git a/test/vcpe/cleanvGMUX.py b/test/vcpe/cleanvGMUX.py
new file mode 100644 (file)
index 0000000..fe586fe
--- /dev/null
@@ -0,0 +1,64 @@
+#! /usr/bin/python
+
+import sys
+import logging
+import requests
+import json
+from datetime import datetime
+import time
+
+gmux_ip = '10.12.6.115'
+logging.basicConfig(level=logging.DEBUG, format='%(message)s')
+logger = logging.getLogger('')
+headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}
+auth = 'admin', 'admin'
+base_url = 'http://{0}:8183/restconf/config/ietf-interfaces:interfaces'.format(gmux_ip)
+
+def list_interface():
+    url = base_url
+    logger.info(url)
+    r = requests.get(url, headers=headers, auth=auth)
+    logger.debug(r)
+    response = r.json()
+
+    logger.debug('---------------------------------------------------------------')
+    logger.debug(json.dumps(response, indent=4, sort_keys=True))
+    logger.debug('---------------------------------------------------------------')
+
+def clean_gmux():
+    url = base_url
+    r = requests.get(url, headers=headers, auth=auth)
+    response = r.json()
+
+    interfaces = response.get('interfaces').get('interface')
+    for inf in interfaces:
+        name = inf.get('name')        
+        if name.startswith('vxlanTun10'):       
+            logger.debug('name = {0}'.format(name))
+            delete_interface_v3po_l2(name)
+
+    for inf in interfaces:
+        name = inf.get('name')        
+        if name.startswith('vxlanTun10'):       
+            logger.debug('name = {0}'.format(name))
+            delete_interface(name)
+
+def delete_interface_v3po_l2(interface_name):
+    url = '{0}/interface/{1}/v3po:l2'.format(base_url, interface_name)
+    r = requests.delete(url, headers=headers, auth=auth)
+    logger.debug(r)
+
+def delete_interface(interface_name):
+    url = '{0}/interface/{1}'.format(base_url, interface_name)
+    r = requests.delete(url, headers=headers, auth=auth)
+    logger.debug(r)
+        
+if __name__ == '__main__':
+    logger.debug('---------------------------------------------------------------')
+    logger.debug('list interfaces before cleaning gmux')
+    list_interface()
+    clean_gmux()
+    logger.debug('---------------------------------------------------------------')
+    logger.debug('list interfaces after cleaning gmux')
+    list_interface()
+