summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorBin Yang <bin.yang@windriver.com>2018-08-14 07:35:52 +0000
committerBin Yang <bin.yang@windriver.com>2018-08-14 07:35:52 +0000
commitadeadd2b361a0612e289b5a8dd85de9b1d041193 (patch)
tree07f0ab43ea3964c1efc19f89a455ec416ddf9d01 /share
parentb906025377784de4152de1963b8c7df005d8b59c (diff)
Upgrade API for capacity_check
Change-Id: If53c734294907eb4a4d108a2c7e81d537c53eb8f Issue-ID: MULTICLOUD-297 Signed-off-by: Bin Yang <bin.yang@windriver.com>
Diffstat (limited to 'share')
-rw-r--r--share/common/msapi/extsys.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/share/common/msapi/extsys.py b/share/common/msapi/extsys.py
index 772a526e..c0cc7f27 100644
--- a/share/common/msapi/extsys.py
+++ b/share/common/msapi/extsys.py
@@ -19,6 +19,7 @@ from common.utils import restcall
logger = logging.getLogger(__name__)
+
def get_vim_by_id(vim_id):
cloud_owner,cloud_region_id = decode_vim_id(vim_id)
@@ -93,6 +94,25 @@ def delete_vim_by_id(vim_id):
# return non zero if failed to decode cloud owner and region id
return 1
+def encode_vim_id(cloud_owner, cloud_region_id):
+ '''
+ compose vim_id by cloud_owner and cloud_region, make sure the vimid can be converted back when talking to AAI,etc.
+ This is a backward compatibility design to reuse the existing implementation code
+ :param cloud_owner:
+ :param cloud_region:
+ :return:
+ '''
+
+ # since the {cloud_owner}/{cloud_region_id"} is globally unique, the concatenated one as below will be unique as well.
+ vim_id = cloud_owner + "_" + cloud_region_id
+
+ #other options:
+ #1, store it into cache so the decode and just look up the cache for decoding
+ #2, use other delimiter in case '_' is used by cloud owner/cloud region id
+ # , e.g. '.', '#', hence the decode need to try more than one time
+
+ return vim_id
+
def decode_vim_id(vim_id):
m = re.search(r'^([0-9a-zA-Z-]+)_([0-9a-zA-Z_-]+)$', vim_id)
cloud_owner, cloud_region_id = m.group(1), m.group(2)