diff --git a/tacker/extensions/nfvo.py b/tacker/extensions/nfvo.py index 638df0a33..9288b9499 100644 --- a/tacker/extensions/nfvo.py +++ b/tacker/extensions/nfvo.py @@ -771,6 +771,13 @@ RESOURCE_ATTRIBUTE_MAP = { 'is_visible': True, 'default': None, }, + 'placement_attr': { + 'allow_post': True, + 'allow_put': False, + 'validate': {'type:dict_or_none': None}, + 'is_visible': True, + 'default': {}, + }, 'vim_id': { 'allow_post': True, 'allow_put': False, diff --git a/tacker/nfvo/nfvo_plugin.py b/tacker/nfvo/nfvo_plugin.py index 9695d1742..639a486a1 100644 --- a/tacker/nfvo/nfvo_plugin.py +++ b/tacker/nfvo/nfvo_plugin.py @@ -727,8 +727,9 @@ class NfvoPlugin(nfvo_db_plugin.NfvoPluginDb, vnffg_db.VnffgPluginDbMixin, nsd_dict = yaml.safe_load(nsd['attributes']['nsd']) vnfm_plugin = manager.TackerManager.get_service_plugins()['VNFM'] onboarded_vnfds = vnfm_plugin.get_vnfds(context, []) - region_name = ns.setdefault('placement_attr', {}).get( - 'region_name', None) + region_name = ns_info.get('placement_attr', {}).\ + get('region_name', None) + vim_res = self.vim_client.get_vim(context, ns['ns']['vim_id'], region_name) driver_type = vim_res['vim_type']