cookbook 'dhcp', '= 8.1.12'
dhcp
(53) Versions
8.1.12
-
-
8.1.16
-
8.1.15
-
8.1.14
-
8.1.13
-
8.1.12
-
8.1.11
-
8.1.10
-
8.1.9
-
8.1.8
-
8.1.7
-
8.1.6
-
8.1.5
-
8.1.4
-
8.1.3
-
8.1.2
-
8.1.1
-
8.1.0
-
8.0.1
-
8.0.0
-
7.3.0
-
7.2.1
-
7.2.0
-
7.1.1
-
7.1.0
-
7.0.0
-
6.1.0
-
6.0.0
-
5.5.0
-
5.4.4
-
5.4.3
-
5.4.2
-
5.4.1
-
5.4.0
-
5.3.2
-
5.3.1
-
5.3.0
-
5.2.0
-
5.1.0
-
5.0.3
-
5.0.2
-
5.0.1
-
5.0.0
-
4.1.2
-
4.1.1
-
4.1.0
-
4.0.1
-
4.0.0
-
2.2.2
-
2.2.1
-
2.1.3
-
2.1.2
-
2.0.1
-
2.0.0
Follow16
- 8.1.16
- 8.1.15
- 8.1.14
- 8.1.13
- 8.1.12
- 8.1.11
- 8.1.10
- 8.1.9
- 8.1.8
- 8.1.7
- 8.1.6
- 8.1.5
- 8.1.4
- 8.1.3
- 8.1.2
- 8.1.1
- 8.1.0
- 8.0.1
- 8.0.0
- 7.3.0
- 7.2.1
- 7.2.0
- 7.1.1
- 7.1.0
- 7.0.0
- 6.1.0
- 6.0.0
- 5.5.0
- 5.4.4
- 5.4.3
- 5.4.2
- 5.4.1
- 5.4.0
- 5.3.2
- 5.3.1
- 5.3.0
- 5.2.0
- 5.1.0
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.1
- 4.0.0
- 2.2.2
- 2.2.1
- 2.1.3
- 2.1.2
- 2.0.1
- 2.0.0
Installs and configures DHCP
cookbook 'dhcp', '= 8.1.12', :supermarket
knife supermarket install dhcp
knife supermarket download dhcp
DHCP Cookbook
Installs and configures ISC DHCP server in both DHCP and DHCPv6 mode.
- Supports setting up Master/Slave ISC DHCP failover (IPv4 only).
- Includes Support for DDNS
- Includes resources for managing:
- Package installation
- Service configuration and management
- Global configuration
- Hosts
- Groups
- Subnets
- Shared subnets
Version 7.0.0 constitutes a major change and rewrite, please see [UPGRADING.md](./UPGRADING.md).
Maintainers
This cookbook is maintained by the Sous Chefs. The Sous Chefs are a community of Chef cookbook maintainers working together to maintain important cookbooks. If you’d like to know more please visit sous-chefs.org or come chat with us on the Chef Community Slack in #sous-chefs.
Platforms
- Debian / Ubuntu
- RHEL/CentOS and derivatives
- Fedora and derivatives
Requirements
- Chef 15.3+
Usage
It is recommended to create a project or organization specific wrapper cookbook and add the desired custom resources to the run list of a node.
Example of a basic server listening on and issuing leases for the subnet 192.0.2.0/24
.
dhcp_install 'isc-dhcp-server' dhcp_service 'dhcpd' do ip_version :ipv4 action [:create, :enable, :start] end dhcp_config '/etc/dhcp/dhcpd.conf' do allow %w(booting bootp unknown-clients) parameters( 'default-lease-time' => 7200, 'max-lease-time' => 86400, 'update-static-leases' => true, 'one-lease-per-client' => true, 'authoritative' => '', 'ping-check' => true ) options( 'domain-name' => '"test.domain.local"', 'domain-name-servers' => '8.8.8.8, 8.8.4.4' ) action :create end dhcp_subnet '192.0.2.0' do comment 'Basic Subnet Declaration' subnet '192.0.2.0' netmask '255.255.255.0' options [ 'routers 192.168.1.1', ] pool( 'peer' => '192.168.0.2', 'range' => '192.168.1.100 192.168.1.200' ) parameters( 'ddns-domainname' => '"test.domain"' ) end
External Documentation
- https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhcpdconf
- https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhcp-options
- https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhcp-eval
Examples
Please check for more varied working examples in the [test cookbook](./test/cookbooks/test/).
Resources
- [dhcp_class](documentation/dhcp_class.md)
- [dhcp_config](documentation/dhcp_config.md)
- [dhcp_group](documentation/dhcp_group.md)
- [dhcp_host](documentation/dhcp_host.md)
- [dhcp_package](documentation/dhcp_package.md)
- [dhcp_service](documentation/dhcp_service.md)
- [dhcp_shared_network](documentation/dhcp_shared_network.md)
- [dhcp_subnet](documentation/dhcp_subnet.md)
Known Issues
There are some known issues on Ubuntu when apparmor is running which may prevent the service from running properly.
Please see the [test cookbook](test/cookbooks/test) for a possible work around that you can apply on your nodes.
Contributors
This project exists thanks to all the people who contribute.
Backers
Thank you to all our backers!
Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website.
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
CHANGELOG
8.1.12 - 2023-09-04
8.1.11 - 2023-07-10
8.1.10 - 2023-06-08
Standardise files with files in sous-chefs/repo-management
8.1.9 - 2023-05-17
8.1.8 - 2023-05-03
8.1.7 - 2023-04-01
8.1.6 - 2023-03-24
8.1.5 - 2023-03-23
- Update platforms to modern versions
- Add support for AlmaLinux, Rocky Linux and Fedora
- Update and fixes tests
- Fix AppArmor issues on Ubuntu
8.1.4 - 2023-03-02
- Standardise files with files in sous-chefs/repo-management
8.1.3 - 2023-02-27
- Standardise files with files in sous-chefs/repo-management
8.1.2 - 2023-02-27
- Standardise files with files in sous-chefs/repo-management
8.1.1 - 2023-02-14
- Remove delivery folder
8.1.0 - 2021-08-29
- Standardise files with files in sous-chefs/repo-management
8.0.1 - 2021-06-01
- Standardise files with files in sous-chefs/repo-management
8.0.0 - 2021-05-12
- Chef 17 compatibility changes - @bmhughes
- All resources now run with
unified_mode true
- All resources now run with
7.3.0 - 2021-03-30
- Fix generating multiple actions from the service resource - @bmhughes
7.2.1 - 2020-11-19
- Enhance the pre-service action configuration test to remove compile/converge bug - @bmhughes
7.2.0 (2020-07-10)
- resolved cookstyle error: libraries/helpers.rb:120:44 refactor:
ChefCorrectness/InvalidPlatformInCase
- resolved cookstyle error: libraries/helpers.rb:154:24 refactor:
ChefCorrectness/InvalidPlatformFamilyInCase
- resolved cookstyle error: libraries/helpers.rb:161:14 refactor:
ChefCorrectness/InvalidPlatformFamilyInCase
- resolved cookstyle error: libraries/helpers.rb:193:44 refactor:
ChefCorrectness/InvalidPlatformInCase
- Fix the service resource not using the unit file content property
- Slightly simplified the libraries with a platform helper
- Fix verification of the isc-dhcp-server configuration on Ubuntu
- Ensure that a service restart does not occur upon a configuration test failure
7.1.1 (2020-05-20)
- Fix configuration test running every chef run regardless of service action - @bmhughes
7.1.0 (2020-05-18)
- Add configuration test option to the
dhcp_service
resource - @bmhughes
7.0.0 (2020-04-17)
Version 7.0.0 is a major change! Please see [UPGRADING.md](./UPGRADING.md).
- DHCPv6 server configuration support - @bmhughes
- Migrated to github actions - @Xorima
- Remodel cookbook as resource library - @bmhughes
- Remove - @bmhughes
- Attributes
- Recipes
- Data bag functionality
- Add resources to manage install and services for dhcpd/dhcpd6 - @bmhughes
- Rewrite resources to current standard removing pure ruby code - @bmhughes
6.1.0 (2019-10-19)
- Added ability to add extra custom lines to pool config https://github.com/sous-chefs/dhcp/issues/117
- Converted all LWRPs to Custom Resources
- Ran latest cookstyle fixes
- Migrated testing to circleci
6.0.0 (2018-03-04)
- Remove matchers. Breaking change. This requires ChefDK 2.0+
- Allow specifying array of
allow
anddeny
declarations indhcp_subnet
pool
- Convert to custom resources
- Drop support for Chef 12
- Add support for Fedora
5.5.0 (2018-03-04)
- Use Berkshelf instead of Policyfiles
- Remove support for RHEL5
5.4.4 (2018-03-04)
- Use dokken images for travis testing
5.4.3 (2018-03-04)
- Require Chef 12.7+ for
apt_update
fix
5.4.2 (2017-12-02)
- Remove Chef 10/11 compatibility code that resulted in Foodcritic deprecation warnings
- Fix misplaced closing brace for dhcpd hooks in template file
5.4.1
- Fix: attribute breaking Chef 13 runs.
5.4.0
- Added hooks
5.3.2
- bug #67: Removed blank? from helper libraries but was still calling in code. Addressed by removing blank? calls from code and using empty? instead.
5.3.1
- bug: Update
_hosts
recipe forHelpers::DataBags.escape_bagname
change toDhcp::Helpers.escape
5.3.0
- Remove dependencies on helper cookbooks
5.2.0
- Add
allow
attribute forpool
indhcp_subnet
provider
5.1.0
- Allow specifying with
node['dhcp']['extra_files']
externally managed configs to load
5.0.3
- bug: Load classes before subnets
5.0.2
- bug: Include classes.d/list.conf in dhcp.conf
- bug: Make
dhcp_subnet
names declared indhcp_shared_network
more unique
5.0.1
- bug: Pin partial templates to dhcp cookbook
5.0.0
-
BREAKING feature: Allow defining multiple pools in a subnet
- This moves
range
andpeer
attribtue fromdhcp_subnet
block to embeddedpool
block insidedhcp_subnet
. See updated examples. - Currently this DOES NOT break defining subnets via data_bags or node attributes
- This moves
4.1.2
- bug: Allow defining dhcp_class with no subclasses
4.1.1
- improve: Add dhcp_class ChefSpec matcher
4.1.0
- feature: dhcp_class provider
4.0.1
- fix: be able to declare a blank subnet inside a shared-network
4.0.0
- feature: dhcp_shared_network provider to define subnets inside a shared-network block
- improve: allowing as blank as possible of a subnet block
- improve: setting next-server in a subnet block
- improve: allow dhcp_subnet range to be set with a String
- improve: documentation
- fix: including dhcp_host config files
- fix: Chef 12 support
- fix/improve: testing
3.0.0
- feature: allow setting multiple ranges in subnets. The range param now HAS to be an array, existing cooks will not work.
- improve: hostname in group configs is no long forced instead you can specify this in paramaters you pass.
2.2.2
- fix: Debian system have Chef with version Chef: 11.10.0.rc.1 that Chef::Version doesn't detect correctly
- fix: handle case where peer is unavailable on cluster start
- improve: better chef-solo support
- feature: Allow setting slaves and masters in attributes.
- feature: Added ability to pass eval into subnets
2.2.1
- support attribute driven mode, where no databags are needed to operate
- feature: add evals to groups
- fix error in subnet provider caused by mis-merged comma :(
2.1.2
- change write_config to write_include, write_config doesn't work on ubuntu 12.04
- allow you to set ddns-domainname for each subnet
- convert "not if"'s to "unles"
- Cleanup Readme for readability and attribution
- update contributors
2.1.1
- add tailor cane, kitchen testing
- chef specs for chefspec 3.0
- allow ddns update in subnet (pull request #13 from simonjohansson)
- fixes for chef11 compatibility
- fix version check in DSL condition
- update service notifications to new format
2.0.0
- Initial public release
- Restructure entire cookbook for better reusability
- Remove Internal/non-public dependencies
- Fix: master/slave replication issues
- Fix: LWRP notification method
- Add minimal spec's for libraries
- New: examples directory with databags and environments
- New: configurable bag lookups for dhcp/dns bags
- New: Group host list support
- New: Defaults to mac address as hostname for non registered clients
- New: Defines global defaults in default attributes
Collaborator Number Metric
8.1.12 passed this metric
Contributing File Metric
8.1.12 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Cookstyle Metric
8.1.12 passed this metric
No Binaries Metric
8.1.12 passed this metric
Testing File Metric
8.1.12 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
8.1.12 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
8.1.12 passed this metric
8.1.12 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Cookstyle Metric
8.1.12 passed this metric
No Binaries Metric
8.1.12 passed this metric
Testing File Metric
8.1.12 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
8.1.12 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
8.1.12 passed this metric
8.1.12 passed this metric
Testing File Metric
8.1.12 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
8.1.12 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
8.1.12 failed this metric
8.1.12 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number