From adeadd2b361a0612e289b5a8dd85de9b1d041193 Mon Sep 17 00:00:00 2001 From: Bin Yang Date: Tue, 14 Aug 2018 07:35:52 +0000 Subject: Upgrade API for capacity_check Change-Id: If53c734294907eb4a4d108a2c7e81d537c53eb8f Issue-ID: MULTICLOUD-297 Signed-off-by: Bin Yang --- share/common/msapi/extsys.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'share/common') 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) -- cgit