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. + + +