dns

Role Documentation

Welcome to the “dns” role documentation.

Role Defaults

This section highlights all of the defaults and variables set within the “dns” role.

server_to_lookup: example.com

Role Variables: main.yml

metadata:
  description: 'Verify that the DNS resolution works

    '
  groups:
  - pre-deployment
  name: Verify DNS

Molecule Scenarios

Molecule is being used to test the “dns” role. The following section highlights the drivers in service and provides an example playbook showing how the role is leveraged.

Scenario: default

Example default configuration
driver:
  name: docker
lint:
  enabled: false
log: true
platforms:
- easy_install:
  - pip
  environment:
    http_proxy: '{{ lookup(''env'', ''http_proxy'') }}'
    https_proxy: '{{ lookup(''env'', ''https_proxy'') }}'
  hostname: centos7
  image: centos:7
  name: centos7
  pkg_extras: python-setuptools
- environment:
    http_proxy: '{{ lookup(''env'', ''http_proxy'') }}'
    https_proxy: '{{ lookup(''env'', ''https_proxy'') }}'
  hostname: fedora28
  image: fedora:28
  name: fedora28
  pkg_extras: python*-setuptools
provisioner:
  env:
    ANSIBLE_STDOUT_CALLBACK: yaml
  log: true
  name: ansible
scenario:
  test_sequence:
  - destroy
  - create
  - prepare
  - converge
  - verify
  - destroy
verifier:
  lint:
    name: flake8
  name: testinfra
Example default playbook
- hosts: all
  name: Converge
  tasks:
  - include_role:
      name: dns
    name: Should get a success
    vars:
      server_to_lookup: www.redhat.com
  - block:
    - include_role:
        name: dns
      vars:
        server_to_lookup: role.dns.domain.do-not.exists
    name: Should properly fail
    rescue:
    - meta: clear_host_errors
      name: Clear host errors
    - debug:
        msg: The validation works! End the playbook run
    - meta: end_play
      name: End play
  - fail:
      msg: 'The dns role should have detected a faulty DNS configuration

        '
    name: Fail the test