aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lcm/pub/msapi/aai.py42
1 files changed, 42 insertions, 0 deletions
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)