diff --git a/doc/common/section_getstart_orchestration.xml b/doc/common/section_getstart_orchestration.xml
index b23e01f143..cc5f27f391 100644
--- a/doc/common/section_getstart_orchestration.xml
+++ b/doc/common/section_getstart_orchestration.xml
@@ -2,29 +2,26 @@
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="orchestration-service">
-
Orchestration Service
- The Orchestration Service provides a template-based
- orchestration for describing a cloud application by running
- OpenStack API calls to generate running cloud applications.
- The software integrates other core components of OpenStack
- into a one-file template system. The templates enable you to
- create most OpenStack resource types, such as instances,
- floating IPs, volumes, security groups, users, and so on.
- Also, provides some more advanced functionality, such as
- instance high availability, instance auto-scaling, and nested
- stacks. By providing very tight integration with other
- OpenStack core projects, all OpenStack core projects could
- receive a larger user base.
- Enables deployers to integrate with the Orchestration
- Service directly or through custom plug-ins.
- The Orchestration Service consists of the following
- components:
+ Orchestration Service Overview
+ The Orchestration service provides a template-based orchestration
+ for describing a cloud application by running OpenStack API calls to
+ generate running cloud applications. The software integrates other core
+ components of OpenStack into a one-file template system. The templates
+ enable you to create most OpenStack resource types, such as instances,
+ floating IPs, volumes, security groups, users, and so on. Also, provides
+ some more advanced functionality, such as instance high availability,
+ instance auto-scaling, and nested stacks. By providing very tight
+ integration with other OpenStack core projects, all OpenStack core projects
+ could receive a larger user base.
+ The service enables deployers to integrate with the Orchestration
+ service directly or through custom plug-ins.
+ The Orchestration service consists of the following
+ components:
- heat
tool. A CLI that communicates with
- the heat-api to run AWS CloudFormation APIs. End
- developers could also use the heat REST API
- directly.
+ heat
tool. A CLI that communicates with the
+ heat-api to run AWS CloudFormation APIs. End developers could also use
+ the Orchestration REST API directly.
heat-api
component. Provides an
diff --git a/doc/install-guide/ch_heat.xml b/doc/install-guide/ch_heat.xml
index bd600a4654..e544ab56dd 100644
--- a/doc/install-guide/ch_heat.xml
+++ b/doc/install-guide/ch_heat.xml
@@ -4,7 +4,10 @@
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="ch_heat">
Adding Orchestration
-
- FIXME
-
+ Use the OpenStack Orchestration service to create cloud
+ resources using a template language called HOT. The
+ integrated project name is Heat.
+
+
+
diff --git a/doc/install-guide/section_heat-install.xml b/doc/install-guide/section_heat-install.xml
new file mode 100644
index 0000000000..4c3ecb2523
--- /dev/null
+++ b/doc/install-guide/section_heat-install.xml
@@ -0,0 +1,130 @@
+
+
+ Installing the Orchestration Service
+
+
+ Install the Orchestration Service on the controller node:
+ # apt-get install heat-api heat-api-cfn
+ # yum install openstack-heat-api FIXME
+ # zypper install openstack-heat-api FIXME
+
+
+
+ The Orchestration Service uses a database to store information.
+ Specify the location of the database in the configuration file.
+ In this guide, we use a MySQL database on the controller node
+ with the username heat. Replace
+ HEAT_DBPASS
+ with a suitable password for the database user.
+ # openstack-config --set /etc/heat/heat.conf \
+ DEFAULT sql_connection mysql://heat:HEAT_DBPASS@controller/heat
+ Edit /etc/heat/heat.conf and change the [DEFAULT] section.
+
+[DEFAULT]
+# The SQLAlchemy connection string used to connect to the database
+sql_connection = mysql://heat:HEAT_DBPASS@controller/heat
+...
+
+
+
+
+ Use the openstack-db command to create the
+ database and tables, as well as a database user called
+ keystone to connect to the database. Replace
+ HEAT_DBPASS
+ with the same password used in the previous step.
+ # openstack-db --init --service heat --password HEAT_DBPASS
+
+
+
+ First, we need to create a database user called heat, by logging in
+ as root using the password we set earlier.
+ # mysql -u root -p
+mysql> CREATE DATABASE heat;
+mysql> GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'localhost' \
+IDENTIFIED BY 'HEAT_DBPASS';
+
+
+ We now start the heat service and create its tables.
+ # heat-manage db_sync
+# service heat-api restart
+# service heat-api-cfn restart
+
+
+ Create a user called heat 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_DBPASS --email=heat@example.com
+# keystone user-role-add --user=heat --tenant=service --role=admin
+
+
+ Add the credentials to the Image Service's configuration files.
+ Edit /etc/heat/api-paste.ini
+ and change the [filter:authtoken] section.
+
+...
+[keystone_authtoken]
+paste.filter_factory = heat.common.auth_password:filter_factory
+auth_host = controller
+auth_port = 35357
+auth_protocol = http
+admin_tenant_name = service
+admin_user = heat
+admin_password = HEAT_DBPASS
+...
+
+
+
+
+ Register the Orchestration Service (both Heat and CloudFormation APIs)
+ with the Identity Service so that other OpenStack services can locate
+ it. Register the service and specify the endpoint using the
+ keystone command.
+ # keystone service-create --name=heat --type=orchestration \
+ --description="Heat Orchestration API"
+ Note the service's id property returned in the previous step and use it when
+ creating the endpoint.
+ # keystone endpoint-create \
+ --service-id=the_service_id_above \
+ --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="Heat CloudFormation API"
+ Note the service's id property returned in the previous step and use it when
+ creating the endpoint.
+ # keystone endpoint-create \
+ --service-id=the_service_id_above \
+ --publicurl=http://controller:8000/v1 \
+ --internalurl=http://controller:8000/v1 \
+ --adminurl=http://controller:8000/v1
+
+
+
+ We now restart the service with its new settings.
+# service heat-api restart
+# service heat-api-cfn restart
+
+
+
+
+ Start the heat-api and
+ heat-api-cfn services and configure them to
+ start when the system boots.
+ # service openstack-heat-api start
+# service openstack-heat-api-cfn start
+# chkconfig openstack-heat-api on
+# chkconfig openstack-heat-api-cfn on
+ # systemctl start openstack-heat-api.service
+# systemctl start openstack-heat-api-cfn.service
+# systemctl enable openstack-heat-api.service
+# systemctl enable openstack-heat-api-cfn.service
+
+
+
+
+
diff --git a/doc/install-guide/section_heat-verify.xml b/doc/install-guide/section_heat-verify.xml
new file mode 100644
index 0000000000..68afa97a93
--- /dev/null
+++ b/doc/install-guide/section_heat-verify.xml
@@ -0,0 +1,19 @@
+
+
+
+ Verifying the Orchestration Service Installation
+
+ To verify the Identity Service is installed and configured
+ correctly, first ensure you have your credentials setup correctly
+ in an openrc file, then source it so your
+ environment has the username and password.
+
+ # source openrc
+
+ Next you can try creating some stacks, using the samples.
+
+
+