Browse code

Merge "heat had it's api split into two binaries (cfn & cloudwatch)"

Jenkins authored on 2012/09/13 23:45:38
Showing 3 changed files
... ...
@@ -171,10 +171,10 @@ if [[ "$ENABLED_SERVICES" =~ "heat" ]]; then
171 171
             --description="Heat Service")
172 172
         keystone endpoint-create \
173 173
             --region RegionOne \
174
-            --service_id $HEAT_SERVICE \
175
-            --publicurl "http://$SERVICE_HOST:$HEAT_API_PORT/v1" \
176
-            --adminurl "http://$SERVICE_HOST:$HEAT_API_PORT/v1" \
177
-            --internalurl "http://$SERVICE_HOST:$HEAT_API_PORT/v1"
174
+            --service_id $HEAT_CFN_SERVICE \
175
+            --publicurl "http://$SERVICE_HOST:$HEAT_API_CFN_PORT/v1" \
176
+            --adminurl "http://$SERVICE_HOST:$HEAT_API_CFN_PORT/v1" \
177
+            --internalurl "http://$SERVICE_HOST:$HEAT_API_CFN_PORT/v1"
178 178
     fi
179 179
 fi
180 180
 
... ...
@@ -1,7 +1,7 @@
1 1
 # lib/heat
2 2
 # Install and start Heat service
3 3
 # To enable, add the following to localrc
4
-# ENABLED_SERVICES+=,heat,h-api,h-eng,h-meta
4
+# ENABLED_SERVICES+=,heat,h-api-cfn,h-api-cw,h-eng,h-meta
5 5
 
6 6
 # Dependencies:
7 7
 # - functions
