diff options
author | Yang Xu <yang.xu3@huawei.com> | 2018-11-21 23:20:25 -0500 |
---|---|---|
committer | Yang Xu <yang.xu3@huawei.com> | 2018-11-22 04:23:12 +0000 |
commit | 0f1ee9e9548c9ea13a674b2cf5af4076267b75e9 (patch) | |
tree | bc7754425004ae3a1d64e059c13a33054fc97178 /test/vcpe/cleanvGMUX.py | |
parent | 799e1d97cf7206ea825bc17fd6aec4998dbe205a (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.py | 64 |
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() + |