Heat CFN tools cannot access metadata by stack name from within nested stacks
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Heat |
Fix Released
|
High
|
JunJie Nan |
Bug Description
From a nested stack, it is not possible to access resource metadata by stack name (instead of stack id).
$ cfn-get-metadata -s slurm3-
DEBUG [2013-10-17 09:41:20,792] Method: GET
DEBUG [2013-10-17 09:41:20,793] Path: http://
DEBUG [2013-10-17 09:41:20,793] Data:
DEBUG [2013-10-17 09:41:20,793] Headers: {}
DEBUG [2013-10-17 09:41:20,793] Host: 10.197.217.19:8000
DEBUG [2013-10-17 09:41:20,794] establishing HTTP connection: kwargs={}
DEBUG [2013-10-17 09:41:20,794] Token: None
DEBUG [2013-10-17 09:41:20,794] using _calc_signature_2
DEBUG [2013-10-17 09:41:20,795] query string: AWSAccessKeyId=
DEBUG [2013-10-17 09:41:20,795] string_to_sign: GET
10.197.217.19:8000
/v1/
AWSAccessKeyId=
DEBUG [2013-10-17 09:41:20,795] len(b64)=44
DEBUG [2013-10-17 09:41:20,796] base64 encoded digest: f6t728WEdEa/
DEBUG [2013-10-17 09:41:20,796] query_string: AWSAccessKeyId=
ERROR [2013-10-17 09:41:20,983] 400 Bad Request
ERROR [2013-10-17 09:41:20,984] {"ErrorResponse": {"Error": {"Message": "A bad or out-of-range value was supplied:The Stack (slurm3-
Traceback (most recent call last):
File "/bin/cfn-
metadata.
File "/usr/lib/
self._data = self.remote_
File "/usr/lib/
res = client.
File "/usr/lib/
raise self.ResponseEr
boto.exception.
None
$ cfn-get-metadata -s 7d21468d-
DEBUG [2013-10-17 09:42:58,165] Method: GET
DEBUG [2013-10-17 09:42:58,165] Path: http://
DEBUG [2013-10-17 09:42:58,165] Data:
DEBUG [2013-10-17 09:42:58,165] Headers: {}
DEBUG [2013-10-17 09:42:58,166] Host: 10.197.217.19:8000
DEBUG [2013-10-17 09:42:58,166] establishing HTTP connection: kwargs={}
DEBUG [2013-10-17 09:42:58,166] Token: None
DEBUG [2013-10-17 09:42:58,166] using _calc_signature_2
DEBUG [2013-10-17 09:42:58,167] query string: AWSAccessKeyId=
DEBUG [2013-10-17 09:42:58,167] string_to_sign: GET
10.197.217.19:8000
/v1/
AWSAccessKeyId=
DEBUG [2013-10-17 09:42:58,168] len(b64)=44
DEBUG [2013-10-17 09:42:58,168] base64 encoded digest: 1wc9+D3P9tzX1Sb
DEBUG [2013-10-17 09:42:58,168] query_string: AWSAccessKeyId=
DEBUG [2013-10-17 09:42:59,497] {"IpAddresses": "10.0.0.
{"IpAddresses": "10.0.0.
Heat engine logs:
2013-10-17 11:44:17.815 20281 ERROR heat.openstack.
2013-10-17 11:44:17.815 20281 TRACE heat.openstack.
2013-10-17 11:44:17.815 20281 TRACE heat.openstack.
2013-10-17 11:44:17.815 20281 TRACE heat.openstack.
2013-10-17 11:44:17.815 20281 TRACE heat.openstack.
2013-10-17 11:44:17.815 20281 TRACE heat.openstack.
2013-10-17 11:44:17.815 20281 TRACE heat.openstack.
2013-10-17 11:44:17.815 20281 TRACE heat.openstack.
2013-10-17 11:44:17.815 20281 TRACE heat.openstack.
2013-10-17 11:44:17.815 20281 TRACE heat.openstack.
2013-10-17 11:44:17.815 20281 TRACE heat.openstack.
2013-10-17 11:44:17.815 20281 TRACE heat.openstack.
2013-10-17 11:44:17.816 20281 ERROR heat.openstack.
Changed in heat: | |
milestone: | none → icehouse-2 |
Changed in heat: | |
status: | Fix Committed → Fix Released |
Changed in heat: | |
milestone: | icehouse-2 → 2014.1 |
I have reproduced it. The embedded stack name and id in my system are: stack-s- x5liqpxcuomy and 622a6f68- 669d-4516- 93dc-7e72a058ea 0b
test_embedded_
heat resource-list test_embedded_ stack-s- x5liqpxcuomy explained stack not found. 669d-4516- 93dc-7e72a058ea 0b works: ------- --+---- ------- ------- ---+--- ------- ------- +------ ------- ------- --+ ------- --+---- ------- ------- ---+--- ------- ------- +------ ------- ------- --+ 11T02:51: 17Z | 11T02:51: 19Z | 11T02:51: 39Z | ------- --+---- ------- ------- ---+--- ------- ------- +------ ------- ------- --+
heat resource-list 622a6f68-
+------
| resource_name | resource_type | resource_status | updated_time |
+------
| CfnUser | AWS::IAM::User | CREATE_COMPLETE | 2013-12-
| WebServerKeys | AWS::IAM::AccessKey | CREATE_COMPLETE | 2013-12-
| e | AWS::EC2::Instance | CREATE_COMPLETE | 2013-12-
+------
I tried cfn-get-metadata also.