Notice that the the output_value for "public_ip" and "URL" are empty. Here is the part of the "output" section of the heat template that I am using:
outputs:
public_ip:
description: The public IP address of the newly configured Server.
value: { get_attr: [ compute, accessIPv4 ] }
URL:
description: The URL for the Server.
value:
str_replace:
template: http://%host%:%port%
params:
"%host%": { get_attr: [ compute, accessIPv4 ] }
"%port%": { get_param: port }
Notice that I am using the "accessIPv4" attribute of heat to get the public_ip of the spun up server.
Based on the output of heat stack-show command, it looks like the "accessIPv4" attribute is not providing the IP address of the spun up server.
This is confirmed by
vagrant@devstack:~$ nova list
+--------------------------------------+---------------+--------+------------+-------------+----------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+---------------+--------+------------+-------------+----------+
| f7c9825a-5adc-4a99-a80e-45923056df6e | coreos3-nov11 | ACTIVE | - | Running | |
+--------------------------------------+---------------+--------+------------+-------------+----------+
Notice that the there is no value for "Networks" attribute.
Notice that in the path that used nova boot directly, I had to create nova-network first and then use that within the "nova boot" command. Looks like I would need to do something similar within the heat template.
vagrant@devstack:~$ heat stack-show f5a06c66- 3d1d-4ecd- 9ef9-d0e3a25c4e 29 ------- ------- --+---- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ---+ ------- ------- --+---- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ---+ 11T17:42: 47Z | 3d1d-4ecd- 9ef9-d0e3a25c4e 29 | 10.0.2. 15:8004/ v1/1cb3982d28cc 480cbf72cfdfe90 e5e6f/stacks/ coreos3- nov11-df718e8a- 14c3-4756- 95d7-9e9cd2a8a4 bd/f5a06c66- 3d1d-4ecd- 9ef9-d0e3a25c4e 29 (self) | :5000", | 3d1d-4ecd- 9ef9-d0e3a25c4e 29", | nov11-df718e8a- 14c3-4756- 95d7-9e9cd2a8a4 bd", | 15:5042/ nodeus" , | nov11-df718e8a- 14c3-4756- 95d7-9e9cd2a8a4 bd | description | Basic app deploy. | ------- ------- --+---- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ------- ---+
+------
| Property | Value |
+------
| capabilities | [] |
| creation_time | 2014-11-
| description | Basic app deploy. |
| disable_rollback | True |
| id | f5a06c66-
| links | http://
| notification_topics | [] |
| outputs | [ |
| | { |
| | "output_value": "", |
| | "description": "The public IP address of the newly configured Server.", |
| | "output_key": "public_ip" |
| | }, |
| | { |
| | "output_value": "http://
| | "description": "The URL for the Server.", |
| | "output_key": "URL" |
| | } |
| | ] |
| parameters | { |
| | "OS::stack_id": "f5a06c66-
| | "OS::stack_name": "coreos3-
| | "key_name": "", |
| | "image": "coreos", |
| | "du_image": "10.0.2.
| | "flavor": "m1.small", |
| | "port": "5000", |
| | "app_name": "coreos3-nov11" |
| | } |
| parent | None |
| stack_name | coreos3-
| stack_owner | None |
| stack_status | CREATE_COMPLETE |
| stack_status_reason | Stack CREATE completed successfully |
| template_
| timeout_mins | None |
| updated_time | None |
+------
Notice that the the output_value for "public_ip" and "URL" are empty. Here is the part of the "output" section of the heat template that I am using:
outputs: %host%:%port%
public_ip:
description: The public IP address of the newly configured Server.
value: { get_attr: [ compute, accessIPv4 ] }
URL:
description: The URL for the Server.
value:
str_replace:
template: http://
params:
"%host%": { get_attr: [ compute, accessIPv4 ] }
"%port%": { get_param: port }
Notice that I am using the "accessIPv4" attribute of heat to get the public_ip of the spun up server.
Based on the output of heat stack-show command, it looks like the "accessIPv4" attribute is not providing the IP address of the spun up server.
This is confirmed by
vagrant@devstack:~$ nova list ------- ------- ------- ------- ----+-- ------- ------+ ------- -+----- ------- +------ ------- +------ ----+ ------- ------- ------- ------- ----+-- ------- ------+ ------- -+----- ------- +------ ------- +------ ----+ 5adc-4a99- a80e-45923056df 6e | coreos3-nov11 | ACTIVE | - | Running | | ------- ------- ------- ------- ----+-- ------- ------+ ------- -+----- ------- +------ ------- +------ ----+
+------
| ID | Name | Status | Task State | Power State | Networks |
+------
| f7c9825a-
+------
Notice that the there is no value for "Networks" attribute.
Notice that in the path that used nova boot directly, I had to create nova-network first and then use that within the "nova boot" command. Looks like I would need to do something similar within the heat template.