Augeas support on my stroller?

I am trying to get augeas support on my stroller.

I tried installing the package with these directives:

package { "augeas-tools":   ensure => installed }
package { "libaugeas-dev":  ensure => installed }
package { "libaugeas-ruby": ensure => installed }

When I try to use augeas on my manifests, after loading vm I get this error:

err: Could not find a suitable provider for augeas

I am using the exact32 official box with Vagrant 1.0.3.

Vagrant 1.0.3 has ruby ​​1.8.7 and puppet 2.7.14

$ ruby -v
$ ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-linux]
$ puppet help
$ Puppet v2.7.14

This is my little manifest with the php class , which is included after the apache , mysql and other classes checked separately. Everything is working correctly, with the exception of the augeas team.

class php {

    exec { "apt-update":
        command     => "/usr/bin/apt-get update",
        refreshonly => true;
    }

    package { "augeas-tools":   ensure => installed }
    package { "libaugeas-dev":  ensure => installed }
    package { "libaugeas-ruby": ensure => installed }

    package { "php5":               ensure => installed }
    package { "php5-cli":           ensure => installed }
    package { "php5-xdebug":        ensure => installed }
    package { "php5-curl":          ensure => installed }
    package { "php5-intl":          ensure => installed }
    package { "php5-imap":          ensure => installed }
    package { "php5-mcrypt":        ensure => installed }
    package { "php5-imagick":       ensure => installed }
    package { "php5-sqlite":        ensure => installed }
    package { "php5-gd":            ensure => installed }
    package { "php-apc":            ensure => installed }

    package { 
        "libapache2-mod-php5" : 
            ensure => installed,
            require => Package["php5"]
    }

    augeas { "php-cli":
        require =>  [
                        Package["php5"],
                        Package["augeas-tools"],
                        Package["libaugeas-dev"],
                        Package["libaugeas-ruby"],
                    ],
        context => "/etc/php5/cli/php.ini",
        changes => [
            "set date.timezone Europe/Rome",
            "set short_open_tag Off",
        ];
    }

    augeas { "php-apache":
        require =>  [
                        Package["php5"],
                        Package["augeas-tools"],
                        Package["libaugeas-dev"],
                        Package["libaugeas-ruby"],
                    ],
        context => "/etc/php5/apache2/php.ini",
        changes => [
            "set date.timezone Europe/Rome",
            "set short_open_tag Off",
        ];
    }

}

After installing the packages, entering the vagrant machine with "vagrant ssh", I run:

vagrant@precise32:~$ ruby -raugeas -e "puts Augeas.open"
#<Augeas:0xb77a3598>

Thanks in advance!

+5
source share
4

Vagrantfile, .

, , , ubuntu:

config.vm.provision: shell,: inline = > "sudo apt-get update && sudo apt-get install puppet -y"

apt-, , .

+8

, # 6907, . Puppet, , .

Augeas "", , ruby-augeas . , , , - false.

upstream bug # 14822 . , :

notice: /Stage[main]//Package[ruby-augeas]/ensure: created
notice: /Stage[main]//Augeas[test]/returns: executed successfully

Vagrant, , libaugeas-ruby , Puppet .

+7

Puppet 2.7.14 , , - , Augeas.

Puppet , , , Augeas Augeas, . , , Puppet .

Augeas:

augeas { "php-cli":
    require => [ Package["php5"], Package["libaugeas-ruby"] ],
    # ...
}

, Augeas . , :

Package["libaugeas-ruby"] -> Augeas <| |>
+1

@m0dlx /home/vagrant/postinstall.sh , Vagrant Ruby:

# The base path to the Ruby used for the Chef and Puppet gems ruby_home="/opt/vagrant_ruby"

After that I find the file augeas.rbin /opt/vagrant_ruby/lib/ruby/gems/1.8/gems/puppet-2.7.19/lib/puppet/provider/augeas/augeas.rband edit it, changing the line

confine :true => Puppet.features.augeas?

to

confine :true => :augeas

(In short, I partially apply the patch from @ m0dlx .)

After that, this error disappeared.

+1
source

All Articles