Augeas fails after upgrading augeas packages during same puppetrun, but only on first deploy
using this simple manifest:
# steps to reproduce: # rm /etc/logrotate.d/leap_deploy; apt-get install -y --force-yes augeas-lenses=0.10.0-1 augeas-tools=0.10.0-1 libaugeas0=0.10.0-1 # puppet apply --modulepath ../../shared-modules/ test.pp file { '/etc/apt/sorces.list': content => 'deb http://httpredir.debian.org/debian/ wheezy main contrib non-free deb http://security.debian.org/ wheezy/updates main contrib non-free deb http://httpredir.debian.org/debian/ wheezy-backports main contrib non-free'; '/etc/apt/preferences.d/augeas': content => 'Package: augeas-lenses augeas-tools libaugeas0 libaugeas-ruby* Pin: release a=wheezy-backports Pin-Priority: 999'; } exec { 'apt_update': command => '/usr/bin/apt-get update', refreshonly => true, subscribe => File['/etc/apt/sorces.list'] } class {'augeas': version => 'latest' } Exec['apt_update'] -> Package <| |> -> Augeas <| |> augeas {'logrotate_leap_deploy': context => '/files/etc/logrotate.d/leap_deploy/rule', changes => [ 'set file /var/log/leap/deploy.log', 'set rotate 5' ], }
fails when it needs to upgrade:
root@leap-wheezy:/vagrant/dev/augeas-test# rm /etc/logrotate.d/leap_deploy rm: cannot remove `/etc/logrotate.d/leap_deploy': No such file or directory root@leap-wheezy:/vagrant/dev/augeas-test# apt-get install augeas-lenses=0.10.0-1 augeas-tools=0.10.0-1 libaugeas0=0.10.0-1 Reading package lists... Done Building dependency tree Reading state information... Done Suggested packages: augeas-doc The following packages will be DOWNGRADED: augeas-lenses augeas-tools libaugeas0 0 upgraded, 0 newly installed, 3 downgraded, 0 to remove and 1 not upgraded. Need to get 0 B/426 kB of archives. After this operation, 670 kB disk space will be freed. Do you want to continue [Y/n]? y dpkg: warning: downgrading libaugeas0 from 1.2.0-0.2~bpo70+2 to 0.10.0-1 (Reading database ... 46334 files and directories currently installed.) Preparing to replace libaugeas0 1.2.0-0.2~bpo70+2 (using .../libaugeas0_0.10.0-1_amd64.deb) ... Unpacking replacement libaugeas0 ... dpkg: warning: downgrading augeas-lenses from 1.2.0-0.2~bpo70+2 to 0.10.0-1 Preparing to replace augeas-lenses 1.2.0-0.2~bpo70+2 (using .../augeas-lenses_0.10.0-1_all.deb) ... Unpacking replacement augeas-lenses ... dpkg: warning: downgrading augeas-tools from 1.2.0-0.2~bpo70+2 to 0.10.0-1 Preparing to replace augeas-tools 1.2.0-0.2~bpo70+2 (using .../augeas-tools_0.10.0-1_amd64.deb) ... Unpacking replacement augeas-tools ... Processing triggers for man-db ... Setting up augeas-lenses (0.10.0-1) ... Setting up libaugeas0 (0.10.0-1) ... Setting up augeas-tools (0.10.0-1) ... root@leap-wheezy:/vagrant/dev/augeas-test# dpkg -l|grep auge ii augeas-lenses 0.10.0-1 all Set of lenses needed by libaugeas0 to parse config files ii augeas-tools 0.10.0-1 amd64 Augeas command line tools ii libaugeas-ruby1.8 0.4.1-1.1 amd64 Augeas bindings for the Ruby language ii libaugeas0 0.10.0-1 amd64 Augeas configuration editing library and API root@leap-wheezy:/vagrant/dev/augeas-test# puppet apply --modulepath ../../shared-modules/ test.pp notice: /Stage[main]/Augeas::Packages/Package[augeas-lenses]/ensure: ensure changed '0.10.0-1' to '1.2.0-0.2~bpo70+2' notice: /Stage[main]/Augeas::Packages/Package[augeas-tools]/ensure: ensure changed '0.10.0-1' to '1.2.0-0.2~bpo70+2' notice: /Stage[main]/Augeas::Packages/Package[libaugeas0]/ensure: ensure changed '0.10.0-1' to '1.2.0-0.2~bpo70+2' err: /Stage[main]//Augeas[logrotate_leap_deploy]: Could not evaluate: unknown error - Failed to initialize Augeas notice: Finished catalog run in 4.71 seconds
BUT directly after that, it succeeds:
root@leap-wheezy:/vagrant/dev/augeas-test# dpkg -l|grep augeas ii augeas-lenses 1.2.0-0.2~bpo70+2 all Set of lenses needed by libaugeas0 to parse config files ii augeas-tools 1.2.0-0.2~bpo70+2 amd64 Augeas command line tools ii libaugeas-ruby1.8 0.4.1-1.1 amd64 Augeas bindings for the Ruby language ii libaugeas0 1.2.0-0.2~bpo70+2 amd64 Augeas configuration editing library and API root@leap-wheezy:/vagrant/dev/augeas-test# puppet apply --modulepath ../../shared-modules/ test.pp notice: /Stage[main]//Augeas[logrotate_leap_deploy]/returns: executed successfully notice: Finished catalog run in 0.77 seconds
This is happening with the latest version of the LEAP's augeas module, as well as the camptocamp one.
(from redmine: created on 2015-05-20)