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-21 23:20:49 -0500 |
commit | 78f01f5ddf7035c7c88319cd03684e299ec27d9a (patch) | |
tree | dff3374c157c3c23e766fc28abac666f31140eb8 /test/vcpe/cleanvGMUX.py | |
parent | 660ea2be6d66bef5aa94e62f551f5f101be12754 (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() + |