difference between "heat" and "cfn" sections in os-collect-config.conf

asked 2014-11-18 04:38:52 -0600

ZJ gravatar image

updated 2014-11-19 11:20:47 -0600


I'm testing SoftwareDeployment resources. I installed os-* packages and all is working but I get the following warning from os-collect-config tool:

2014-11-18 05:34:40.818 5516 WARNING os_collect_config.heat [-] No auth_url configured. 2014-11-18 05:34:40.818 5516 DEBUG os-collect-config [-] Source [heat] Not configured. collect_all /usr/lib/python2.6/site-packages/os_collect_config/collect.py:145

My /etc/os-collect-config.conf:

# cat /etc/os-collect-config.conf
command = os-refresh-config

metadata_url = http://???
stack_name = SoftwareDeployment
secret_access_key = ef1d779e4e8e41a29601b68926a04264assass
access_key_id = 27b8b85b4ff749cc98f926c0a99f2200assas
path = server_3.Metadata
  1. What is the difference between "heat" and "cfn" ? I know that heat supports heat native api and cfn api, my templates are written in HOT format.
  2. Which options need to be configured in heat.conf (or other configuration file) to stop mentioned WARNING occur?

Some update: After some testing/code analys I understand now that /etc/os-collect-config.conf is updated by os-apply-config tool basing on the os-* templates and contents of directories:



It seems that my /var/lib/heat-cfntools/cfn-init-data file doesn't contain "heat" contents (only "cfn" is present):

{"os-collect-config": {"cfn": {"stack_name": "SoftwareDeployment", "metadata_url": "http://???", "path": "server_3.Metadata", "secret_access_key": "ef1d779e4e8e41a29601b68926a04264assass", "access_key_id": "27b8b85b4ff749cc98f926c0a99f2200assas"}}, "deployments": []}

This file is created during instance creation.

The question which is stiil open: 2. Which options need to be configured in heat.conf (or other configuration file) to stop mentioned WARNING occur? or what to do to add "heat" part to /var/lib/cloud/data/cfn-init-data ?

Thank You for your help with this.

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted

answered 2015-02-02 16:11:14 -0600

Steve Baker gravatar image

updated 2015-02-03 14:03:15 -0600

  1. If your heat has a running heat-api-cfn, then I would probably suggest configuring [cfn] since the auth model is less complex. You can use [heat] if you prefer to use native OpenStack APIs, or if your heat doesn't have a cloudformation endpoint at all.

To tell what heat services your cloud has, run the following:

keystone catalog

If you have Service: cloudformation then you are running heat-api-cfn and a [cfn] section os-collect-config.conf will be value.

Service: orchestration is the native heat-api.

  1. the logged warnings are a quirk of os-collect-config for unconfigured collectors. You could file a bug so discussion of a better solution can start.
edit flag offensive delete link more


Steve, thank You for your answer. You mentioned "native OpenStack APIs". How can I check which API is used? If i'm using templates in HOT format, do I alway use HEAT native API in such case?

ZJ gravatar imageZJ ( 2015-02-03 01:13:11 -0600 )edit

I've updated my answer to add keystone catalog

Steve Baker gravatar imageSteve Baker ( 2015-02-03 14:03:41 -0600 )edit

I have both configured: "Service: cloudformation" and "Service: orchestration". Why in such case my /etc/os-collect-config.conf doesn't have section for "heat" and I see warnings ?

ZJ gravatar imageZJ ( 2015-02-04 01:54:12 -0600 )edit

Only one mechanism needs to be configured to poll heat for deployment data, and [cfn] is the default. This is determined in your template by setting the software_config_transport property in your OS::Nova::Server resource. I have already addressed the logged warnings you mentioned.

Steve Baker gravatar imageSteve Baker ( 2015-02-04 14:09:28 -0600 )edit

see the OS::Nova::Serversoftware_config_transport documentation

Steve Baker gravatar imageSteve Baker ( 2015-02-04 14:10:20 -0600 )edit

answered 2014-11-19 15:19:46 -0600

echiu gravatar image
  1. The heat-api (Openstack native REST API) and heat-api-cfn (AWS Cloudfront API) are both supported in the Openstack HEAT engine, but you would use Heat for orchestration for Openstack, and CFN for orchestration in AWS.

  2. The warning " No auth_url configured." can be fixed by adding the keystone URL to your s-collect-config.conf

edit flag offensive delete link more


Thank you for your answer. Ad.1. My understanding about difference between "cfn" and "heat-api" is same as you described and this is the reason I'm confused. If "cfn" is for AWS templates and my is written in "HOT" format (yaml) why cfn: is used and not "heat-api"?

ZJ gravatar imageZJ ( 2014-11-20 01:14:50 -0600 )edit

Ad.2. Yes I'm aware that I can modify os-collect-config.conf and this message dissapear but why this is not done automaticaly as for "cfn" (as described in my edit to original message)? I suppose that some config is missing in my heat.conf, keystone.conf or nova.conf but I don't know which one?

ZJ gravatar imageZJ ( 2014-11-20 01:17:21 -0600 )edit

Get to know Ask OpenStack

Resources for moderators

Question Tools

1 follower


Asked: 2014-11-18 04:38:52 -0600

Seen: 1,141 times

Last updated: Feb 03 '15