
The new role adds DNS entries, using TripleO's hosts_entry var, which contains host entries in a format similar to /etc/hosts. Change-Id: I91b8d1e67f381da8abe2317f62327e8a5ed4a367
68 lines
2.3 KiB
YAML
68 lines
2.3 KiB
YAML
---
|
|
# Copyright 2020 Red Hat, Inc.
|
|
# All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
|
|
- name: set record_value and record_name
|
|
set_fact:
|
|
record_value: "{{ item.split()[0] }}"
|
|
record_name: "{{ item.split()[1]|regex_replace('(.*).' + cloud_domain + '$', '\\1') }}"
|
|
|
|
- name: set record type
|
|
set_fact:
|
|
record_type: "{{ 'A' if record_value| ipv4 else 'AAAA' }}"
|
|
|
|
- name: get reverse record data
|
|
set_fact:
|
|
reverse_addr: "{{ record_value | ipaddr('revdns') }}"
|
|
|
|
- name: set reverse record entries for ipv4
|
|
set_fact:
|
|
reverse_record_zone: "{{ reverse_addr.split('.', tripleo_ipa_ptr_zone_split_ipv4)[-1] }}"
|
|
reverse_record_name: "{{ '.'.join(reverse_addr.split('.', tripleo_ipa_ptr_zone_split_ipv4)[:-1]) }}"
|
|
when: record_type == 'A'
|
|
|
|
- name: set reverse record entries for ipv6
|
|
set_fact:
|
|
reverse_record_zone: "{{ reverse_addr.split('.', tripleo_ipa_ptr_zone_split_ipv6)[-1] }}"
|
|
reverse_record_name: "{{ '.'.join(reverse_addr.split('.', tripleo_ipa_ptr_zone_split_ipv6)[:-1]) }}"
|
|
when: record_type == 'AAAA'
|
|
|
|
- name: add forward dns record
|
|
ipa_dnsrecord:
|
|
zone_name: "{{ cloud_domain }}"
|
|
record_name: "{{ record_name }}"
|
|
record_type: "{{ record_type }}"
|
|
record_value: "{{ record_value }}"
|
|
|
|
- name: add reverse record dns zone
|
|
ipa_dnszone:
|
|
zone_name: "{{ reverse_record_zone }}"
|
|
register: reverse_zone_result
|
|
failed_when:
|
|
- "'zone' not in reverse_zone_result"
|
|
- "'already exists in DNS' not in reverse_zone_result.msg"
|
|
|
|
- name: add reverse dns record
|
|
ipa_dnsrecord:
|
|
zone_name: "{{ reverse_record_zone }}"
|
|
record_name: "{{ reverse_record_name }}"
|
|
record_value: "{{ record_name }}.{{ cloud_domain }}."
|
|
record_type: "PTR"
|
|
register: reverse_record_result
|
|
failed_when:
|
|
- "'record' not in reverse_record_result"
|
|
- "'DNS zone not found' not in reverse_record_result.msg"
|