Merges branch sol006 into master
[osm/osmclient.git] / osmclient / scripts / osm.py
index 054bbd1..227e429 100755 (executable)
@@ -380,6 +380,7 @@ def ns_list(ctx, filter, long):
                 project = project_name
                 vim_id = nsr.get('datacenter')
                 vim_name = get_vim_name(vim_list, vim_id)
+
                 #vim = '{} ({})'.format(vim_name, vim_id)
                 vim = vim_name
             if 'currentOperation' in nsr:
@@ -447,7 +448,7 @@ def nsd_list(ctx, filter, long):
         else:
             table = PrettyTable(['nsd name', 'id'])
         for nsd in resp:
-            name = nsd.get('name','-')
+            name = nsd.get('id', '-')
             if long:
                 onb_state = nsd['_admin'].get('onboardingState','-')
                 op_state = nsd['_admin'].get('operationalState','-')
@@ -487,6 +488,26 @@ def nsd_list2(ctx, filter, long):
     nsd_list(ctx, filter, long)
 
 
+def pkg_repo_list(ctx, pkgtype, filter, repo, long):
+    resp = ctx.obj.osmrepo.pkg_list(pkgtype, filter, repo)
+    if long:
+        table = PrettyTable(['nfpkg name', 'vendor', 'version', 'latest', 'description', 'repository'])
+    else:
+        table = PrettyTable(['nfpkg name', 'repository'])
+    for vnfd in resp:
+        name = vnfd.get('id', vnfd.get('name','-'))
+        repository = vnfd.get('repository')
+        if long:
+            vendor = vnfd.get('provider', vnfd.get('vendor'))
+            version = vnfd.get('version')
+            description = vnfd.get('description')
+            latest = vnfd.get('latest')
+            table.add_row([name, vendor, version, latest, description, repository])
+        else:
+            table.add_row([name, repository])
+        table.align = 'l'
+    print(table)
+
 def vnfd_list(ctx, nf_type, filter, long):
     logger.debug("")
     if nf_type:
@@ -516,23 +537,24 @@ def vnfd_list(ctx, nf_type, filter, long):
     fullclassname = ctx.obj.__module__ + "." + ctx.obj.__class__.__name__
     if fullclassname == 'osmclient.sol005.client.Client':
         if long:
