Skip to content

exsolvi/ansible-role-dhcpd

This branch is 109 commits behind robertdebock/ansible-role-dhcpd:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

029a3a1 · Feb 22, 2021
Feb 15, 2021
Nov 13, 2020
Feb 19, 2021
Jan 17, 2021
Feb 15, 2021
Feb 22, 2021
May 27, 2020
Jul 6, 2020
Feb 15, 2021
Feb 19, 2021
Feb 19, 2021
Feb 19, 2021
Dec 4, 2020
Feb 15, 2021
Mar 2, 2018
Aug 19, 2020
Jan 12, 2021
Jan 18, 2021
Jun 4, 2020
Jan 18, 2021
Feb 19, 2021
Feb 15, 2021

Install and configure dhcpd on your system.

GitHub GitLab Quality Downloads Version
github gitlab quality downloads Version

This example is taken from molecule/resources/converge.yml and is tested on each push, pull request and release.

---
- name: Converge
  hosts: all
  become: yes
  gather_facts: yes

  vars:
    dhcpd_subnets:
      - network: "{{ ansible_default_ipv4.network }}"
        netmask: 255.255.255.0

  roles:
    - role: robertdebock.dhcpd

The machine needs to be prepared in CI this is done using molecule/resources/prepare.yml:

---
- name: Prepare
  hosts: all
  gather_facts: no
  become: yes

  roles:
    - role: robertdebock.bootstrap
    - role: robertdebock.apt_autostart
    - role: robertdebock.core_dependencies

Also see a full explanation and example on how to use these roles.

These variables are set in defaults/main.yml:

---
# defaults file for dhcpd

# Configuration settings for the daemon.
dhcpd_ipv4_interface: "{{ ansible_default_ipv4.interface | default('eth0') }}"

# Setting applicable for the global scope.
dhcpd_default_lease_time: 600
dhcpd_max_lease_time: 7200
dhcpd_subnet_mask: 255.255.255.0
dhcpd_broadcast_address: 10.0.2.255
dhcpd_routers: 10.0.2.254
dhcpd_domain_name_servers: 192.168.1.1, 192.168.1.2
dhcpd_domain_search: example.com

# The image to serve for PXE booting.
dhcpd_filename: pxelinux.0
# Where the image can be downloaded from.
dhcpd_next_server: 10.0.2.254

# DHCP works with subnets, a list containing properties per subnet.
dhcpd_subnets:
  - network: 10.0.2.0
    netmask: 255.255.255.0
    range_start: 10.0.2.200
    range_end: 10.0.2.210

The following roles are used to prepare a system. You may choose to prepare your system in another way, I have tested these roles as well.

Requirement GitHub GitLab
robertdebock.apt_autostart Build Status GitHub Build Status GitLab
robertdebock.bootstrap Build Status GitHub Build Status GitLab
robertdebock.core_dependencies Build Status GitHub Build Status GitLab

This role is a part of many compatible roles. Have a look at the documentation of these roles for further information.

Here is an overview of related roles: dependencies

This role has been tested on these container images:

container tags
alpine all
amazon Candidate
el 7, 8
debian buster, bullseye
fedora all
ubuntu focal, bionic

The minimum version of Ansible required is 2.10, tests have been done to:

  • The previous version.
  • The current version.
  • The development version.

Some variarations of the build matrix do not work. These are the variations and reasons why the build won't work:

variation reason
Suse Starting ISC DHCPv4 Server chown: invalid user: 'dhcpd:root
shadow
...

If you find issues, please register them in GitHub

Apache-2.0

Robert de Bock

Please consider sponsoring me.

About

Install and configure dhcpd on your system.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HTML 100.0%