Atom feed of this document
  
 

 Install the Orchestration service

  1. Install the Orchestration module on the controller node:

    # zypper install openstack-heat-api openstack-heat-api-cfn \
      openstack-heat-engine
  2. In the configuration file, specify the location of the database where the Orchestration service stores data. These examples use a MySQL database with a heat user on the controller node. Replace HEAT_DBPASS with the password for the database user:

    # openstack-config --set /etc/heat/heat.conf \
      database connection mysql://heat:HEAT_DBPASS@controller/heat
  3. Use the password that you set previously to log in as root and create a heat database user:

    $ mysql -u root -p
    mysql> CREATE DATABASE heat;
    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';
  4. Configure the Orchestration Service to use the RabbitMQ message broker.

    Run the following commands:

    # openstack-config --set /etc/heat/heat.conf DEFAULT rabbit_host controller
    # openstack-config --set /etc/heat/heat.conf DEFAULT rabbit_password RABBIT_PASS
  5. Create a heat user that the Orchestration service can use to authenticate with the Identity Service. Use the service tenant and give the user the admin role:

    $ keystone user-create --name=heat --pass=HEAT_PASS \
      --email=[email protected]
    $ keystone user-role-add --user=heat --tenant=service --role=admin
  6. Edit the /etc/heat/heat.conf file to change the [keystone_authtoken] and [ec2authtoken] sections to add credentials to the Orchestration Service:

    [keystone_authtoken]
    auth_host = controller
    auth_port = 35357
    auth_protocol = http
    auth_uri = http://controller:5000/v2.0
    admin_tenant_name = service
    admin_user = heat
    admin_password = HEAT_PASS
    
    [ec2authtoken]
    auth_uri = http://controller:5000/v2.0
  7. Register the Heat and CloudFormation APIs with the Identity Service so that other OpenStack services can locate these APIs. Register the services and specify the endpoints:

    $ keystone service-create --name=heat --type=orchestration \
      --description="Orchestration"
    $ 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 service-create --name=heat-cfn --type=cloudformation \
      --description="Orchestration CloudFormation"
    $ 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
  8. Start the heat-api, heat-api-cfn and heat-engine 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
Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page

loading table of contents...