From fe8b07516ed51d0298f2defca8b7fb25366d912d Mon Sep 17 00:00:00 2001 From: Philip Joseph Date: Fri, 20 Jan 2017 14:35:09 +0530 Subject: [PATCH] Bug 160 Fix SO restart with running NS instances Signed-off-by: Philip Joseph --- .../python/rift/openmano/openmano_client.py | 36 +++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/models/openmano/python/rift/openmano/openmano_client.py b/models/openmano/python/rift/openmano/openmano_client.py index 814a50c1..09fb43db 100755 --- a/models/openmano/python/rift/openmano/openmano_client.py +++ b/models/openmano/python/rift/openmano/openmano_client.py @@ -198,6 +198,7 @@ class OpenmanoCliAPI(object): output_lines = self._openmano_cmd( ["vnf-list"], ) + except OpenmanoCommandFailed as e: self._log.warning("Vnf listing returned an error: %s", str(e)) return {} @@ -206,8 +207,9 @@ class OpenmanoCliAPI(object): for line in output_lines: line = line.strip() uuid, name = line.split(" ", 1) - name_uuid_map[name] = uuid + name_uuid_map[name.strip()] = uuid.strip() + self._log.debug("VNF list: {}".format(name_uuid_map)) return name_uuid_map def ns_create(self, ns_yaml_str, name=None): @@ -249,8 +251,9 @@ class OpenmanoCliAPI(object): for line in output_lines: line = line.strip() uuid, name = line.split(" ", 1) - name_uuid_map[name] = uuid + name_uuid_map[name.strip()] = uuid.strip() + self._log.debug("Scenario list: {}".format(name_uuid_map)) return name_uuid_map def ns_delete(self, ns_uuid): @@ -282,8 +285,9 @@ class OpenmanoCliAPI(object): for line in output_lines: line = line.strip() uuid, name = line.split(" ", 1) - name_uuid_map[name] = uuid + name_uuid_map[name.strip()] = uuid.strip() + self._log.debug("Instance Scenario list: {}".format(name_uuid_map)) return name_uuid_map def ns_instance_scenario_create(self, instance_yaml_str): @@ -466,6 +470,10 @@ def parse_args(argv=sys.argv[1:]): type=valid_uuid, ) + _ = subparsers.add_parser( + 'vnf-list', + help="List all the openmano VNFs in the catalog", + ) ns_create_parser = subparsers.add_parser( 'scenario-create', @@ -487,6 +495,10 @@ def parse_args(argv=sys.argv[1:]): type=valid_uuid, ) + _ = subparsers.add_parser( + 'scenario-list', + help="List all the openmano scenarios in the catalog", + ) ns_instance_create_parser = subparsers.add_parser( 'scenario-deploy', @@ -512,8 +524,14 @@ def parse_args(argv=sys.argv[1:]): ) + _ = subparsers.add_parser( + 'instance-scenario-list', + help="List all the openmano scenario instances in the catalog", + ) + _ = subparsers.add_parser( 'datacenter-list', + help="List all the openmano datacenters", ) args = parser.parse_args(argv) @@ -538,18 +556,30 @@ def main(): elif args.command == "vnf-delete": openmano_cli.vnf_delete(args.uuid) + elif args.command == "vnf-list": + for uuid, name in openmano_cli.vnf_list().items(): + print("{} {}".format(uuid, name)) + elif args.command == "scenario-create": openmano_cli.ns_create(args.file.read()) elif args.command == "scenario-delete": openmano_cli.ns_delete(args.uuid) + elif args.command == "scenario-list": + for uuid, name in openmano_cli.ns_list().items(): + print("{} {}".format(uuid, name)) + elif args.command == "scenario-deploy": openmano_cli.ns_instantiate(args.scenario_name, args.instance_name) elif args.command == "instance-scenario-delete": openmano_cli.ns_terminate(args.instance_name) + elif args.command == "instance-scenario-list": + for uuid, name in openmano_cli.ns_instance_list().items(): + print("{} {}".format(uuid, name)) + elif args.command == "datacenter-list": for uuid, name in openmano_cli.datacenter_list(): print("{} {}".format(uuid, name)) -- 2.25.1