Support for 'extra' parameters for vim register

If the `extra` parameter is present in the config-file specified
when the 'openstack vim register' command is executed,
the data is sent to the tacker.

Implements: blueprint remove-cnf-restriction
Change-Id: I13420945f7d4f81f48a5be7f8f92a0635fbef18a
This commit is contained in:
Hideki Matsuda 2022-08-30 09:00:40 +00:00
parent bfc0c8fdeb
commit fa4a66858e
2 changed files with 32 additions and 0 deletions

View File

@ -96,6 +96,9 @@ def args2body_vim(config_param, vim):
ssl_ca_cert = config_param.pop('ssl_ca_cert', '')
if ssl_ca_cert:
vim['auth_cred']['ssl_ca_cert'] = ssl_ca_cert
extra = config_param.pop('extra', {})
if extra:
vim['extra'] = extra
def validate_auth_url(url):

View File

@ -96,6 +96,35 @@ class TestVIMUtils(testtools.TestCase):
vim_utils.args2body_vim(config_param.copy(), vim)
self.assertEqual(expected_vim, vim)
def test_args2body_kubernetes_vim_extra(self):
extra_param = {
'helm_info': {
'masternode_ip': [
'192.168.10.110'
],
'masternode_username': 'helm_user',
'masternode_password': 'helm_pass'
}}
config_param = {'username': sentinel.usrname1,
'password': sentinel.password1,
'ssl_ca_cert': 'abcxyz',
'project_name': sentinel.prj_name,
'type': 'kubernetes',
'extra': extra_param}
vim = {}
auth_cred = config_param.copy()
auth_cred.pop('project_name')
auth_cred.pop('type')
auth_cred.pop('extra')
expected_vim = {'auth_cred': auth_cred,
'vim_project':
{'name': sentinel.prj_name},
'type': 'kubernetes',
'extra': extra_param}
vim_utils.args2body_vim(config_param.copy(), vim)
self.assertEqual(expected_vim, vim)
def test_args2body_kubernetes_vim_oidc_no_username(self):
config_param = {'oidc_token_url': sentinel.oidc_token_url,
'password': sentinel.password,