Install and configure OrchestrationThis section describes how to install and configure the
Orchestration module (heat) on the controller node.To configure prerequisitesBefore you install and configure Orchestration, you must create a
database and Identity service credentials including endpoints.Connect to the database server as the root user:$mysql -u root -pCreate the heat database:mysql>CREATE DATABASE heat;Grant the
proper access to the database:mysql>GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'localhost' IDENTIFIED BY 'HEAT_DBPASS';mysql>GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'%' IDENTIFIED BY 'HEAT_DBPASS';mysql>exitReplace HEAT_DBPASS with a suitable
password.Create Identity service credentials:Create the heat user:$keystone user-create --name heat --pass HEAT_PASS --email EMAIL_ADDRESSReplace HEAT_PASS with a suitable
password and EMAIL_ADDRESS with
a suitable e-mail address.Link the heat user to the
service tenant and admin
role:$keystone user-role-add --user heat --tenant service --role adminCreate the heat and
heat-cfn services:$keystone service-create --name=heat --type=orchestration \
--description="Orchestration"$keystone service-create --name=heat-cfn --type=cloudformation \
--description="Orchestration CloudFormation"Create the heat_stack_user and heat_stack_owner roles:By default, users created by Orchestration use the role heat_stack_user.$keystone role-create --name heat_stack_user$keystone role-create --name heat_stack_ownerCreate the Identity service endpoints:$keystone endpoint-create \
--service-id=$(keystone service-list | awk '/ orchestration / {print $2}') \
--publicurl=http://controller:8004/v1/%\(tenant_id\)s \
--internalurl=http://controller:8004/v1/%\(tenant_id\)s \
--adminurl=http://controller:8004/v1/%\(tenant_id\)s$keystone endpoint-create \
--service-id=$(keystone service-list | awk '/ cloudformation / {print $2}') \
--publicurl=http://controller:8000/v1 \
--internalurl=http://controller:8000/v1 \
--adminurl=http://controller:8000/v1To install and configure the Orchestration componentsRun the following commands to install the packages:#apt-get install heat-api heat-api-cfn heat-engine#yum install openstack-heat-api openstack-heat-engine openstack-heat-api-cfn#zypper install openstack-heat-api openstack-heat-engine openstack-heat-api-cfnEdit the /etc/heat/heat.conf file.In the [database] section, configure
database access:[database]
...
connection = mysql://heat:HEAT_DBPASS@controller/heatReplace HEAT_DBPASS with the password
you chose for the Orchestration database.In the [DEFAULT] section, configure
RabbitMQ message broker access:[DEFAULT]
...
rpc_backend = heat.openstack.common.rpc.impl_kombu
rabbit_host = controller
rabbit_password = RABBIT_PASSReplace RABBIT_PASS with the password
you chose for the guest account in
RabbitMQ.In the [keystone_authtoken] and
[ec2authtoken] sections, configure Identity
service access:[keystone_authtoken]
...
auth_uri = http://controller:5000/v2.0
auth_host = controller
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = heat
admin_password = HEAT_PASS
[ec2authtoken]
...
auth_uri = http://controller:5000/v2.0Replace HEAT_PASS with the
password you chose for the heat user
in the Identity service.In the [DEFAULT] section, configure
the metadata and wait condition URLs:[DEFAULT]
...
heat_metadata_server_url = http://controller:8000
heat_waitcondition_server_url = http://controller:8000/v1/waitconditionConfigure the log directory in the [DEFAULT]
section:[DEFAULT]
...
log_dir = /var/log/heatRun the following command to populate the Orchestration
database:#su -s /bin/sh -c "heat-manage db_sync" heatTo install and configure the Orchestration componentsRun the following commands to install the packages:#apt-get install heat-api heat-api-cfn heat-engineRespond to prompts for
database management,
Identity service
credentials,
service endpoint
registration, and
message broker
credentials.Respond to the debconf configuration
tool prompts.Edit the /etc/heat/heat.conf file.In the [ec2authtoken] section, configure
Identity service access for EC2 operations:[ec2authtoken]
...
auth_uri = http://controller:5000/v2.0To finalize installationRestart the Orchestration services:#service heat-api restart#service heat-api-cfn restart#service heat-engine restartStart the Orchestration services and configure them to start when
the system boots:#service openstack-heat-api start#service openstack-heat-api-cfn start#service openstack-heat-engine start#chkconfig openstack-heat-api on#chkconfig openstack-heat-api-cfn on#chkconfig openstack-heat-engine onBy default, the Ubuntu packages create a SQLite database.Because this configuration uses a SQL database server, you
can remove the SQLite database file:#rm /var/lib/heat/heat.sqlite