summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomáš Levora <t.levora@partner.samsung.com>2018-12-19 15:47:04 +0100
committerTomáš Levora <t.levora@partner.samsung.com>2018-12-19 15:50:00 +0100
commit290bf4088ac26232076f0eec1255d89687399539 (patch)
treef48dcce564e15eee8478b6b63ff63d3bbde3ae9c
parent788be5eb73d8213a450050e149cfa34d670e4ffa (diff)
Add ansible role for dns simulation
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 <t.levora@partner.samsung.com>
-rw-r--r--ansible/roles/dns/handlers/main.yml14
-rw-r--r--ansible/roles/dns/tasks/main.yml36
-rw-r--r--ansible/roles/dns/templates/simulated_hosts.j23
3 files changed, 53 insertions, 0 deletions
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 %}