Heat/Environments
What is an Environment?
I see an Environment as a container for anything that affects the behavior of the Template (kinda like structured parameters).
- So parameters can be written into an environment file or automatically inserted if you pass them on the cli.
- You define any non-default Providers in the Environment
- You can define any extra/non-keystone credentials in the Environment
- other arguments passed into the stack and stored (Timeout & rollback)
Template | Static architectural design of your application |
Environment | Specific details that affect the instantiation of the Template |
Stack | Template + Environment |
Example
options: #Parameters and other global options InstanceType: m1.xlarge DBUsername: angus DBPassword: verybadpass KeyName: heat_key timeout: 36000 disable_rollback: True credentials: #note the keystone credentials will get inserted here as "keystone" rax_angus: username: myusername api_key: 012345abcdef67890 resources: # resource scoped options DatabaseServer: Provider: RACKSPACE Credentials: rax_angus WebServer: Provider: RACKSPACE Credentials: rax_angus