def create_vim(self, context, vim): LOG.debug('Create vim called with parameters %s', strutils.mask_password(vim)) vim_obj = vim['vim'] vim_type = vim_obj['type'] if vim_type != 'kubernetes': vim_obj['auth_url'] = utils.get_auth_url_v3(vim_obj['auth_url']) vim_obj['id'] = uuidutils.generate_uuid() vim_obj['status'] = 'PENDING' try: self._vim_drivers.invoke(vim_type, 'register_vim', vim_obj=vim_obj) res = super(NfvoPlugin, self).create_vim(context, vim_obj) except Exception: with excutils.save_and_reraise_exception(): self._vim_drivers.invoke(vim_type, 'delete_vim_auth', vim_id=vim_obj['id'], auth=vim_obj['auth_cred']) try: self.monitor_vim(context, vim_obj) except Exception: LOG.warning("Failed to set up vim monitoring") return res
def create_vim(self, context, vim): LOG.debug('Create vim called with parameters %s', strutils.mask_password(vim)) vim_obj = vim['vim'] vim_type = vim_obj['type'] if vim_type == 'openstack': vim_obj['auth_url'] = utils.get_auth_url_v3(vim_obj['auth_url']) vim_obj['id'] = uuidutils.generate_uuid() vim_obj['status'] = 'PENDING' try: self._vim_drivers.invoke(vim_type, 'register_vim', vim_obj=vim_obj) res = super(NfvoPlugin, self).create_vim(context, vim_obj) except Exception: with excutils.save_and_reraise_exception(): self._vim_drivers.invoke(vim_type, 'delete_vim_auth', vim_id=vim_obj['id'], auth=vim_obj['auth_cred']) try: self.monitor_vim(context, vim_obj) except Exception: LOG.warning("Failed to set up vim monitoring") return res
def validate_keystone_auth_url(auth_url, verify): keystone_obj = keystone.Keystone() auth_url = utils.get_auth_url_v3(auth_url) try: return keystone_obj.get_version(auth_url, verify) except Exception as e: LOG.error('Keystone Auth URL invalid') raise nfvo.VimConnectionException(message=str(e))
def validate_keystone_auth_url(auth_url, verify): keystone_obj = keystone.Keystone() auth_url = utils.get_auth_url_v3(auth_url) try: return keystone_obj.get_version(auth_url, verify) except Exception as e: LOG.error('Keystone Auth URL invalid') raise nfvo.VimConnectionException(message=str(e))
def get_auth_dict(self, context): auth = CONF.keystone_authtoken auth_url = utils.get_auth_url_v3(auth.auth_url) self.validate_keystone_auth_url(auth_url, 'True') return { 'auth_url': auth_url, 'token': context.auth_token, 'project_domain_name': auth.project_domain_name or context.domain, 'project_name': context.tenant_name }
def get_auth_dict(self, context): auth = CONF.keystone_authtoken auth_url = utils.get_auth_url_v3(auth.auth_url) self.validate_keystone_auth_url(auth_url, 'True') return { 'auth_url': auth_url, 'token': context.auth_token, 'project_domain_name': auth.project_domain_name or context.domain, 'project_name': context.tenant_name }