Delete volume attachment ine in scaling policy fails
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
High
|
Zane Bitter |
Bug Description
This is related to https:/
Create a stack from a template that includes (a) an OS::Heat:
The patch https:/
Observe that stack creation completes successfully. Then do an HTTP POST to the webhook URL of the scale down policy. You will get a failure.
See below. The python-cinderclient appears to be unforgiving of a null auth_url. The failure is when the context is a trust.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
2014-06-25 21:32:41.122 17728 TRACE heat.engine.
Drilling down, this is in python-
Traceback (most recent call last):
File "/opt/stack/
vol = self.clients.
File "/opt/stack/
self.
File "/opt/stack/
return client_class(*args, **kwargs)
File "/opt/stack/
session=
File "/opt/stack/
auth_
File "/opt/stack/
self.auth_url = auth_url.
AttributeError: 'NoneType' object has no attribute 'rstrip'
The following hack resolved the problem, not sure if it is even close to correct but it confirms the problem
--- a/heat/
+++ b/heat/
@@ -177,7 +177,7 @@ class OpenStackClient
args = {
- 'auth_url': con.auth_url,
+ 'auth_url': con.auth_url if con.auth_url is not None else '',
Changed in heat: | |
status: | New → Triaged |
importance: | Undecided → High |
milestone: | none → juno-rc1 |
Changed in heat: | |
status: | Fix Committed → Fix Released |
Changed in heat: | |
milestone: | juno-rc1 → 2014.2 |
Looking over the python clients, some of them e.g. python- neutronclient and python-novaclient do the following
self.auth_ url = auth_url. rstrip( '/') if auth_url else auth_url
and some fail if passed None for auth_url, e.g. python-cinderclient and python-troveclient have
self.auth_ url = auth_url. rstrip( '/')
I guess this is a client problem unless heat wants a workaround?