Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- create-rc() {
- [[ -f ~/admin-openrc.sh ]] && rm ~/admin-openrc.sh
- printf "\e[2GCreating Openstack RC file...\n"
- #Clear Openstack variables
- for var in $(set -o posix; set|/bin/grep -oE '^OS_[^=]+');do unset ${var};done
- #Assuming Keystone API 3
- unset OS_TENANT_ID
- unset OS_TENANT_NAME
- export OS_INTERFACE=public
- export OS_IDENTITY_API_VERSION=3
- export OS_AUTH_VERSION=3
- if [[ $(juju config keystone vip) ]];then
- export OS_AUTH_URL="http://$(juju config keystone vip):5000/v3"
- else
- export OS_AUTH_URL="http://$(juju run --unit keystone/0 'unit-get public-address'):5000/v3"
- fi
- export OS_USERNAME="$(juju 2>/dev/null config keystone admin-user)"
- export OS_DOMAIN_NAME="${OS_USERNAME}_domain"
- export OS_USER_DOMAIN_NAME="${OS_USERNAME}_domain"
- export OS_PROJECT_NAME="${OS_USERNAME}"
- export OS_PASSWORD="$(juju 2>/dev/null config keystone admin-password)"
- export OS_REGION_NAME="$(juju 2>/dev/null config keystone region)"
- export OS_USER_ID="$(openstack user show ${OS_USERNAME} -f value -cid)"
- export OS_USER_DOMAIN_ID="$(openstack user show ${OS_USERNAME} -f value -cdomain_id)"
- export OS_DOMAIN_ID=${OS_USER_DOMAIN_ID}
- export OS_PROJECT_DOMAIN_ID=${OS_USER_DOMAIN_ID}
- export OS_PROJECT_ID="$(openstack project list --domain ${OS_USER_DOMAIN_NAME} --user ${OS_USERNAME} -f value -cID)"
- export DEFAULT_SEC_GROUP="$(openstack security group list --project ${OS_PROJECT_ID} -fvalue -cID)"
- unset OS_DOMAIN_NAME OS_DOMAIN_ID
- printf "\e[2GWriting Openstack RC file...(~/admin-openrc.sh)\n"
- cat <<EOF|tee 1>/dev/null ~/admin-openrc.sh
- for var in \$(set -o posix; set|/bin/grep -oE '"'"'^OS_[^=]+'"'"');do unset ${var};done
- EOF
- { set|/bin/grep -oE '^OS_[^$]+'|sed 's/^.*$/export &/g;1s/^/#!\/usr\/bin\/env bash\n/;/HYPERVISORS/d'|tee -a 1>/dev/null ~/admin-openrc.sh; }
- [[ $? -eq 0 && -f ~/admin-openrc.sh ]] && { printf "\e[2GSourcing Openstack RC file...\n";source ~/admin-openrc.sh; }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement