From 6be83cfdc5a5b01e44c4cfeff39328fcd09821a0 Mon Sep 17 00:00:00 2001 From: veleza Date: Tue, 16 Nov 2021 11:23:47 +0000 Subject: [PATCH] Updated OSM wrapper Change-Id: I9e5c1eb5eddd55d4258a81a274141e0ea7ed1bf1 Signed-off-by: veleza --- conformance-tests/osm_client.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/conformance-tests/osm_client.py b/conformance-tests/osm_client.py index 70831e4..9dd7f19 100644 --- a/conformance-tests/osm_client.py +++ b/conformance-tests/osm_client.py @@ -15,6 +15,8 @@ from subprocess import run, PIPE import requests +import time +import os class OSMException(Exception): """A base class for MyProject exceptions.""" @@ -25,8 +27,9 @@ class ResourceException(OSMException): self.message = kwargs.get('message') class OSM: - def __init__(self, osm_hostname): + def __init__(self, osm_hostname, port): self.osm_hostname = osm_hostname + self.port = port def run_command(self, command): p = run(["osm {}".format(command)], shell=True, stdout=PIPE, stderr=PIPE) @@ -38,7 +41,8 @@ class OSM: return self.clean_output(p.stdout) def get_auth_token(self): - r = requests.post("https://{}:9999/osm/admin/v1/tokens".format(self.osm_hostname), verify=False, headers={"Accept":"application/json"}, json={ + + r = requests.post("https://{}:{}/osm/admin/v1/tokens".format(self.osm_hostname, self.port), verify=False, headers={"Accept":"application/json"}, json={ "username": "admin", "password": "admin", "project": "admin" @@ -54,8 +58,17 @@ class OSM: def create_vnfd(self, filename): return self.run_command("vnfd-create {}".format(filename)) + def create_ns(self, name, nsd, vim): + return self.run_command("ns-create --ns_name {} --nsd_name {} --vim_account {}".format(name, nsd, vim)) + def delete_nsd(self, id): return self.run_command("nsd-delete {}".format(id)) def delete_vnfd(self, id): - return self.run_command("vnfd-delete {}".format(id)) \ No newline at end of file + return self.run_command("vnfd-delete {}".format(id)) + + def delete_ns(self, id): + self.run_command("ns-delete {}".format(id)) + while (requests.get("https://{}:{}/osm/nslcm/v1/ns_instances/{}".format(self.osm_hostname, self.port, id), verify=False, headers={"Accept":"application/json", "Authorization":"Bearer {}".format(os.environ["AUTH_TOKEN"])}).status_code != 404): + print("Deleting NS...") + time.sleep(5) -- 2.25.1