cookbook 'dhcp', '= 8.1.0'
dhcp
(53) Versions
8.1.0
-
-
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.0', :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 14+
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)
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.0 - 2021-08-29
8.0.1 - 2021-06-01
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.0 passed this metric
Contributing File Metric
8.1.0 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
Foodcritic Metric
8.1.0 passed this metric
No Binaries Metric
8.1.0 passed this metric
Testing File Metric
8.1.0 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.0 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.0 passed this metric
8.1.0 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
Foodcritic Metric
8.1.0 passed this metric
No Binaries Metric
8.1.0 passed this metric
Testing File Metric
8.1.0 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.0 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.0 passed this metric
8.1.0 passed this metric
Testing File Metric
8.1.0 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.0 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.0 failed this metric
8.1.0 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