DEV-196 feat: reverting changes done by create-service

master
Görz, Friedrich 4 years ago committed by Ketelsen, Sven
parent e4e9f7bd01
commit 2591c3368d

@ -1,2 +1,3 @@
[defaults]
inventory_plugins = ./inventory_plugins
callback_whitelist = profile_tasks

@ -65,6 +65,8 @@
include_role:
name: _digitalocean
tasks_from: _remove_dns
vars:
record_to_remove: '{{ inventory_hostname }}'
#############################################################
# Sending smardigo management message to process

@ -0,0 +1,99 @@
---
# Parameters:
# playbook inventory
# stage := the type of the stage (e.g. dev, int, qa, prod)
# tenant_id := (unique key for the tenant, e.g. customer)
# cluster_name := (business name for the cluster, e.g. product, department )
# cluster_size := (WIP node count for the cluster)
# cluster_services_str := (services to setup, e.g. 'connect,wordpress')
# smardigo message callback
# scope_id := (scope id of the management process)
# process_instance_id := (process instance id of the management process)
# smardigo_management_action := (smardigo management action anme of the management process)
#############################################################
# Creating inventory dynamically for given parameters
#############################################################
- hosts: localhost
connection: local
gather_facts: false
pre_tasks:
- name: "Check if ansible version is at least 2.10.x"
assert:
that:
- ansible_version.major >= 2
- ansible_version.minor >= 10
msg: "The ansible version has to be at least ({{ ansible_version.full }})"
- name: "Parsing cluster_services_str into cluster_services"
set_fact:
cluster_services: "{{ cluster_services_str | split(',') }}"
tasks:
- name: Add hosts
add_host:
name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-01"
groups:
- "stage_{{ stage }}"
- "{{ cluster_service }}"
- "{{ item }}"
changed_when: False
with_items: "{{ cluster_services }}"
when: item in ['connect']
- name: Add hosts
add_host:
name: "{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-01"
groups:
- "stage_{{ stage }}"
- "{{ cluster_service }}"
- "{{ item }}"
changed_when: False
with_items: "{{ cluster_services }}"
when: item in ['connect_wordpress']
#############################################################
# Setup services for created inventory
#############################################################
- hosts: "stage_{{ stage }}"
serial: "{{ serial_number | default(1) }}"
remote_user: root
pre_tasks:
- name: "Import autodiscover pre-tasks"
include_tasks: tasks/autodiscover_pre_tasks.yml
- name: "Delete DNS entry <{{ inventory_hostname }}> for <{{ domain }}>"
include_role:
name: _digitalocean
tasks_from: _remove_dns
vars:
record_to_remove: '{{ stage }}-{{ tenant_id }}-{{ cluster_name }}-01-{{ cluster_service }}'
#############################################################
# Sending smardigo management message to process
#############################################################
- hosts: "stage_{{ stage }}"
serial: "{{ serial_number | default(1) }}"
connection: local
gather_facts: false
run_once: true
post_tasks:
- name: "Sending smardigo management message <{{ smardigo_management_action }}> to <{{ scope_id }}/{{ process_instance_id }}>"
uri:
url: "{{ smardigo_management_url }}"
method: POST
body_format: json
body: "{{ lookup('template','smardigo-management-message.json.j2') }}"
headers:
accept: "*/*"
Content-Type: "application/json"
Smardigo-User-Token: "{{ smardigo_management_token }}"
status_code: [200]
retries: 5
delay: 5
delegate_to: 127.0.0.1

@ -1,8 +1,8 @@
---
- name: "Read DNS entry for <{{ inventory_hostname }}.{{ domain }}> from digitalocean"
- name: "Read DNS entry for <{{ record_to_remove }}.{{ domain }}> from digitalocean"
uri:
url: "https://api.digitalocean.com/v2/domains/{{ domain }}/records?name={{ inventory_hostname }}.{{ domain }}"
url: "https://api.digitalocean.com/v2/domains/{{ domain }}/records?name={{ record_to_remove }}.{{ domain }}"
headers:
accept: application/json
authorization: "Bearer {{ digitalocean_authentication_token }}"
@ -21,7 +21,7 @@
tags:
- update_dns
- name: "Parse DNS entry for <{{ inventory_hostname }}.{{ domain }}>"
- name: "Parse DNS entry for <{{ record_to_remove }}.{{ domain }}>"
set_fact:
domain_record: "{{ domain_records_response_json.domain_records | json_query(jmesquery) | first | default({'name': '-', 'ip': '-'}) }}"
vars:
@ -31,7 +31,7 @@
tags:
- update_dns
- name: Print DNS entry for <{{ inventory_hostname }}.{{ domain }}>
- name: Print DNS entry for <{{ record_to_remove }}.{{ domain }}>
debug:
msg: "{{ domain_record }}"
delegate_to: 127.0.0.1
@ -39,7 +39,7 @@
tags:
- update_dns
- name: "Delete DNS entry <{{ inventory_hostname }}> for <{{ domain }}>"
- name: "Delete DNS entry <{{ record_to_remove }}> for <{{ domain }}>"
uri:
method: DELETE
url: "https://api.digitalocean.com/v2/domains/{{ domain }}/records/{{ domain_record.id }}"
@ -49,7 +49,7 @@
status_code: 204
when:
domain_record.ip != '-'
and inventory_hostname != domain_record.ip
and record_to_remove != domain_record.ip
delegate_to: 127.0.0.1
become: false
tags:

@ -107,7 +107,7 @@
- name: "Reading public ip address for {{ inventory_hostname }}"
set_fact:
stage_server_ip: "{{ hetzner_servers.json.servers | json_query(querystr) | first }}"
stage_server_ip: "{{ hetzner_servers.json.servers | json_query(querystr) | first | default('') }}"
vars:
querystr: "[?name=='{{ inventory_hostname }}'].public_net.ipv4.ip"
delegate_to: 127.0.0.1

Loading…
Cancel
Save