OTC Connect Cheat Sheet¶
How to connect to the Open Telekom Cloud¶
Install prerequisites as root on your Ubuntu 16.04 machine:
Using requirements file in ansible-otc repo:
apt-get update
apt-get -y install curl git python-pip libs3-2 jq
pip install pip -U
pip install -r https://raw.githubusercontent.com/eumel8/ansible-otc/dev/requirements.txt
Alternate way:
apt-get update
apt-get -y install curl git python-openstackclient python-pip python-jmespath python-netaddr libs3-2 jq
pip install pip -U
pip install python-otcclient
pip install ansible==2.5.0.0
Follow instruction as normal user. You need always username, password, domain data.
1. Openstack-Client¶
source:
mkdir -p ~/.config/openstack
touch ~/.config/openstack/clouds.yml
chmod 600 ~/.config/openstack/clouds.yml
vi ~/.config/openstack/clouds.yml
clouds.yml:
clouds:
otc.10000:
auth:
auth_url: https://iam.eu-de.otc.t-systems.com:443/v3
username: xxxxxx
password: xxxxxx
project_name: eu-de
project_domain_name: Default
user_domain_name: OTC-EU-DE-00000000001000010000
region_name: eu-de
identity_api_version: "3"
otc.19720:
auth:
auth_url: https://iam.eu-de.otc.t-systems.com:443/v3
username: xxxxx
password: xxxxx
project_name: eu-de
project_domain_name: Default
user_domain_name: OTC-EU-DE-00000000001000019720
region_name: eu-de
identity_api_version: "3"
For multiple mandants you can use different chapter. At least you need per chapter username, password,user_domain_name. Region is limited to eu-de but can also adjust to other regions
Test connection:
openstack --os-cloud otc.19720 server list
2. Python OTC-Client¶
source:
mkdir -p ~/.otc
touch ~/.otc/config
chmod 600 ~/.otc/config
vi ~/.otc/config
config:
source:
[otc]
# otc_access_key_id = yyyyy
# otc_secret_access_key = yyyyy
username = xxxxx
apikey = xxxxx
domain = OTC-EU-DE-00000000001000019720
otc_access_key_id/otc_secret_access_key are not necessary. apikey means password
Test connection:
otc ecs describe_instances
3. Bash OTC-Tools¶
source:
git clone https://github.com/OpenTelekomCloud/otc-tools.git
touch ~/.otc_env.sh
chmod 600 ~/.otc_env.sh
vi ~/.otc_env.sh
Variables are set in shell env or in .otc_env.sh
source:
OS_USERNAME=xxxxx
OS_PASSWORD=xxxxx
OS_USER_DOMAIN_NAME=OTC-EU-DE-00000000001000019720
OS_PROJECT_NAME=eu-de
OS_AUTH_URL=https://iam.eu-de.otc.t-systems.com/v3
Test connection:
cd otc-tools
./otc.sh ecs list
cd ~
4. Ansible for Open Telekom Cloud¶
source:
git clone https://github.com/eumel8/ansible-otc.git
cd ansible-otc/playbooks
cp vars/secrets.yml vars/_secrets.yml
ansible-vault edit vars/_secrets.yml --vault-password-file vars/vaultpass.txt
Adjust these lines:
USERNAME: "xxxxx"
PASSWORD: "xxxxx"
DOMAIN: "OTC-EU-DE-00000000001000019720"
Test connection:
./grole otc_ecs; ansible-playbook roles.yml -e "localaction=list" --vault-password-file vaultpass.txt