diff options
author | Bin Yang <bin.yang@windriver.com> | 2017-09-08 13:43:00 +0800 |
---|---|---|
committer | Bin Yang <bin.yang@windriver.com> | 2017-09-08 13:43:00 +0800 |
commit | 08fd690840bea327695aca0e816345c5ce7e3cbf (patch) | |
tree | 5e391f89518680bcd610f101d1d1a2154c58494d /newton/newton/registration | |
parent | 56ce57f8a325eab4786d1b4b7d10570a9698faca (diff) |
Populate EPA Capabilities info into AAI
parse and discover EPA CAPs and populate them into AAI
fix API call to query ESR
Change-Id: I8b5e0429d3fbc9e17390b9c4df9cd12c1f0a42b4
Issue-Id: MULTICLOUD-58
Signed-off-by: Bin Yang <bin.yang@windriver.com>
Diffstat (limited to 'newton/newton/registration')
-rw-r--r-- | newton/newton/registration/views/registration.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/newton/newton/registration/views/registration.py b/newton/newton/registration/views/registration.py index 96d1864e..fa388b73 100644 --- a/newton/newton/registration/views/registration.py +++ b/newton/newton/registration/views/registration.py @@ -602,7 +602,46 @@ class Registry(APIView): pass + def update_epa_caps(self, cloud_owner, cloud_region_id, epa_caps_info): + ''' + populate cloud EPA Capabilities information into AAI + :param cloud_owner: + :param cloud_region_id: + :param epa_caps_info: dict of meta data about cloud-region's epa caps + + :return: + ''' + + cloud_epa_caps = { + 'cloud-epa-caps': json.dumps(epa_caps_info), + } + + if cloud_owner and cloud_region_id: + retcode, content, status_code = \ + req_to_aai("/cloud-infrastructure/cloud-regions/cloud-region/%s/%s/" + % (cloud_owner, cloud_region_id, ), "PUT", content=cloud_epa_caps) + + self._logger.debug( + "update_epa_caps,vimid:%s_%s req_to_aai: update cloud-epa-caps, return %s, %s, %s" + % (cloud_owner,cloud_region_id, retcode, content, status_code)) + + return retcode + return 1 # unknown cloud owner,region_id + def discover_epa_resources(self, request, vimid="", session=None, viminfo=None): + cloud_epa_caps_info = {} + cloud_extra_info = viminfo.get('cloud_extra_info') + if cloud_extra_info: + cloud_epa_caps_info.update(json.loads(cloud_extra_info)) + pass + + cloud_owner, cloud_region_id = extsys.decode_vim_id(vimid) + ret = self.update_epa_caps(cloud_owner, cloud_region_id, cloud_epa_caps_info) + if ret != 0: + # failed to update image + self._logger.debug("failed to populate EPA CAPs info into AAI: %s, ret:%s" + % (vimid, ret)) + pass def update_proxy_identity_endpoint(self, cloud_owner, cloud_region_id, url): |