keystone_service provider fails with __init__() got an unexpected keyword argument 'token'
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
puppet-openstacklib |
New
|
Undecided
|
Unassigned |
Bug Description
Using stable/mitaka
The error only seemed to show up after enabling support for an extra domain using the keystone.
Error: Could not prefetch keystone_service provider 'openstack': Execution of '/usr/bin/openstack service list --quiet --format csv --long' returned 1: __init__() got an unexpected keyword argument 'token' (tried 44, for a total of 170 seconds)
Error: Not managing Keystone_
Error: /Stage[
Debug shows lots of this:
Debug: Prefetching openstack resources for keystone_service
Debug: Executing '/usr/bin/openstack service list --quiet --format csv --long'
Debug: Puppet:
Debug: Executing '/usr/bin/openstack service list --quiet --format csv --long'
Debug: Puppet:
Debug: Executing '/usr/bin/openstack service list --quiet --format csv --long'
Debug: Puppet:
Running the openstack client command manually [ openstack service list --quiet --format csv --long ] works fine.
I don't see anything obvious in the keystone logs.
Please let me know if you need any more info.
ok - I've worked out why this was happening.
It relates to Puppet: :Provider: :Openstack: :Auth from openstacklib, and they way environment variables are used to authenticate.
We have an alternative openrc file, under another name, that has OS_AUTH_ TYPE='v3passwor d' set. TYPE='v3passwor d' into the environment used to run puppet, the openstack client fails with the error: __init__() got an unexpected keyword argument 'token'
If that had been sourced, and exported OS_AUTH_
I'm still not 100% sure why it happens, as after reading the provider, it looks like it should try and use the RC file, and of that doesn't work, load the environment variables starting with "OS_". Yet it seems that a combination of environment variables and the admin_token are being used to run the openstack client.
It's an understatement to say, I'm no ruby export, so it would be nice to know whether or not this is expected behaviour or a condition that could be coded round.
Hence I'll leave this bug open for now and change it to openstacklib, pending any input from people that know :)
Thanks in advance.