diff --git a/bin/heat-keystone-setup b/bin/heat-keystone-setup index 0c3d688d0f..b241442d6e 100755 --- a/bin/heat-keystone-setup +++ b/bin/heat-keystone-setup @@ -45,9 +45,17 @@ HEAT_USER=$(get_id keystone user-create --name=heat \ --tenant_id $SERVICE_TENANT \ --email=heat@example.com) echo HEAT_USER $HEAT_USER -keystone user-role-add --tenant_id $SERVICE_TENANT \ - --user_id $HEAT_USER \ - --role_id $ADMIN_ROLE + +ver=`nova-manage version list | cut -d . -f1` +if [ $ver -lt 2013 ]; then + keystone user-role-add --tenant_id $SERVICE_TENANT \ + --user $HEAT_USER \ + --role $ADMIN_ROLE +else + keystone user-role-add --tenant_id $SERVICE_TENANT \ + --user_id $HEAT_USER \ + --role_id $ADMIN_ROLE +fi keystone endpoint-create --region RegionOne --service_id $HEAT_SERVICE \ --publicurl 'http://localhost:8000/v1' \ diff --git a/docs/GettingStarted.rst b/docs/GettingStarted.rst index 441f2a5972..461b100315 100644 --- a/docs/GettingStarted.rst +++ b/docs/GettingStarted.rst @@ -127,9 +127,9 @@ Register heat with keystone :: - sudo -E ./tools/heat-keystone-service + sudo -E ./bin/heat-keystone-setup -Note: The ``-E`` option to ``sudo`` preserves the environment, specifically the keystone credentials, when ``heat-keystone-service`` is run as root. This script needs to run as root in order to read the admin password. +Note: The ``-E`` option to ``sudo`` preserves the environment, specifically the keystone credentials, when ``heat-keystone-setup`` is run as root. This script needs to run as root in order to read the admin password. Register a SSH key-pair with OpenStack Nova ------------------------------------------- diff --git a/tools/heat-keystone-service b/tools/heat-keystone-service deleted file mode 100755 index 842b9b1097..0000000000 --- a/tools/heat-keystone-service +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -set +e - -function get_id () { - echo `"$@" | grep ' id ' | awk '{print $4}'` -} - -KEYSTONE_CONF=${KEYSTONE_CONF:-/etc/keystone/keystone.conf} - -# Extract some info from Keystone's configuration file -if [[ -r "$KEYSTONE_CONF" ]]; then - CONFIG_SERVICE_TOKEN=$(sed 's/[[:space:]]//g' $KEYSTONE_CONF | grep ^admin_token= | cut -d'=' -f2) - CONFIG_ADMIN_PORT=$(sed 's/[[:space:]]//g' $KEYSTONE_CONF | grep ^admin_port= | cut -d'=' -f2) -fi - -export SERVICE_TOKEN=${SERVICE_TOKEN:-$CONFIG_SERVICE_TOKEN} -export SERVICE_ENDPOINT=${SERVICE_ENDPOINT:-http://127.0.0.1:${CONFIG_ADMIN_PORT:-35357}/v2.0} -if [[ -z "$SERVICE_TOKEN" ]]; then - echo "No service token found." - echo "Set SERVICE_TOKEN manually from keystone.conf admin_token." - exit 1 -fi - -ADMIN_ROLE=$(keystone role-list | grep '\badmin\b' | awk '{ print $2 }') -SERVICE_TENANT=$(keystone tenant-list | grep service | cut -d\| -f2) -SERVICE_PASSWORD=${SERVICE_PASSWORD:-$OS_PASSWORD} -if [[ "$SERVICE_PASSWORD" == "$OS_PASSWORD" ]]; then - echo "Using the OS_PASSWORD for the SERVICE_PASSWORD." - echo "I hope this works" -fi - -echo ADMIN_ROLE $ADMIN_ROLE -echo SERVICE_TENANT $SERVICE_TENANT -echo SERVICE_PASSWORD $SERVICE_PASSWORD -echo SERVICE_TOKEN $SERVICE_TOKEN - - -# Services -HEAT_SERVICE=$(get_id \ -keystone service-create --name=heat \ - --type=orchestration \ - --description="Heat Service") -HEAT_USER=$(get_id keystone user-create --name=heat \ - --pass="$SERVICE_PASSWORD" \ - --tenant_id $SERVICE_TENANT \ - --email=heat@example.com) -echo HEAT_USER $HEAT_USER -keystone user-role-add --tenant_id $SERVICE_TENANT \ - --user $HEAT_USER \ - --role $ADMIN_ROLE - -keystone endpoint-create --region RegionOne --service_id $HEAT_SERVICE \ - --publicurl 'http://localhost:8000/v1' \ - --adminurl 'http://localhost:8000/v1' \ - --internalurl 'http://localhost:8000/v1' - diff --git a/tools/heat-keystone-service-devstack b/tools/heat-keystone-service-devstack deleted file mode 100755 index 65dd7f52f9..0000000000 --- a/tools/heat-keystone-service-devstack +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash - -set +e - -function get_id () { - echo `"$@" | grep ' id ' | awk '{print $4}'` -} - -KEYSTONE_CONF=${KEYSTONE_CONF:-/etc/keystone/keystone.conf} - -# Extract some info from Keystone's configuration file -if [[ -r "$KEYSTONE_CONF" ]]; then - CONFIG_SERVICE_TOKEN=$(sed 's/[[:space:]]//g' $KEYSTONE_CONF | grep ^admin_token= | cut -d'=' -f2) - CONFIG_ADMIN_PORT=$(sed 's/[[:space:]]//g' $KEYSTONE_CONF | grep ^admin_port= | cut -d'=' -f2) -fi - -export SERVICE_TOKEN=${SERVICE_TOKEN:-$CONFIG_SERVICE_TOKEN} -export SERVICE_ENDPOINT=${SERVICE_ENDPOINT:-http://127.0.0.1:${CONFIG_ADMIN_PORT:-35357}/v2.0} -if [[ -z "$SERVICE_TOKEN" ]]; then - echo "No service token found." - echo "Set SERVICE_TOKEN manually from keystone.conf admin_token." - exit 1 -fi - -ADMIN_ROLE=$(keystone role-list | grep '\badmin\b' | awk '{ print $2 }') -SERVICE_TENANT=$(keystone tenant-list | grep service | cut -d\| -f2) -SERVICE_PASSWORD=${SERVICE_PASSWORD:-$OS_PASSWORD} -if [[ "$SERVICE_PASSWORD" == "$OS_PASSWORD" ]]; then - echo "Using the OS_PASSWORD for the SERVICE_PASSWORD." - echo "I hope this works" -fi - -echo ADMIN_ROLE $ADMIN_ROLE -echo SERVICE_TENANT $SERVICE_TENANT -echo SERVICE_PASSWORD $SERVICE_PASSWORD -echo SERVICE_TOKEN $SERVICE_TOKEN - - -# Services -HEAT_SERVICE=$(get_id \ -keystone service-create --name=heat \ - --type=orchestration \ - --description="Heat Service") -HEAT_USER=$(get_id keystone user-create --name=heat \ - --pass="$SERVICE_PASSWORD" \ - --tenant_id $SERVICE_TENANT \ - --email=heat@example.com) -echo HEAT_USER $HEAT_USER -keystone user-role-add --tenant_id $SERVICE_TENANT \ - --user_id $HEAT_USER \ - --role_id $ADMIN_ROLE -