From: YuanHong Deng Date: Thu, 14 May 2020 01:38:06 +0000 (+0800) Subject: Implement VNF interface APIs X-Git-Tag: 1.4.0~13 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=b4722c4b672a1415b37a3a7a00811d637819c48c;p=vfc%2Fnfvo%2Flcm.git Implement VNF interface APIs Issue-ID: VFC-1671 Change-Id: I7b9e37113991b637f60c68c08c71ba54a527fdc8 Signed-off-by: YuanHong Deng --- diff --git a/lcm/pub/msapi/aai.py b/lcm/pub/msapi/aai.py index e6fe545f..a78a3953 100644 --- a/lcm/pub/msapi/aai.py +++ b/lcm/pub/msapi/aai.py @@ -259,6 +259,48 @@ def delete_vserver_relationship(cloud_owner, cloud_region_id, tenant_id, vserver return json.JSONDecoder().decode(ret[1]) if ret[1] else ret[1], ret[2] +def create_l_interface_aai(vnf_id, interface_name): + resource = "/network/generic-vnfs/generic-vnf/%s/l-interfaces/l-interface/%s" % (vnf_id, interface_name) + ret = call_aai(resource, "PUT") + if ret[0] != 0: + logger.error("Status code is %s, detail is %s.", ret[2], ret[1]) + raise NSLCMException("l-interface creation exception in AAI") + return json.JSONDecoder().decode(ret[1]) if ret[1] else ret[1], ret[2] + + +def query_l_interface_aai(vnf_id, interface_name): + resource = "/network/generic-vnfs/generic-vnf/%s/l-interfaces/l-interface/%s" % (vnf_id, interface_name) + ret = call_aai(resource, "GET") + if ret[0] != 0: + logger.error("Status code is %s, detail is %s.", ret[2], ret[1]) + raise NSLCMException("Get l-interface info exception in AAI") + return json.JSONDecoder().decode(ret[1]) if ret[1] else ret[1], ret[2] + + +def delete_l_interface_aai(vnf_id, interface_name, resource_version=""): + resource = "/network/generic-vnfs/generic-vnf/%s/l-interfaces/l-interface/%s" % (vnf_id, interface_name) + if resource_version: + resource = resource + "?resource-version=%s" % resource_version + ret = call_aai(resource, "DELETE") + if ret[0] != 0: + logger.error("Status code is %s, detail is %s.", ret[2], ret[1]) + raise NSLCMException("l_interface delete exception in AAI") + if ret[2] == 404: + logger.error("No l_interface %s in AAI" % interface_name) + raise RequestException("No l_interface %s in AAI" % interface_name) + return json.JSONDecoder().decode(ret[1]) if ret[1] else ret[1], ret[2] + + +def create_l3_interface_ipv4_address_list_aai(vnf_id, interface_name, ipv4_addr): + resource = "/network/generic-vnfs/generic-vnf/%s/l-interfaces/l-interface/%s/" \ + "l3-interface-ipv4-address-list/%s" % (vnf_id, interface_name, ipv4_addr) + ret = call_aai(resource, "PUT") + if ret[0] != 0: + logger.error("Status code is %s, detail is %s.", ret[2], ret[1]) + raise NSLCMException("Ip address list creation exception in AAI") + return json.JSONDecoder().decode(ret[1]) if ret[1] else ret[1], ret[2] + + def create_network_aai(network_id, data): resource = "/network/l3-networks/l3-network/%s" % network_id data = json.JSONEncoder().encode(data)