2020-06-29 23:58:10 |
Bryce Harrington |
description |
The filter list in /usr/share/augeas/lenses/dist/php.aug includes:
/etc/php*/*/*.ini
/etc/php*/fpm/pool.d/*.conf
This will match the php5-fpm package files:
/etc/php5/fpm/php.ini
/etc/php5/fpm/pool.d/*.conf
But not the php7.0-fpm package files:
/etc/php/7.0/fpm/php.ini
/etc/php/7.0/fpm/pool.d/*.conf
Puppet handles this badly because augeas won't report that anything has changed trying to set options in /etc/php/7.0/fpm/php.ini, so it does nothing instead of reporting an error:
Debug: Augeas[php_sessions](provider=augeas): Will attempt to save and only run if files changed
Debug: Augeas[php_sessions](provider=augeas): sending command 'set' with params ["/files/etc/php/7.0/fpm/php.ini/Session/session.gc_maxlifetime", "604800"]
Debug: Augeas[php_sessions](provider=augeas): Skipping because no files were changed
Debug: Augeas[php_sessions](provider=augeas): Closed the augeas connection
augeas-lenses:
Installed: 1.4.0-0ubuntu1
Candidate: 1.4.0-0ubuntu1
Version table:
*** 1.4.0-0ubuntu1 500
500 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
500 http://gb.archive.ubuntu.com/ubuntu xenial/main i386 Packages
100 /var/lib/dpkg/status
php7.0-fpm:
Installed: 7.0.4-7ubuntu2ppa1
Candidate: 7.0.4-7ubuntu2ppa1
Version table:
*** 7.0.4-7ubuntu2ppa1 1000
1000 http://ppa.launchpad.net/sa.me.uk/um/ubuntu xenial/main amd64 Packages
100 /var/lib/dpkg/status
7.0.4-7ubuntu2 500
500 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages |
[Impact]
Automation of configuration editing cannot be done for PHP installations on Xenial using augeas. The location of php configuration files moved in php7, to a directory augeas doesn't look in.
[Test Case]
- Create lxc container
$ sudo apt-get install php7.0-cli
$ sudo apt-get install augeas-lenses augeas-tools
$ augtool ls /files/etc/php
## (no output)
- Add the PPA
$ augtool ls /files/etc/php
7.0/ = (none)
[Regression Potential]
Since this makes the PHP configuration accessible to augeas where it wasn't before, behaviors to watch for would relate to php configuration issues when augeas (or puppet) are in use. It is expected that by now most administrators will have worked around the problem by using some other method to configure php, so it is unlikely users would experience behavior regression.
[Fix]
This adds the "/etc/php/*/*/*.ini" path to the php lense for augeas,
following what upstream has done, and that we carry in newer versions of
Ubuntu.
[Discussion]
While it is true that Xenial is old at this point, enterprises that use
configuration automation software like augeas sometimes still need older
versions of Ubuntu (e.g. via ESM). PHP has been a popular choice for
many enterprises in the past, so it is expected that PHP 5 -> 7.0
upgrades are still relevant. So, given that, plus the simplicity of
this fix it seems still worthy of SRU.
[Original Report]
The filter list in /usr/share/augeas/lenses/dist/php.aug includes:
/etc/php*/*/*.ini
/etc/php*/fpm/pool.d/*.conf
This will match the php5-fpm package files:
/etc/php5/fpm/php.ini
/etc/php5/fpm/pool.d/*.conf
But not the php7.0-fpm package files:
/etc/php/7.0/fpm/php.ini
/etc/php/7.0/fpm/pool.d/*.conf
Puppet handles this badly because augeas won't report that anything has changed trying to set options in /etc/php/7.0/fpm/php.ini, so it does nothing instead of reporting an error:
Debug: Augeas[php_sessions](provider=augeas): Will attempt to save and only run if files changed
Debug: Augeas[php_sessions](provider=augeas): sending command 'set' with params ["/files/etc/php/7.0/fpm/php.ini/Session/session.gc_maxlifetime", "604800"]
Debug: Augeas[php_sessions](provider=augeas): Skipping because no files were changed
Debug: Augeas[php_sessions](provider=augeas): Closed the augeas connection
augeas-lenses:
Installed: 1.4.0-0ubuntu1
Candidate: 1.4.0-0ubuntu1
Version table:
*** 1.4.0-0ubuntu1 500
500 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
500 http://gb.archive.ubuntu.com/ubuntu xenial/main i386 Packages
100 /var/lib/dpkg/status
php7.0-fpm:
Installed: 7.0.4-7ubuntu2ppa1
Candidate: 7.0.4-7ubuntu2ppa1
Version table:
*** 7.0.4-7ubuntu2ppa1 1000
1000 http://ppa.launchpad.net/sa.me.uk/um/ubuntu xenial/main amd64 Packages
100 /var/lib/dpkg/status
7.0.4-7ubuntu2 500
500 http://gb.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages |
|