diff options
author | George Paraskevopoulos <geopar@intracom-telecom.com> | 2017-03-20 12:15:19 +0200 |
---|---|---|
committer | Manuel Buil <mbuil@suse.com> | 2017-03-20 13:32:14 +0000 |
commit | 1fa46438b3e00ed467a9b613d7908f799611b6a9 (patch) | |
tree | 844ddeaf058ad2bb54ec6dce56d3ea4a258a392d /sfc/lib/utils.py | |
parent | 9727edd0a8d5297c0d7ac54af52e6572e8a9b2f2 (diff) |
Cleanup IETF-ACL in OpenDaylight
Change-Id: I6914a5fbe7eb30b2d76b89d8f38b7d3d16e7b44a
Signed-off-by: George Paraskevopoulos <geopar@intracom-telecom.com>
(cherry picked from commit 3097fef23e4ae1c89b535c1d890e44710b33eea4)
Diffstat (limited to 'sfc/lib/utils.py')
-rw-r--r-- | sfc/lib/utils.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/sfc/lib/utils.py b/sfc/lib/utils.py index 99f0bb75..f0f24338 100644 --- a/sfc/lib/utils.py +++ b/sfc/lib/utils.py @@ -522,3 +522,31 @@ def get_odl_resource_list(odl_ip, odl_port, resource): def delete_odl_resource_elem(odl_ip, odl_port, resource, elem_name): url = format_odl_resource_elem_url(odl_ip, odl_port, resource, elem_name) requests.delete(url) + + +def odl_acl_types_names(acl_json): + if len(acl_json['access-lists'].items()) == 0: + return [] + return [(acl['acl-type'], acl['acl-name']) + for acl in acl_json['access-lists']['acl']] + + +def format_odl_acl_list_url(odl_ip, odl_port, + odl_user='admin', odl_pwd='admin'): + acl_list_url = ('http://{usr}:{pwd}@{ip}:{port}/restconf/config/' + 'ietf-access-control-list:access-lists' + .format(usr=odl_user, pwd=odl_pwd, + ip=odl_ip, port=odl_port)) + return acl_list_url + + +def get_odl_acl_list(odl_ip, odl_port): + acl_list_url = format_odl_acl_list_url(odl_ip, odl_port) + r = requests.get(acl_list_url) + return r.json() + + +def delete_odl_acl(odl_ip, odl_port, acl_type, acl_name): + acl_list_url = format_odl_acl_list_url(odl_ip, odl_port) + acl_url = '{0}/acl/{1}/{2}'.format(acl_list_url, acl_type, acl_name) + requests.delete(acl_url) |