From cf95eefc01755e1f18459ffd921ebcfe4fba5cc1 Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Fri, 18 May 2018 15:33:29 +0200 Subject: [PATCH] fix bugs in vnf-list and vnf-show for sol005 client Change-Id: Ia6368e2fbf358d4cfc4d46ed7856305f8bd80563 Signed-off-by: garciadeblas --- osmclient/scripts/osm.py | 47 ++++++++++++++++++++++++++++------------ osmclient/sol005/vnf.py | 4 +++- 2 files changed, 36 insertions(+), 15 deletions(-) diff --git a/osmclient/scripts/osm.py b/osmclient/scripts/osm.py index fd92477..66d1f32 100755 --- a/osmclient/scripts/osm.py +++ b/osmclient/scripts/osm.py @@ -230,20 +230,39 @@ def vnf_list(ctx, ns): except ClientException as inst: print(inst.message) exit(1) - table = PrettyTable( - ['vnf name', - 'id', - 'operational status', - 'config status']) - for vnfr in resp: - if 'mgmt-interface' not in vnfr: - vnfr['mgmt-interface'] = {} - vnfr['mgmt-interface']['ip-address'] = None - table.add_row( - [vnfr['name'], - vnfr['id'], - vnfr['operational-status'], - vnfr['config-status']]) + fullclassname = ctx.obj.__module__ + "." + ctx.obj.__class__.__name__ + if fullclassname == 'osmclient.sol005.client.Client': + table = PrettyTable( + ['vnf id', + 'name', + 'ns id', + 'vnf member index', + 'vnfd name', + 'ip address']) + for vnfr in resp: + name = vnfr['name'] if 'name' in vnfr else '-' + table.add_row( + [vnfr['_id'], + name, + vnfr['nsr-id-ref'], + vnfr['member-vnf-index-ref'], + vnfr['vnfd-ref'], + vnfr['ip-address']]) + else: + table = PrettyTable( + ['vnf name', + 'id', + 'operational status', + 'config status']) + for vnfr in resp: + if 'mgmt-interface' not in vnfr: + vnfr['mgmt-interface'] = {} + vnfr['mgmt-interface']['ip-address'] = None + table.add_row( + [vnfr['name'], + vnfr['id'], + vnfr['operational-status'], + vnfr['config-status']]) table.align = 'l' print(table) diff --git a/osmclient/sol005/vnf.py b/osmclient/sol005/vnf.py index 0a1e44a..11d2057 100644 --- a/osmclient/sol005/vnf.py +++ b/osmclient/sol005/vnf.py @@ -41,6 +41,7 @@ class Vnf(object): ns_instance = self._client.ns.get(ns) filter_string = '?nsr-id-ref={}'.format(ns_instance['_id']) resp = self._http.get_cmd('{}{}'.format(self._apiBase,filter_string)) + #print 'RESP: {}'.format(resp) if resp: return resp return list() @@ -50,7 +51,7 @@ class Vnf(object): """ if utils.validate_uuid4(name): for vnf in self.list(): - if vnf == vnf['_id']: + if name == vnf['_id']: return vnf else: for vnf in self.list(): @@ -66,6 +67,7 @@ class Vnf(object): vnf_id = vnf['_id'] break resp = self._http.get_cmd('{}/{}'.format(self._apiBase, vnf_id)) + #print 'RESP: {}'.format(resp) if resp: return resp raise NotFound("vnf {} not found".format(name)) -- 2.17.1