Skip to content

require 'ipaddress' breaks puppet runs #129

Closed
@rski

Description

@rski

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions