Description
This is a follow up to issue #128, as it turned out to be more complicated than I thought.
ipaddress
is a library that is not present by default, yet it is required by puppet-network/lib/puppet/type/network_config.rb
. Most nodes will not have it by default.
It would be nice if it could be installed with puppet using something like
package { 'ipaddress' : ensure => present, provider => gem, }
but puppet fails to create a catalog if ipaddress is not installed so it will never be possible to install it with a package resource.
As is, the workaround is to install ipaddress somehow prior to running puppet. This will break deployments and it certainly does so with mine.
A proposed solution is to rescue the require 'ipaddress'
(and maybe import something non-breaking in its place). This should allow puppet to get past the catalog stage, making it possible to install the gem using a package resource. After this, I assume that when a network_config resource is defined, puppet will reload the network_config.rb file, importing ipaddress properly.
I'll look into possibly submitting a pull request to fix this very soon.