Getting started

By default debops.dhcpd installs the ISC DHCP server with some default configuration. The server will not be authoritative, and will have a default subnet configuration taken from ansible_default_ipv4 and ansible_default_ipv6. Dynamic lease assignment will not work until you configure subnets with valid address ranges.

Example playbook

If you are using this role without DebOps, here's an example Ansible playbook that uses the debops.dhcpd role:

---

- name: Manage ISC DHCP server
  collections: [ 'debops.debops', 'debops.roles01',
                 'debops.roles02', 'debops.roles03' ]
  hosts: [ 'debops_service_dhcpd' ]
  become: True

  environment: '{{ inventory__environment | d({})
                   | combine(inventory__group_environment | d({}))
                   | combine(inventory__host_environment  | d({})) }}'

  roles:

    - role: etc_services
      tags: [ 'role::etc_services', 'skip::etc_services' ]
      etc_services__dependent_list:
        - '{{ dhcpd__etc_services__dependent_list }}'

    - role: ferm
      tags: [ 'role::ferm', 'skip::ferm' ]
      ferm__dependent_rules:
        - '{{ dhcpd__ferm__dependent_rules }}'

    - role: dhcpd
      tags: [ 'role::dhcpd', 'skip::dhcpd' ]