-            table = PrettyTable(['nfpkg name', 'id', 'vendor', 'version', 'onboarding state', 'operational state',
+            table = PrettyTable(['nfpkg name', 'id', 'desc type', 'vendor', 'version', 'onboarding state', 'operational state',
                                   'usage state', 'date', 'last update'])
         else:
-            table = PrettyTable(['nfpkg name', 'id'])
+            table = PrettyTable(['nfpkg name', 'id', 'desc type'])
         for vnfd in resp:
-            name = vnfd['name'] if 'name' in vnfd else '-'
+            name = vnfd.get('id', vnfd.get('name','-'))
+            descriptor_type = 'sol005' if 'product-name' in vnfd else 'rel8'
             if long:
                 onb_state = vnfd['_admin'].get('onboardingState','-')
                 op_state = vnfd['_admin'].get('operationalState','-')
-                vendor = vnfd.get('vendor')
+                vendor = vnfd.get('provider', vnfd.get('vendor'))
                 version = vnfd.get('version')
                 usage_state = vnfd['_admin'].get('usageState','-')
                 date = datetime.fromtimestamp(vnfd['_admin']['created']).strftime("%Y-%m-%dT%H:%M:%S")
                 last_update = datetime.fromtimestamp(vnfd['_admin']['modified']).strftime("%Y-%m-%dT%H:%M:%S")
-                table.add_row([name, vnfd['_id'], vendor, version, onb_state, op_state, usage_state, date, last_update])
+                table.add_row([name, vnfd['_id'], descriptor_type, vendor, version, onb_state, op_state, usage_state, date, last_update])
             else:
-                table.add_row([name, vnfd['_id']])
+                table.add_row([name, vnfd['_id'], descriptor_type])
     else:
         table = PrettyTable(['nfpkg name', 'id'])
         for vnfd in resp:
@@ -582,31 +604,8 @@ def nfpkg_list(ctx, nf_type, filter, long):
     #     exit(1)
 
 
-def pkg_repo_list(ctx, pkgtype, filter, repo, long):
-    if filter:
-        filter='&'.join(filter)
-    resp = ctx.obj.osmrepo.pkg_list(pkgtype, filter, repo)
-    if long:
-        table = PrettyTable(['nfpkg name', 'vendor', 'version', 'latest', 'description', 'repository'])
-    else:
-        table = PrettyTable(['nfpkg name', 'repository'])
-    for vnfd in resp:
-        name = vnfd.get('name', '-')
-        repository = vnfd.get('repository')
-        if long:
-            vendor = vnfd.get('vendor')
-            version = vnfd.get('version')
-            description = vnfd.get('description')
-            latest = vnfd.get('latest')
-            table.add_row([name, vendor, version, latest, description, repository])
-        else:
-            table.add_row([name, repository])
-        table.align = 'l'
-    print(table)
-
-
 @cli_osm.command(name='vnfpkg-repo-list', short_help='list all xNF from OSM repositories')
-@click.option('--filter', default=None, multiple=True,
+@click.option('--filter', default=None,
               help='restricts the list to the NFpkg matching the filter')
 @click.option('--repo', default=None,
               help='restricts the list to a particular OSM repository')
@@ -617,9 +616,8 @@ def nfpkg_repo_list1(ctx, filter, repo, long):
     pkgtype = 'vnf'
     pkg_repo_list(ctx, pkgtype, filter, repo, long)
 
-
 @cli_osm.command(name='nfpkg-repo-list', short_help='list all xNF from OSM repositories')
-@click.option('--filter', default=None, multiple=True,
+@click.option('--filter', default=None,
               help='restricts the list to the NFpkg matching the filter')
 @click.option('--repo', default=None,
               help='restricts the list to a particular OSM repository')
@@ -631,32 +629,6 @@ def nfpkg_repo_list2(ctx, filter, repo, long):
     pkg_repo_list(ctx, pkgtype, filter, repo, long)
 
 
-@cli_osm.command(name='nsd-repo-list', short_help='list all NS from OSM repositories')
-@click.option('--filter', default=None, multiple=True,
-              help='restricts the list to the NS matching the filter')
-@click.option('--repo', default=None,
-              help='restricts the list to a particular OSM repository')
-@click.option('--long', is_flag=True, help='get more details')
-@click.pass_context
-def nspkg_repo_list(ctx, filter, repo, long):
-    """list xNF packages from OSM repositories"""
-    pkgtype = 'ns'
-    pkg_repo_list(ctx, pkgtype, filter, repo, long)
-
-
-@cli_osm.command(name='nspkg-repo-list', short_help='list all NS from OSM repositories')
-@click.option('--filter', default=None, multiple=True,
-              help='restricts the list to the NS matching the filter')
-@click.option('--repo', default=None,
-              help='restricts the list to a particular OSM repository')
-@click.option('--long', is_flag=True, help='get more details')
-@click.pass_context
-def nspkg_repo_list2(ctx, filter, repo, long):
-    """list xNF packages from OSM repositories"""
-    pkgtype = 'ns'
-    pkg_repo_list(ctx, pkgtype, filter, repo, long)
-
-
 def vnf_list(ctx, ns, filter, long):
     # try:
     if ns or filter:
@@ -720,6 +692,29 @@ def vnf_list1(ctx, ns, filter, long):
     logger.debug("")
     vnf_list(ctx, ns, filter, long)
 
+@cli_osm.command(name='nsd-repo-list', short_help='list all NS from OSM repositories')
+@click.option('--filter', default=None, multiple=True,
+              help='restricts the list to the NS matching the filter')
+@click.option('--repo', default=None,
+              help='restricts the list to a particular OSM repository')
+@click.option('--long', is_flag=True, help='get more details')
+@click.pass_context
+def nspkg_repo_list(ctx, filter, repo, long):
+    """list xNF packages from OSM repositories"""
+    pkgtype = 'ns'
+    pkg_repo_list(ctx, pkgtype, filter, repo, long)
+
+@cli_osm.command(name='nspkg-repo-list', short_help='list all NS from OSM repositories')
+@click.option('--filter', default=None, multiple=True,
+              help='restricts the list to the NS matching the filter')
+@click.option('--repo', default=None,
+              help='restricts the list to a particular OSM repository')
+@click.option('--long', is_flag=True, help='get more details')
+@click.pass_context
+def nspkg_repo_list2(ctx, filter, repo, long):
+    """list xNF packages from OSM repositories"""
+    pkgtype = 'ns'
+    pkg_repo_list(ctx, pkgtype, filter, repo, long)
 
 @cli_osm.command(name='nf-list', short_help='list all NF instances')
 @click.option('--ns', default=None, help='NS instance id or name to restrict the NF list')
@@ -1142,7 +1137,6 @@ def vnfd_show2(ctx, name, literal):
     logger.debug("")
     vnfd_show(ctx, name, literal)
 
-
 @cli_osm.command(name='vnfpkg-repo-show', short_help='shows the details of a NF package in an OSM repository')
 @click.option('--literal', is_flag=True,
               help='print literally, no pretty table')
@@ -1186,7 +1180,6 @@ def nsd_repo_show(ctx, name, repo, version, literal=None, filter=None):
     pkgtype = 'ns'
     pkg_repo_show(ctx, pkgtype, name, repo, version, filter, literal)
 
-
 @cli_osm.command(name='nspkg-repo-show', short_help='shows the details of a NS package in an OSM repository')
 @click.option('--literal', is_flag=True,
               help='print literally, no pretty table')
@@ -1360,7 +1353,6 @@ def vnf_show(ctx, name, literal, filter, kdu):
         return
 
     table = PrettyTable(['field', 'value'])
-
     for k, v in list(resp.items()):
         if not filter or k in filter:
             table.add_row([k, wrap_text(text=json.dumps(v,indent=2),width=100)])