summaryrefslogtreecommitdiffstats
path: root/roles/openstack-stack/tasks
diff options
context:
space:
mode:
authorBogdan Dobrelya <bdobreli@redhat.com>2017-06-19 12:24:23 +0200
committerBogdan Dobrelya <bdobreli@redhat.com>2017-06-30 14:12:54 +0200
commit1409e0a52d45b7781b3a23f3f7eaa8fe09d26cd6 (patch)
tree723d310d605e001d5e36872fc258cb8a73f051a5 /roles/openstack-stack/tasks
parent47f262e1d3350786e5890ef85cec212b298df50b (diff)
downloadopenshift-1409e0a52d45b7781b3a23f3f7eaa8fe09d26cd6.tar.gz
openshift-1409e0a52d45b7781b3a23f3f7eaa8fe09d26cd6.tar.bz2
openshift-1409e0a52d45b7781b3a23f3f7eaa8fe09d26cd6.tar.xz
openshift-1409e0a52d45b7781b3a23f3f7eaa8fe09d26cd6.zip
Persist DNS configuration for nodes for openstack provider
* Firstly, provision a Heat stack with given public resolvers. * After the DNS node configured as an authoritative server, switch the Heat stack's Neutron subnet to that resolver (private_dns_server) the way it to become the first entry pushed into the hosts /etc/resolv.conf. It will be serving the cluster domain requests for OpenShift nodes and workloads. * Drop post-provision /etc/reslov.conf nameserver hacks as not needed anymore. * Fix dns floating IPs output and add the priv IPs output as well. * Update docs, clarify localhost vs servers requirements, add required Network Manager setup step. * Use post-provision task names instead of comments. Signed-off-by: Bogdan Dobrelya <bdobreli@redhat.com>
Diffstat (limited to 'roles/openstack-stack/tasks')
-rw-r--r--roles/openstack-stack/tasks/main.yml5
-rw-r--r--roles/openstack-stack/tasks/subnet_update_dns_servers.yaml8
2 files changed, 13 insertions, 0 deletions
diff --git a/roles/openstack-stack/tasks/main.yml b/roles/openstack-stack/tasks/main.yml
index 71c7bbe0d..a53e6350b 100644
--- a/roles/openstack-stack/tasks/main.yml
+++ b/roles/openstack-stack/tasks/main.yml
@@ -35,6 +35,11 @@
template: "{{ stack_template_path }}"
wait: yes
+# NOTE(bogdando) OS::Neutron::Subnet doesn't support live updates for
+# dns_nameservers, so we can't do that for the "create stack" task.
+- include: subnet_update_dns_servers.yaml
+ when: private_dns_server is defined
+
- name: cleanup temp files
file:
path: "{{ stack_template_pre.path }}"
diff --git a/roles/openstack-stack/tasks/subnet_update_dns_servers.yaml b/roles/openstack-stack/tasks/subnet_update_dns_servers.yaml
new file mode 100644
index 000000000..be4f07b97
--- /dev/null
+++ b/roles/openstack-stack/tasks/subnet_update_dns_servers.yaml
@@ -0,0 +1,8 @@
+---
+- name: Live update the subnet's DNS servers
+ os_subnet:
+ name: openshift-ansible-{{ stack_name }}-subnet
+ network_name: openshift-ansible-{{ stack_name }}-net
+ state: present
+ use_default_subnetpool: yes
+ dns_nameservers: "{{ [private_dns_server|default(public_dns_nameservers[0])]|union(public_dns_nameservers)|unique }}"