Browse code

Merge "Configure and launch Heat REST API."

Jenkins authored on 2012/10/11 05:52:09
Showing 3 changed files
... ...
@@ -166,15 +166,25 @@ if [[ "$ENABLED_SERVICES" =~ "heat" ]]; then
166 166
                            --role_id $ADMIN_ROLE
167 167
     if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then
168 168
         HEAT_CFN_SERVICE=$(get_id keystone service-create \
169
-            --name=heat \
170
-            --type=orchestration \
171
-            --description="Heat Service")
169
+            --name=heat-cfn \
170
+            --type=cloudformation \
171
+            --description="Heat CloudFormation Service")
172 172
         keystone endpoint-create \
173 173
             --region RegionOne \
174 174
             --service_id $HEAT_CFN_SERVICE \
175 175
             --publicurl "http://$SERVICE_HOST:$HEAT_API_CFN_PORT/v1" \
176 176
             --adminurl "http://$SERVICE_HOST:$HEAT_API_CFN_PORT/v1" \
177 177
             --internalurl "http://$SERVICE_HOST:$HEAT_API_CFN_PORT/v1"
178
+        HEAT_SERVICE=$(get_id keystone service-create \
179
+            --name=heat \
180
+            --type=orchestration \
181
+            --description="Heat Service")
182
+        keystone endpoint-create \
183
+            --region RegionOne \
184
+            --service_id $HEAT_SERVICE \
185
+            --publicurl "http://$SERVICE_HOST:$HEAT_API_PORT/v1/\$(tenant_id)s" \
186
+            --adminurl "http://$SERVICE_HOST:$HEAT_API_PORT/v1/\$(tenant_id)s" \
187
+            --internalurl "http://$SERVICE_HOST:$HEAT_API_PORT/v1/\$(tenant_id)s"
178 188
     fi
179 189
 fi
180 190
 
... ...
@@ -51,6 +51,8 @@ function configure_heat() {
51 51
     HEAT_METADATA_PORT=${HEAT_METADATA_PORT:-8002}
52 52
     HEAT_API_CW_HOST=${HEAT_API_CW_HOST:-$SERVICE_HOST}
53 53
     HEAT_API_CW_PORT=${HEAT_API_CW_PORT:-8003}
54
+    HEAT_API_HOST=${HEAT_API_HOST:-$SERVICE_HOST}
55
+    HEAT_API_PORT=${HEAT_API_PORT:-8004}
54 56
 
55 57
     # cloudformation api
56 58
     HEAT_API_CFN_CONF=$HEAT_CONF_DIR/heat-api-cfn.conf
... ...
@@ -81,6 +83,35 @@ function configure_heat() {
81 81
     iniset $HEAT_API_CFN_PASTE_INI filter:ec2authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0
82 82
     iniset $HEAT_API_CFN_PASTE_INI filter:ec2authtoken keystone_ec2_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0/ec2tokens
83 83
 
84
+    # openstack api
85
+    HEAT_API_CONF=$HEAT_CONF_DIR/heat-api.conf
86
+    cp $HEAT_DIR/etc/heat/heat-api.conf $HEAT_API_CONF
87
+    iniset $HEAT_API_CONF DEFAULT debug True
88
+    inicomment $HEAT_API_CONF DEFAULT log_file
89
+    iniset $HEAT_API_CONF DEFAULT use_syslog $SYSLOG
90
+    iniset $HEAT_API_CONF DEFAULT bind_host $HEAT_API_HOST
91
+    iniset $HEAT_API_CONF DEFAULT bind_port $HEAT_API_PORT
92
+
93
+    if is_service_enabled rabbit; then
94
+        iniset $HEAT_API_CONF DEFAULT rpc_backend heat.openstack.common.rpc.impl_kombu
95
+        iniset $HEAT_API_CONF DEFAULT rabbit_password $RABBIT_PASSWORD
96
+        iniset $HEAT_API_CONF DEFAULT rabbit_host $RABBIT_HOST
97
+    elif is_service_enabled qpid; then
98
+        iniset $HEAT_API_CONF DEFAULT rpc_backend heat.openstack.common.rpc.impl_qpid
99
+    fi
100
+
101
+    HEAT_API_PASTE_INI=$HEAT_CONF_DIR/heat-api-paste.ini
102
+    cp $HEAT_DIR/etc/heat/heat-api-paste.ini $HEAT_API_PASTE_INI
103
+    iniset $HEAT_API_PASTE_INI filter:authtoken auth_host $KEYSTONE_AUTH_HOST
104
+    iniset $HEAT_API_PASTE_INI filter:authtoken auth_port $KEYSTONE_AUTH_PORT
105
+    iniset $HEAT_API_PASTE_INI filter:authtoken auth_protocol $KEYSTONE_AUTH_PROTOCOL
106
+    iniset $HEAT_API_PASTE_INI filter:authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0
107
+    iniset $HEAT_API_PASTE_INI filter:authtoken admin_tenant_name $SERVICE_TENANT_NAME
108
+    iniset $HEAT_API_PASTE_INI filter:authtoken admin_user heat
109
+    iniset $HEAT_API_PASTE_INI filter:authtoken admin_password $SERVICE_PASSWORD
110
+    iniset $HEAT_API_PASTE_INI filter:ec2authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0
111
+    iniset $HEAT_API_PASTE_INI filter:ec2authtoken keystone_ec2_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0/ec2tokens
112
+
84 113
     # engine
85 114
     HEAT_ENGINE_CONF=$HEAT_CONF_DIR/heat-engine.conf
86 115
     cp $HEAT_DIR/etc/heat/heat-engine.conf $HEAT_ENGINE_CONF
... ...
@@ -168,6 +199,7 @@ function install_heat() {
168 168
 # start_heat() - Start running processes, including screen
169 169
 function start_heat() {
170 170
     screen_it h-eng "cd $HEAT_DIR; bin/heat-engine --config-file=$HEAT_CONF_DIR/heat-engine.conf"
171
+    screen_it h-api "cd $HEAT_DIR; bin/heat-api --config-dir=$HEAT_CONF_DIR/heat-api.conf"
171 172
     screen_it h-api-cfn "cd $HEAT_DIR; bin/heat-api-cfn --config-dir=$HEAT_CONF_DIR/heat-api-cfn.conf"
172 173
     screen_it h-api-cw "cd $HEAT_DIR; bin/heat-api-cloudwatch --config-dir=$HEAT_CONF_DIR/heat-api-cloudwatch.conf"
173 174
     screen_it h-meta "cd $HEAT_DIR; bin/heat-metadata --config-dir=$HEAT_CONF_DIR/heat-metadata.conf"
... ...
@@ -1050,6 +1050,7 @@ if is_service_enabled key; then
1050 1050
     SERVICE_TOKEN=$SERVICE_TOKEN SERVICE_ENDPOINT=$SERVICE_ENDPOINT SERVICE_HOST=$SERVICE_HOST \
1051 1051
     S3_SERVICE_PORT=$S3_SERVICE_PORT KEYSTONE_CATALOG_BACKEND=$KEYSTONE_CATALOG_BACKEND \
1052 1052
     DEVSTACK_DIR=$TOP_DIR ENABLED_SERVICES=$ENABLED_SERVICES HEAT_API_CFN_PORT=$HEAT_API_CFN_PORT \
1053
+    HEAT_API_PORT=$HEAT_API_PORT \
1053 1054
         bash -x $FILES/keystone_data.sh
1054 1055
 
1055 1056
     # Set up auth creds now that keystone is bootstrapped