... ...
@@ -43,43 +43,47 @@ function configure_heat() {
43 43
     fi
44 44
     sudo chown `whoami` $HEAT_CONF_DIR
45 45
 
46
-    HEAT_API_HOST=${HEAT_API_HOST:-$SERVICE_HOST}
47
-    HEAT_API_PORT=${HEAT_API_PORT:-8000}
46
+    HEAT_API_CFN_HOST=${HEAT_API_CFN_HOST:-$SERVICE_HOST}
47
+    HEAT_API_CFN_PORT=${HEAT_API_CFN_PORT:-8000}
48 48
     HEAT_ENGINE_HOST=${HEAT_ENGINE_HOST:-$SERVICE_HOST}
49 49
     HEAT_ENGINE_PORT=${HEAT_ENGINE_PORT:-8001}
50 50
     HEAT_METADATA_HOST=${HEAT_METADATA_HOST:-$SERVICE_HOST}
51 51
     HEAT_METADATA_PORT=${HEAT_METADATA_PORT:-8002}
52
-
53
-    HEAT_API_CONF=$HEAT_CONF_DIR/heat-api.conf
54
-    cp $HEAT_DIR/etc/heat-api.conf $HEAT_API_CONF
55
-    iniset $HEAT_API_CONF DEFAULT debug True
56
-    inicomment $HEAT_API_CONF DEFAULT log_file
57
-    iniset $HEAT_API_CONF DEFAULT use_syslog $SYSLOG
58
-    iniset $HEAT_API_CONF DEFAULT bind_host $HEAT_API_HOST
59
-    iniset $HEAT_API_CONF DEFAULT bind_port $HEAT_API_PORT
52
+    HEAT_API_CW_HOST=${HEAT_API_CW_HOST:-$SERVICE_HOST}
53
+    HEAT_API_CW_PORT=${HEAT_API_CW_PORT:-8003}
54
+
55
+    # cloudformation api
56
+    HEAT_API_CFN_CONF=$HEAT_CONF_DIR/heat-api-cfn.conf
57
+    cp $HEAT_DIR/etc/heat/heat-api-cfn.conf $HEAT_API_CFN_CONF
58
+    iniset $HEAT_API_CFN_CONF DEFAULT debug True
59
+    inicomment $HEAT_API_CFN_CONF DEFAULT log_file
60
+    iniset $HEAT_API_CFN_CONF DEFAULT use_syslog $SYSLOG
61
+    iniset $HEAT_API_CFN_CONF DEFAULT bind_host $HEAT_API_CFN_HOST
62
+    iniset $HEAT_API_CFN_CONF DEFAULT bind_port $HEAT_API_CFN_PORT
60 63
 
61 64
     if is_service_enabled rabbit; then
62
-        iniset $HEAT_API_CONF DEFAULT rpc_backend heat.openstack.common.rpc.impl_kombu
63
-        iniset $HEAT_API_CONF DEFAULT rabbit_password $RABBIT_PASSWORD
64
-        iniset $HEAT_API_CONF DEFAULT rabbit_host $RABBIT_HOST
65
+        iniset $HEAT_API_CFN_CONF DEFAULT rpc_backend heat.openstack.common.rpc.impl_kombu
66
+        iniset $HEAT_API_CFN_CONF DEFAULT rabbit_password $RABBIT_PASSWORD
67
+        iniset $HEAT_API_CFN_CONF DEFAULT rabbit_host $RABBIT_HOST
65 68
     elif is_service_enabled qpid; then
66
-        iniset $HEAT_API_CONF DEFAULT rpc_backend heat.openstack.common.rpc.impl_qpid
69
+        iniset $HEAT_API_CFN_CONF DEFAULT rpc_backend heat.openstack.common.rpc.impl_qpid
67 70
     fi
68 71
 
69
-    HEAT_API_PASTE_INI=$HEAT_CONF_DIR/heat-api-paste.ini
70
-    cp $HEAT_DIR/etc/heat-api-paste.ini $HEAT_API_PASTE_INI
71
-    iniset $HEAT_API_PASTE_INI filter:authtoken auth_host $KEYSTONE_AUTH_HOST
72
-    iniset $HEAT_API_PASTE_INI filter:authtoken auth_port $KEYSTONE_AUTH_PORT
73
-    iniset $HEAT_API_PASTE_INI filter:authtoken auth_protocol $KEYSTONE_AUTH_PROTOCOL
74
-    iniset $HEAT_API_PASTE_INI filter:authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0
75
-    iniset $HEAT_API_PASTE_INI filter:authtoken admin_tenant_name $SERVICE_TENANT_NAME
76
-    iniset $HEAT_API_PASTE_INI filter:authtoken admin_user heat
77
-    iniset $HEAT_API_PASTE_INI filter:authtoken admin_password $SERVICE_PASSWORD
78
-    iniset $HEAT_API_PASTE_INI filter:ec2authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0
79
-    iniset $HEAT_API_PASTE_INI filter:ec2authtoken keystone_ec2_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0/ec2tokens
80
-
72
+    HEAT_API_CFN_PASTE_INI=$HEAT_CONF_DIR/heat-api-cfn-paste.ini
73
+    cp $HEAT_DIR/etc/heat/heat-api-cfn-paste.ini $HEAT_API_CFN_PASTE_INI
74
+    iniset $HEAT_API_CFN_PASTE_INI filter:authtoken auth_host $KEYSTONE_AUTH_HOST
75
+    iniset $HEAT_API_CFN_PASTE_INI filter:authtoken auth_port $KEYSTONE_AUTH_PORT
76
+    iniset $HEAT_API_CFN_PASTE_INI filter:authtoken auth_protocol $KEYSTONE_AUTH_PROTOCOL
77
+    iniset $HEAT_API_CFN_PASTE_INI filter:authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0
78
+    iniset $HEAT_API_CFN_PASTE_INI filter:authtoken admin_tenant_name $SERVICE_TENANT_NAME
79
+    iniset $HEAT_API_CFN_PASTE_INI filter:authtoken admin_user heat
80
+    iniset $HEAT_API_CFN_PASTE_INI filter:authtoken admin_password $SERVICE_PASSWORD
81
+    iniset $HEAT_API_CFN_PASTE_INI filter:ec2authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0
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
+
84
+    # engine
81 85
     HEAT_ENGINE_CONF=$HEAT_CONF_DIR/heat-engine.conf
82
-    cp $HEAT_DIR/etc/heat-engine.conf $HEAT_ENGINE_CONF
86
+    cp $HEAT_DIR/etc/heat/heat-engine.conf $HEAT_ENGINE_CONF
83 87
     iniset $HEAT_ENGINE_CONF DEFAULT debug True
84 88
     inicomment $HEAT_ENGINE_CONF DEFAULT log_file
85 89
     iniset $HEAT_ENGINE_CONF DEFAULT use_syslog $SYSLOG
... ...
@@ -96,18 +100,9 @@ function configure_heat() {
96 96
         iniset $HEAT_ENGINE_CONF DEFAULT rpc_backend heat.openstack.common.rpc.impl_qpid
97 97
     fi
98 98
 
99
-    HEAT_ENGINE_PASTE_INI=$HEAT_CONF_DIR/heat-engine-paste.ini
100
-    cp $HEAT_DIR/etc/heat-engine-paste.ini $HEAT_ENGINE_PASTE_INI
101
-    iniset $HEAT_ENGINE_PASTE_INI filter:authtoken auth_host $KEYSTONE_AUTH_HOST
102
-    iniset $HEAT_ENGINE_PASTE_INI filter:authtoken auth_port $KEYSTONE_AUTH_PORT
103
-    iniset $HEAT_ENGINE_PASTE_INI filter:authtoken auth_protocol $KEYSTONE_AUTH_PROTOCOL
104
-    iniset $HEAT_ENGINE_PASTE_INI filter:authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0
105
-    iniset $HEAT_ENGINE_PASTE_INI filter:authtoken admin_tenant_name $SERVICE_TENANT_NAME
106
-    iniset $HEAT_ENGINE_PASTE_INI filter:authtoken admin_user heat
107
-    iniset $HEAT_ENGINE_PASTE_INI filter:authtoken admin_password $SERVICE_PASSWORD
108
-
99
+    # metadata api
109 100
     HEAT_METADATA_CONF=$HEAT_CONF_DIR/heat-metadata.conf
110
-    cp $HEAT_DIR/etc/heat-metadata.conf $HEAT_METADATA_CONF
101
+    cp $HEAT_DIR/etc/heat/heat-metadata.conf $HEAT_METADATA_CONF
111 102
     iniset $HEAT_METADATA_CONF DEFAULT debug True
112 103
     inicomment $HEAT_METADATA_CONF DEFAULT log_file
113 104
     iniset $HEAT_METADATA_CONF DEFAULT use_syslog $SYSLOG
... ...
@@ -123,8 +118,36 @@ function configure_heat() {
123 123
     fi
124 124
 
125 125
     HEAT_METADATA_PASTE_INI=$HEAT_CONF_DIR/heat-metadata-paste.ini
126
-    cp $HEAT_DIR/etc/heat-metadata-paste.ini $HEAT_METADATA_PASTE_INI
126
+    cp $HEAT_DIR/etc/heat/heat-metadata-paste.ini $HEAT_METADATA_PASTE_INI
127
+
128
+    # cloudwatch api
129
+    HEAT_API_CW_CONF=$HEAT_CONF_DIR/heat-api-cloudwatch.conf
130
+    cp $HEAT_DIR/etc/heat/heat-api-cloudwatch.conf $HEAT_API_CW_CONF
131
+    iniset $HEAT_API_CW_CONF DEFAULT debug True
132
+    inicomment $HEAT_API_CW_CONF DEFAULT log_file
133
+    iniset $HEAT_API_CW_CONF DEFAULT use_syslog $SYSLOG
134
+    iniset $HEAT_API_CW_CONF DEFAULT bind_host $HEAT_API_CW_HOST
135
+    iniset $HEAT_API_CW_CONF DEFAULT bind_port $HEAT_API_CW_PORT
136
+
137
+    if is_service_enabled rabbit; then
138
+        iniset $HEAT_API_CW_CONF DEFAULT rpc_backend heat.openstack.common.rpc.impl_kombu
139
+        iniset $HEAT_API_CW_CONF DEFAULT rabbit_password $RABBIT_PASSWORD
140
+        iniset $HEAT_API_CW_CONF DEFAULT rabbit_host $RABBIT_HOST
141
+    elif is_service_enabled qpid; then
142
+        iniset $HEAT_API_CW_CONF DEFAULT rpc_backend heat.openstack.common.rpc.impl_qpid
143
+    fi
127 144
 
145
+    HEAT_API_CW_PASTE_INI=$HEAT_CONF_DIR/heat-api-cloudwatch-paste.ini
146
+    cp $HEAT_DIR/etc/heat/heat-api-cloudwatch-paste.ini $HEAT_API_CW_PASTE_INI
147
+    iniset $HEAT_API_CW_PASTE_INI filter:authtoken auth_host $KEYSTONE_AUTH_HOST
148
+    iniset $HEAT_API_CW_PASTE_INI filter:authtoken auth_port $KEYSTONE_AUTH_PORT
149
+    iniset $HEAT_API_CW_PASTE_INI filter:authtoken auth_protocol $KEYSTONE_AUTH_PROTOCOL
150
+    iniset $HEAT_API_CW_PASTE_INI filter:authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0
151
+    iniset $HEAT_API_CW_PASTE_INI filter:authtoken admin_tenant_name $SERVICE_TENANT_NAME
152
+    iniset $HEAT_API_CW_PASTE_INI filter:authtoken admin_user heat
153
+    iniset $HEAT_API_CW_PASTE_INI filter:authtoken admin_password $SERVICE_PASSWORD
154
+    iniset $HEAT_API_CW_PASTE_INI filter:ec2authtoken auth_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0
155
+    iniset $HEAT_API_CW_PASTE_INI filter:ec2authtoken keystone_ec2_uri $KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v2.0/ec2tokens
128 156
 }
129 157
 
130 158
 # init_heat() - Initialize database
... ...
@@ -145,7 +168,8 @@ function install_heat() {
145 145
 # start_heat() - Start running processes, including screen
146 146
 function start_heat() {
147 147
     screen_it h-eng "cd $HEAT_DIR; bin/heat-engine --config-file=$HEAT_CONF_DIR/heat-engine.conf"
148
-    screen_it h-api "cd $HEAT_DIR; bin/heat-api --config-dir=$HEAT_CONF_DIR/heat-api.conf"
148
+    screen_it h-api-cfn "cd $HEAT_DIR; bin/heat-api-cfn --config-dir=$HEAT_CONF_DIR/heat-api-cfn.conf"
149
+    screen_it h-api-cw "cd $HEAT_DIR; bin/heat-api-cloudwatch --config-dir=$HEAT_CONF_DIR/heat-api-cloudwatch.conf"
149 150
     screen_it h-meta "cd $HEAT_DIR; bin/heat-metadata --config-dir=$HEAT_CONF_DIR/heat-metadata.conf"
150 151
 }
151 152
 
... ...
@@ -990,7 +990,7 @@ if is_service_enabled key; then
990 990
     ADMIN_PASSWORD=$ADMIN_PASSWORD SERVICE_TENANT_NAME=$SERVICE_TENANT_NAME SERVICE_PASSWORD=$SERVICE_PASSWORD \
991 991
     SERVICE_TOKEN=$SERVICE_TOKEN SERVICE_ENDPOINT=$SERVICE_ENDPOINT SERVICE_HOST=$SERVICE_HOST \
992 992
     S3_SERVICE_PORT=$S3_SERVICE_PORT KEYSTONE_CATALOG_BACKEND=$KEYSTONE_CATALOG_BACKEND \
993
-    DEVSTACK_DIR=$TOP_DIR ENABLED_SERVICES=$ENABLED_SERVICES HEAT_API_PORT=$HEAT_API_PORT \
993
+    DEVSTACK_DIR=$TOP_DIR ENABLED_SERVICES=$ENABLED_SERVICES HEAT_API_CFN_PORT=$HEAT_API_CFN_PORT \
994 994
         bash -x $FILES/keystone_data.sh
995 995
 
996 996
     # Set up auth creds now that keystone is bootstrapped