Bosh create_env CLI error returning { openstack =\u003e { tenant =\u003e Missing key } }


Marco Voelz
 

Dear RJWS,

 

the error you're seeing is because the CPI assumes you're not using Keystone v3. Therefore, it tries to find the properties necessary for Keystone v2, which is e.g. 'tenant' instead of project. To figure out if Keystone v3 or v2 is used, the CPI parses the URL passed in as 'auth_url' [1]. In theory, this error should not have occurred when you passed in a URL which contains '/v3'.

 

You're saying, you've already tried passing in '-v auth_url=https://somenode-us-west-3.mynode.com:5000/v3' and   also -v auth_url=https://somenode-us-west-3.mynode.com:5000/v3/auth/tokens' which both should have worked to trigger the logic for Keystone v3 and should show different errors on failure. Can you  do the same call with `bosh int` instead of `bosh create-env` and look at the generated manifest? The property `openstack.auth_url` should contain your /v3 URL.

 

Warm regards

Marco

 

[1] https://github.com/cloudfoundry-incubator/bosh-openstack-cpi-release/blob/b1e0620a1658b40d8d224dbda371729409722de9/src/bosh_openstack_cpi/lib/cloud/openstack/cloud.rb#L556-L558

 

From: <cf-bosh@...> on behalf of "rjwswenson@..." <rjwswenson@...>
Reply-To: "cf-bosh@..." <cf-bosh@...>
Date: Saturday, 13. January 2018 at 19:46
To: "cf-bosh@..." <cf-bosh@...>
Subject: [cf-bosh] Bosh create_env CLI error returning { openstack =u003e { tenant =u003e Missing key } }

 

Hello,
I am getting an error of a missing tenant key when I try to execute the bosh create_env command:

./bosh create-env bosh-deployment/bosh.yml --state=state.json   --vars-store=creds.yml  -o bosh-deployment/openstack/cpi.yml  -v director_name=bosh-1    \
-v internal_cidr=172.16.0.0/12    \
-v internal_gw=172.16.0.1     \
-v internal_ip=172.16.0.12    \
-v auth_url=https://somenode-us-west-3.mynode.com:5000      \
-v az=us-west-3a      \
-v default_key_name=microbosh     \
-v default_security_groups=[bosh]   \
-v net_id=vnet    \
-v tenant=genomicsdev     \
-v private_key=microbosh.pem     \
-v region=us-west-3a     \
-v openstack_domain=vts000004    \
-v openstack_project=rjwsgenomics    \
-v openstack_password=somepassword    \
-v openstack_username=someusername   \

I have seen this topic posted before, but the thread was inconclusive in terms of what resolved the issue.   I have tried passing a -v tenant=rjwsgenomics,  a -v openstack_tenant=genomics.   I have tried specifying this with /v2.0/tokens and /v3/auth/tokens and /v3 in the URI of the auth URL.  I have also tried modifying the CPI and modifying the keystone-v2.yml in the openstack subdir.  None of these have helped me get passed the error shown below:

[CLI] 2018/01/13 18:31:32 ERROR - creating stemcell (bosh-openstack-kvm-ubuntu-trusty-go_agent 3468.13): CPI 'create_stemcell' method responded with error: CmdError{"type":"InvalidCall","message":"Arguments are not correct, details: 'Invalid OpenStack cloud properties: #\u003cMembrane::SchemaValidationError: { openstack =\u003e { tenant =\u003e Missing key } }\u003e'","ok_to_retry":false}


creating stemcell (bosh-openstack-kvm-ubuntu-trusty-go_agent 3468.13):
  CPI 'create_stemcell' method responded with error: CmdError{"type":"InvalidCall","message":"Arguments are not correct, details: 'Invalid OpenStack cloud properties: #\u003cMembrane::SchemaValidationError: { openstack =\u003e { tenant =\u003e Missing key } }\u003e'","ok_to_retry":false}

Exit code 1




Best Regards,
RJWS


rjwswenson@...
 

Hello,
I am getting an error of a missing tenant key when I try to execute the bosh create_env command:

./bosh create-env bosh-deployment/bosh.yml --state=state.json   --vars-store=creds.yml  -o bosh-deployment/openstack/cpi.yml  -v director_name=bosh-1    \
-v internal_cidr=172.16.0.0/12    \
-v internal_gw=172.16.0.1     \
-v internal_ip=172.16.0.12    \
-v auth_url=https://somenode-us-west-3.mynode.com:5000      \
-v az=us-west-3a      \
-v default_key_name=microbosh     \
-v default_security_groups=[bosh]   \
-v net_id=vnet    \
-v tenant=genomicsdev     \
-v private_key=microbosh.pem     \
-v region=us-west-3a     \
-v openstack_domain=vts000004    \
-v openstack_project=rjwsgenomics    \
-v openstack_password=somepassword    \
-v openstack_username=someusername   \

I have seen this topic posted before, but the thread was inconclusive in terms of what resolved the issue.   I have tried passing a -v tenant=rjwsgenomics,  a -v openstack_tenant=genomics.   I have tried specifying this with /v2.0/tokens and /v3/auth/tokens and /v3 in the URI of the auth URL.  I have also tried modifying the CPI and modifying the keystone-v2.yml in the openstack subdir.  None of these have helped me get passed the error shown below:

[CLI] 2018/01/13 18:31:32 ERROR - creating stemcell (bosh-openstack-kvm-ubuntu-trusty-go_agent 3468.13): CPI 'create_stemcell' method responded with error: CmdError{"type":"InvalidCall","message":"Arguments are not correct, details: 'Invalid OpenStack cloud properties: #\u003cMembrane::SchemaValidationError: { openstack =\u003e { tenant =\u003e Missing key } }\u003e'","ok_to_retry":false}


creating stemcell (bosh-openstack-kvm-ubuntu-trusty-go_agent 3468.13):
  CPI 'create_stemcell' method responded with error: CmdError{"type":"InvalidCall","message":"Arguments are not correct, details: 'Invalid OpenStack cloud properties: #\u003cMembrane::SchemaValidationError: { openstack =\u003e { tenant =\u003e Missing key } }\u003e'","ok_to_retry":false}

Exit code 1




Best Regards,
RJWS