summaryrefslogtreecommitdiffstats
path: root/test/vcpe/cleanvGMUX.py
diff options
context:
space:
mode:
authorYang Xu <yang.xu3@huawei.com>2018-11-21 23:20:25 -0500
committerYang Xu <yang.xu3@huawei.com>2018-11-21 23:20:49 -0500
commit78f01f5ddf7035c7c88319cd03684e299ec27d9a (patch)
treedff3374c157c3c23e766fc28abac666f31140eb8 /test/vcpe/cleanvGMUX.py
parent660ea2be6d66bef5aa94e62f551f5f101be12754 (diff)
Add a script to clean up VPP vxlan interfaces
Change-Id: Iee0725d9a3187d06b70c9d40d1fd13895ff4655c Issue-ID: INT-717 Signed-off-by: Yang Xu <yang.xu3@huawei.com>
Diffstat (limited to 'test/vcpe/cleanvGMUX.py')
-rw-r--r--test/vcpe/cleanvGMUX.py64
1 files changed, 64 insertions, 0 deletions
diff --git a/test/vcpe/cleanvGMUX.py b/test/vcpe/cleanvGMUX.py
new file mode 100644
index 000000000..fe586fe53
--- /dev/null
+++ b/test/vcpe/cleanvGMUX.py
@@ -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()
+