Merge "Fix marconi's storage setting for MongoDB"
diff --git a/files/keystone_data.sh b/files/keystone_data.sh
index 9a34c76..fc1e813 100755
--- a/files/keystone_data.sh
+++ b/files/keystone_data.sh
@@ -53,41 +53,6 @@
--role ResellerAdmin
fi
-# Heat
-if [[ "$ENABLED_SERVICES" =~ "heat" ]]; then
- keystone user-create --name=heat \
- --pass="$SERVICE_PASSWORD" \
- --tenant $SERVICE_TENANT_NAME \
- --email=heat@example.com
- keystone user-role-add --tenant $SERVICE_TENANT_NAME \
- --user heat \
- --role service
- # heat_stack_user role is for users created by Heat
- keystone role-create --name heat_stack_user
- if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then
- keystone service-create \
- --name=heat-cfn \
- --type=cloudformation \
- --description="Heat CloudFormation Service"
- keystone endpoint-create \
- --region RegionOne \
- --service heat-cfn \
- --publicurl "http://$SERVICE_HOST:$HEAT_API_CFN_PORT/v1" \
- --adminurl "http://$SERVICE_HOST:$HEAT_API_CFN_PORT/v1" \
- --internalurl "http://$SERVICE_HOST:$HEAT_API_CFN_PORT/v1"
- keystone service-create \
- --name=heat \
- --type=orchestration \
- --description="Heat Service"
- keystone endpoint-create \
- --region RegionOne \
- --service heat \
- --publicurl "http://$SERVICE_HOST:$HEAT_API_PORT/v1/\$(tenant_id)s" \
- --adminurl "http://$SERVICE_HOST:$HEAT_API_PORT/v1/\$(tenant_id)s" \
- --internalurl "http://$SERVICE_HOST:$HEAT_API_PORT/v1/\$(tenant_id)s"
- fi
-fi
-
# Glance
if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then
keystone user-create \
diff --git a/lib/heat b/lib/heat
index d0c0302..42d1057 100644
--- a/lib/heat
+++ b/lib/heat
@@ -197,8 +197,49 @@
}
# create_heat_accounts() - Set up common required heat accounts
-# Note this is in addition to what is in files/keystone_data.sh
function create_heat_accounts {
+ # migrated from files/keystone_data.sh
+ SERVICE_TENANT=$(openstack project list | awk "/ $SERVICE_TENANT_NAME / { print \$2 }")
+ ADMIN_ROLE=$(openstack role list | awk "/ admin / { print \$2 }")
+
+ HEAT_USER=$(openstack user create \
+ heat \
+ --password "$SERVICE_PASSWORD" \
+ --project $SERVICE_TENANT \
+ --email heat@example.com \
+ | grep " id " | get_field 2)
+ openstack role add \
+ $ADMIN_ROLE \
+ --project $SERVICE_TENANT \
+ --user $HEAT_USER
+ if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then
+ HEAT_SERVICE=$(openstack service create \
+ heat \
+ --type=orchestration \
+ --description="Heat Orchestration Service" \
+ | grep " id " | get_field 2)
+ openstack endpoint create \
+ $HEAT_SERVICE \
+ --region RegionOne \
+ --publicurl "$SERVICE_PROTOCOL://$HEAT_API_HOST:$HEAT_API_PORT/v1/\$(tenant_id)s" \
+ --adminurl "$SERVICE_PROTOCOL://$HEAT_API_HOST:$HEAT_API_PORT/v1/\$(tenant_id)s" \
+ --internalurl "$SERVICE_PROTOCOL://$HEAT_API_HOST:$HEAT_API_PORT/v1/\$(tenant_id)s"
+ HEAT_CFN_SERVICE=$(openstack service create \
+ heat \
+ --type=cloudformation \
+ --description="Heat CloudFormation Service" \
+ | grep " id " | get_field 2)
+ openstack endpoint create \
+ $HEAT_CFN_SERVICE \
+ --region RegionOne \
+ --publicurl "$SERVICE_PROTOCOL://$HEAT_API_CFN_HOST:$HEAT_API_CFN_PORT/v1" \
+ --adminurl "$SERVICE_PROTOCOL://$HEAT_API_CFN_HOST:$HEAT_API_CFN_PORT/v1" \
+ --internalurl "$SERVICE_PROTOCOL://$HEAT_API_CFN_HOST:$HEAT_API_CFN_PORT/v1"
+ fi
+
+ # heat_stack_user role is for users created by Heat
+ openstack role create heat_stack_user
+
# Note we have to pass token/endpoint here because the current endpoint and
# version negotiation in OSC means just --os-identity-api-version=3 won't work
KS_ENDPOINT_V3="$KEYSTONE_SERVICE_PROTOCOL://$KEYSTONE_SERVICE_HOST:$KEYSTONE_SERVICE_PORT/v3"
diff --git a/lib/ironic b/lib/ironic
index 4e5edc9..b346de1 100644
--- a/lib/ironic
+++ b/lib/ironic
@@ -124,7 +124,7 @@
cp $IRONIC_DIR/etc/ironic/rootwrap.conf $IRONIC_ROOTWRAP_CONF
cp -r $IRONIC_DIR/etc/ironic/rootwrap.d $IRONIC_CONF_DIR
- iniset $IRONIC_CONF DEFAULT rootwrap_config $IRONIC_ROOTWRAP_CONF
+ iniset $IRONIC_CONF_FILE DEFAULT rootwrap_config $IRONIC_ROOTWRAP_CONF
}
# create_ironic_cache_dir() - Part of the init_ironic() process
diff --git a/lib/neutron_plugins/cisco b/lib/neutron_plugins/cisco
index 7728eb1..a1b089e 100644
--- a/lib/neutron_plugins/cisco
+++ b/lib/neutron_plugins/cisco
@@ -23,7 +23,7 @@
# Specify ncclient package information
NCCLIENT_DIR=$DEST/ncclient
NCCLIENT_VERSION=${NCCLIENT_VERSION:-0.3.1}
-NCCLIENT_REPO=${NCCLIENT_REPO:-${GIT_BASE}/CiscoSystems/ncclient.git}
+NCCLIENT_REPO=${NCCLIENT_REPO:-git://github.com/CiscoSystems/ncclient.git}
NCCLIENT_BRANCH=${NCCLIENT_BRANCH:-master}
# This routine put a prefix on an existing function name
diff --git a/lib/nova_plugins/hypervisor-docker b/lib/nova_plugins/hypervisor-docker
index cdbc4d1..fd3c4fe 100644
--- a/lib/nova_plugins/hypervisor-docker
+++ b/lib/nova_plugins/hypervisor-docker
@@ -57,6 +57,18 @@
iniset $GLANCE_API_CONF DEFAULT container_formats ami,ari,aki,bare,ovf,docker
}
+# is_docker_running - Return 0 (true) if Docker is running, otherwise 1
+function is_docker_running {
+ local docker_pid
+ if [ -f "$DOCKER_PID_FILE" ]; then
+ docker_pid=$(cat "$DOCKER_PID_FILE")
+ fi
+ if [[ -z "$docker_pid" ]] || ! ps -p "$docker_pid" | grep [d]ocker; then
+ return 1
+ fi
+ return 0
+}
+
# install_nova_hypervisor() - Install external components
function install_nova_hypervisor {
# So far this is Ubuntu only
@@ -69,19 +81,15 @@
die $LINENO "Docker is not installed. Please run tools/docker/install_docker.sh"
fi
- local docker_pid
- read docker_pid <$DOCKER_PID_FILE
- if [[ -z $docker_pid ]] || ! ps -p $docker_pid | grep [d]ocker; then
+ if ! (is_docker_running); then
die $LINENO "Docker not running"
fi
}
# start_nova_hypervisor - Start any required external services
function start_nova_hypervisor {
- local docker_pid
- read docker_pid <$DOCKER_PID_FILE
- if [[ -z $docker_pid ]] || ! ps -p $docker_pid | grep [d]ocker; then
- die $LINENO "Docker not running, start the daemon"
+ if ! (is_docker_running); then
+ die $LINENO "Docker not running"
fi
# Start the Docker registry container
diff --git a/stack.sh b/stack.sh
index ab1e8fe..c990a1c 100755
--- a/stack.sh
+++ b/stack.sh
@@ -934,8 +934,7 @@
ADMIN_PASSWORD=$ADMIN_PASSWORD SERVICE_TENANT_NAME=$SERVICE_TENANT_NAME SERVICE_PASSWORD=$SERVICE_PASSWORD \
SERVICE_TOKEN=$SERVICE_TOKEN SERVICE_ENDPOINT=$SERVICE_ENDPOINT SERVICE_HOST=$SERVICE_HOST \
S3_SERVICE_PORT=$S3_SERVICE_PORT KEYSTONE_CATALOG_BACKEND=$KEYSTONE_CATALOG_BACKEND \
- DEVSTACK_DIR=$TOP_DIR ENABLED_SERVICES=$ENABLED_SERVICES HEAT_API_CFN_PORT=$HEAT_API_CFN_PORT \
- HEAT_API_PORT=$HEAT_API_PORT \
+ DEVSTACK_DIR=$TOP_DIR ENABLED_SERVICES=$ENABLED_SERVICES \
bash -x $FILES/keystone_data.sh
# Set up auth creds now that keystone is bootstrapped