We hit the same issue with Liberty. However there is a fix for heat to use keystone session from context in client plugin instead of username,password.
https://github.com/openstack/heat/commit/cd125f328e3e4e9f517278b04347515eba380d5a
This fix is only for Newton. When try in Liberty:
def _create(self): endpoint_type = self._get_client_option('nova', 'endpoint_type') extensions = nc.discover_extensions('2')
args = { 'session': self.context.keystone_session, 'extensions': extensions, 'interface': endpoint_type, 'service_type': self.COMPUTE, 'http_log_debug': self._get_client_option('nova', 'http_log_debug') }
We got error:
2016-09-22 16:27:18.355 26510 ERROR heat.engine.stack File "/usr/lib/python2.7/dist-packages/heat/engine/clients/os/nova.py", line 95, in _create 2016-09-22 16:27:18.355 26510 ERROR heat.engine.stack 'session': self.context.keystone_session, 2016-09-22 16:27:18.355 26510 ERROR heat.engine.stack AttributeError: 'RequestContext' object has no attribute 'keystone_session'
When we tried put there "'session': self._keystone_session," instead:
2016-09-22 16:28:18.528 26861 ERROR heat.engine.stack File "/usr/lib/python2.7/dist-packages/keystoneclient/session.py", line 596, in _auth_required 2016-09-22 16:28:18.528 26861 ERROR heat.engine.stack raise exceptions.MissingAuthPlugin(msg) 2016-09-22 16:28:18.528 26861 ERROR heat.engine.stack MissingAuthPlugin: An auth plugin is required to determine endpoint URL
We hit the same issue with Liberty. However there is a fix for heat to use keystone session from context in client plugin instead of username,password.
https:/ /github. com/openstack/ heat/commit/ cd125f328e3e4e9 f517278b0434751 5eba380d5a
This fix is only for Newton. When try in Liberty:
def _create(self):
endpoint_ type = self._get_ client_ option( 'nova', 'endpoint_type') extensions( '2')
extensions = nc.discover_
args = {
'session' : self.context. keystone_ session,
'extension s': extensions,
'interface ': endpoint_type,
'service_ type': self.COMPUTE,
'http_ log_debug' : self._get_ client_ option( 'nova',
'http_ log_debug' )
}
We got error:
2016-09-22 16:27:18.355 26510 ERROR heat.engine.stack File "/usr/lib/ python2. 7/dist- packages/ heat/engine/ clients/ os/nova. py", line 95, in _create keystone_ session,
2016-09-22 16:27:18.355 26510 ERROR heat.engine.stack 'session': self.context.
2016-09-22 16:27:18.355 26510 ERROR heat.engine.stack AttributeError: 'RequestContext' object has no attribute 'keystone_session'
When we tried put there "'session': self._keystone_ session, " instead:
2016-09-22 16:28:18.528 26861 ERROR heat.engine.stack File "/usr/lib/ python2. 7/dist- packages/ keystoneclient/ session. py", line 596, in _auth_required MissingAuthPlug in(msg)
2016-09-22 16:28:18.528 26861 ERROR heat.engine.stack raise exceptions.
2016-09-22 16:28:18.528 26861 ERROR heat.engine.stack MissingAuthPlugin: An auth plugin is required to determine endpoint URL