Install and configure Orchestration This section describes how to install and configure the Orchestration module (heat) on the controller node. To configure prerequisites Before 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 -p Create 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> exit Replace HEAT_DBPASS with a suitable password. Create Identity service credentials: Create the heat user: $ keystone user-create --name heat --pass HEAT_PASS --email EMAIL_ADDRESS Replace 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 admin Create 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_owner Create 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/v1 To install and configure the Orchestration components Run 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-cfn Edit the /etc/heat/heat.conf file. In the [database] section, configure database access: [database] ... connection = mysql://heat:HEAT_DBPASS@controller/heat Replace 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_PASS Replace 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.0 Replace 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/waitcondition Configure the log directory in the [DEFAULT] section: [DEFAULT] ... log_dir = /var/log/heat Run the following command to populate the Orchestration database: # su -s /bin/sh -c "heat-manage db_sync" heat To install and configure the Orchestration components Run the following commands to install the packages: # apt-get install heat-api heat-api-cfn heat-engine Respond 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.0 To finalize installation Restart the Orchestration services: # service heat-api restart # service heat-api-cfn restart # service heat-engine restart Start 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 on By 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