Convert a keystone.rc from V2 to V3

Everything seems to produce V2 versions of the necessary variables for Keystone, and I am more and more dependant on the V3 setup. Converting from one to the other is trivial, especially if the setup uses the default domain.

#!/bin/bash
if [ "$#" -ne 1 ]
then
    echo "Usage $0 <keystone.rc>"
    exit 1
fi

. $1
#clear the old environment
NEW_OS_AUTH_URL=`echo $OS_AUTH_URL | sed 's!v2.0!v3!'`

cat << EOF
for key in \$( set | sed 's!=.*!!g'  | grep -E '^OS_') ; do unset $key ; done
export OS_AUTH_URL=$NEW_OS_AUTH_URL
export OS_USERNAME=$OS_USERNAME
export OS_PASSWORD=$OS_PASSWORD
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_PROJECT_NAME=$OS_TENANT_NAME
export OS_IDENTITY_API_VERSION=3
EOF

And to run it:

[stack@undercloud ~]$ ./v3fromv2.sh stackrc > stackrc.v3 
[stack@undercloud ~]$ . ./stackrc.v3 
[stack@undercloud ~]$ openstack domain list
+----------------------------------+------------+---------+--------------------+
| ID                               | Name       | Enabled | Description        |
+----------------------------------+------------+---------+--------------------+
| d702b42eb3694279bdd0cc74a848a103 | heat_stack | True    |                    |
| default                          | Default    | True    | The default domain |
+----------------------------------+------------+---------+--------------------+

Leave a Reply

Your email address will not be published. Required fields are marked *