From bb8d2f27c6989e3037afa98ad547bae590888216 Mon Sep 17 00:00:00 2001 From: Sebastian Haderecker Date: Sat, 13 Feb 2021 17:22:49 +0100 Subject: [PATCH] Split network and vm creation into own roles --- cloud/ansible/openstack/deploy_tpot.yaml | 3 ++- .../{deploy => create_net}/tasks/main.yaml | 25 ------------------- .../openstack/roles/create_vm/tasks/main.yaml | 24 ++++++++++++++++++ .../{deploy => create_vm}/vars/main.yaml | 2 +- 4 files changed, 27 insertions(+), 27 deletions(-) rename cloud/ansible/openstack/roles/{deploy => create_net}/tasks/main.yaml (50%) create mode 100644 cloud/ansible/openstack/roles/create_vm/tasks/main.yaml rename cloud/ansible/openstack/roles/{deploy => create_vm}/vars/main.yaml (83%) diff --git a/cloud/ansible/openstack/deploy_tpot.yaml b/cloud/ansible/openstack/deploy_tpot.yaml index 7e58209b..9bcc22a8 100644 --- a/cloud/ansible/openstack/deploy_tpot.yaml +++ b/cloud/ansible/openstack/deploy_tpot.yaml @@ -7,7 +7,8 @@ - name: Deploy instance hosts: localhost roles: - - deploy + - create_net + - create_vm - name: Install T-Pot on new instance hosts: tpot diff --git a/cloud/ansible/openstack/roles/deploy/tasks/main.yaml b/cloud/ansible/openstack/roles/create_net/tasks/main.yaml similarity index 50% rename from cloud/ansible/openstack/roles/deploy/tasks/main.yaml rename to cloud/ansible/openstack/roles/create_net/tasks/main.yaml index dda25d7b..970df2d0 100644 --- a/cloud/ansible/openstack/roles/deploy/tasks/main.yaml +++ b/cloud/ansible/openstack/roles/create_net/tasks/main.yaml @@ -1,7 +1,3 @@ -- name: Generate T-Pot name - set_fact: - tpot_name: "t-pot-ansible-{{ lookup('password', '/dev/null chars=ascii_lowercase,digits length=6') }}" - - name: Create security group os_security_group: cloud: open-telekom-cloud @@ -35,24 +31,3 @@ name: router-tpot interfaces: - subnet-tpot - -- name: Launch an instance - os_server: - cloud: open-telekom-cloud - name: "{{ tpot_name.stdout }}" - availability_zone: "{{ availability_zone }}" - image: "{{ image }}" - boot_from_volume: yes - volume_size: "{{ volume_size }}" - key_name: "{{ key_name }}" - timeout: 200 - flavor: "{{ flavor }}" - security_groups: sg-tpot-any - network: network-tpot - register: tpot - -- name: Add instance to inventory - add_host: - hostname: "{{ tpot_name.stdout }}" - ansible_host: "{{ tpot.server.public_v4 }}" - groups: tpot diff --git a/cloud/ansible/openstack/roles/create_vm/tasks/main.yaml b/cloud/ansible/openstack/roles/create_vm/tasks/main.yaml new file mode 100644 index 00000000..c04be549 --- /dev/null +++ b/cloud/ansible/openstack/roles/create_vm/tasks/main.yaml @@ -0,0 +1,24 @@ +- name: Generate T-Pot name + set_fact: + tpot_name: "t-pot-ansible-{{ lookup('password', '/dev/null chars=ascii_lowercase,digits length=6') }}" + +- name: Create instance + os_server: + cloud: open-telekom-cloud + name: "{{ tpot_name.stdout }}" + availability_zone: "{{ availability_zone }}" + image: "{{ image }}" + boot_from_volume: yes + volume_size: "{{ volume_size }}" + key_name: "{{ key_name }}" + timeout: 200 + flavor: "{{ flavor }}" + security_groups: sg-tpot-any + network: network-tpot + register: tpot + +- name: Add instance to inventory + add_host: + hostname: "{{ tpot_name.stdout }}" + ansible_host: "{{ tpot.server.public_v4 }}" + groups: tpot diff --git a/cloud/ansible/openstack/roles/deploy/vars/main.yaml b/cloud/ansible/openstack/roles/create_vm/vars/main.yaml similarity index 83% rename from cloud/ansible/openstack/roles/deploy/vars/main.yaml rename to cloud/ansible/openstack/roles/create_vm/vars/main.yaml index d2b0664a..cd56d25f 100644 --- a/cloud/ansible/openstack/roles/deploy/vars/main.yaml +++ b/cloud/ansible/openstack/roles/create_vm/vars/main.yaml @@ -2,4 +2,4 @@ availability_zone: eu-de-03 image: Standard_Debian_10_latest volume_size: 128 key_name: your-KeyPair -flavor: s2.medium.8 +flavor: s3.medium.8