From 0f1ee9e9548c9ea13a674b2cf5af4076267b75e9 Mon Sep 17 00:00:00 2001 From: Yang Xu Date: Wed, 21 Nov 2018 23:20:25 -0500 Subject: Add a script to clean up VPP vxlan interfaces Change-Id: Iee0725d9a3187d06b70c9d40d1fd13895ff4655c Issue-ID: INT-717 Signed-off-by: Yang Xu --- test/vcpe/cleanvGMUX.py | 64 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 test/vcpe/cleanvGMUX.py (limited to 'test/vcpe') 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() + -- cgit 1.2.3-korg