From afc2e17b2af3801930642f3290d5d29463af42a6 Mon Sep 17 00:00:00 2001 From: Mike Marchetti Date: Mon, 16 Oct 2017 16:42:44 -0400 Subject: [PATCH] bug 376 fix - add option to update ro manually Signed-off-by: Mike Marchetti --- osmclient/scripts/osm.py | 7 +++++-- osmclient/v1/vim.py | 10 ++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/osmclient/scripts/osm.py b/osmclient/scripts/osm.py index 5d8b2b3..23f6889 100755 --- a/osmclient/scripts/osm.py +++ b/osmclient/scripts/osm.py @@ -460,9 +460,12 @@ def vim_delete(ctx, name): @cli.command(name='vim-list') +@click.option('--ro_update/--no_ro_update', + default=False, + help='update list from RO') @click.pass_context -def vim_list(ctx): - resp = ctx.obj.vim.list() +def vim_list(ctx, ro_update): + resp = ctx.obj.vim.list(ro_update) table = PrettyTable(['vim name', 'uuid']) for vim in resp: table.add_row([vim['name'], vim['uuid']]) diff --git a/osmclient/v1/vim.py b/osmclient/v1/vim.py index d8a9835..b0033a1 100644 --- a/osmclient/v1/vim.py +++ b/osmclient/v1/vim.py @@ -21,6 +21,7 @@ OSM vim API handling from osmclient.common.exceptions import ClientException from osmclient.common.exceptions import NotFound import json +import time class Vim(object): @@ -155,8 +156,13 @@ class Vim(object): raise ClientException("failed to delete vim {} - {}".format(vim_name, resp)) self._update_ro_accounts() - def list(self): - self._update_ro_accounts() + def list(self, ro_update): + if ro_update: + self._update_ro_accounts() + # the ro_update needs to be made synchronous, for now this works around the issue + # and waits a resonable amount of time for the update to finish + time.sleep(2) + if self._client._so_version == 'v3': resp = self._http.get_cmd('v1/api/operational/{}ro-account-state' .format(self._client.so_rbac_project_path)) -- 2.25.1