From 3097fef23e4ae1c89b535c1d890e44710b33eea4 Mon Sep 17 00:00:00 2001 From: George Paraskevopoulos Date: Mon, 20 Mar 2017 12:15:19 +0200 Subject: Cleanup IETF-ACL in OpenDaylight Change-Id: I6914a5fbe7eb30b2d76b89d8f38b7d3d16e7b44a Signed-off-by: George Paraskevopoulos --- sfc/lib/utils.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'sfc/lib/utils.py') 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) -- cgit 1.2.3-korg