From 290bf4088ac26232076f0eec1255d89687399539 Mon Sep 17 00:00:00 2001 From: Tomáš Levora Date: Wed, 19 Dec 2018 15:47:04 +0100 Subject: Add ansible role for dns simulation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adding role to simulate domain names for offline installation from private nexus repositories Issue-ID: OOM-1551 Change-Id: Ia3fe274e95ef078332627af9229195bd6e9a667d Signed-off-by: Tomáš Levora --- ansible/roles/dns/handlers/main.yml | 14 ++++++++++ ansible/roles/dns/tasks/main.yml | 36 ++++++++++++++++++++++++++ ansible/roles/dns/templates/simulated_hosts.j2 | 3 +++ 3 files changed, 53 insertions(+) create mode 100644 ansible/roles/dns/handlers/main.yml create mode 100644 ansible/roles/dns/tasks/main.yml create mode 100644 ansible/roles/dns/templates/simulated_hosts.j2 (limited to 'ansible/roles') diff --git a/ansible/roles/dns/handlers/main.yml b/ansible/roles/dns/handlers/main.yml new file mode 100644 index 00000000..ac3209dc --- /dev/null +++ b/ansible/roles/dns/handlers/main.yml @@ -0,0 +1,14 @@ +--- +- name: Restart dnsmasq container + docker_container: + name: dnsmasq + image: andyshinn/dnsmasq:2.76 + command: -H /simulated_hosts --log-facility=- + capabilities: NET_ADMIN + volumes: + - "{{ app_data_path }}/cfg/simulated_hosts:/simulated_hosts:ro" + ports: + - "53:53/tcp" + - "53:53/udp" + state: started + restart_policy: unless-stopped diff --git a/ansible/roles/dns/tasks/main.yml b/ansible/roles/dns/tasks/main.yml new file mode 100644 index 00000000..2bc05648 --- /dev/null +++ b/ansible/roles/dns/tasks/main.yml @@ -0,0 +1,36 @@ +--- +- name: Ensure cfg directory exist + file: + path: "{{ app_data_path }}/cfg" + state: directory + +- name: Create simulated hostnames file + template: + src: simulated_hosts.j2 + dest: "{{ app_data_path }}/cfg/simulated_hosts" + notify: Restart dnsmasq container + +- name: Load dnsmasq container + docker_image: + name: andyshinn/dnsmasq:2.76 + load_path: "{{ app_data_path }}/offline_data/docker_images_infra/andyshinn_dnsmasq_2.76.tar" + state: present + timeout: 120 + notify: Restart dnsmasq container + +- name: Start dnsmasq container + docker_container: + name: dnsmasq + network_mode: host + image: andyshinn/dnsmasq:2.76 + command: -H /simulated_hosts --log-facility=- + capabilities: NET_ADMIN + dns_servers: + - 127.0.0.1 + volumes: + - "{{ app_data_path }}/cfg/simulated_hosts:/simulated_hosts:ro" + ports: + - "53:53/tcp" + - "53:53/udp" + state: started + restart_policy: unless-stopped diff --git a/ansible/roles/dns/templates/simulated_hosts.j2 b/ansible/roles/dns/templates/simulated_hosts.j2 new file mode 100644 index 00000000..637aef6a --- /dev/null +++ b/ansible/roles/dns/templates/simulated_hosts.j2 @@ -0,0 +1,3 @@ +{% for host in all_simulated_hosts -%} + {{ ansible_host }} {{ host }} +{% endfor %} -- cgit 1.2.3-korg