Я столкнулся с проблемой, когда некоторые модули запускают обновление (перезапуск службы) для php-fpm, даже если ничего не изменилось.
Например:
==> app-server: Notice: /Stage[main]/Php/Php::Extension[igbinary]/Package[php5.6-igbinary]/ensure: ensure changed 'purged' to 'present'
==> app-server: Notice: /Stage[main]/Php/Php::Extension[memcached]/Package[php5.6-memcached]/ensure: ensure changed 'purged' to 'latest'
==> app-server: Info: Php::Extension[memcached]: Scheduling refresh of Service[php5.6-fpm]
==> app-server: Notice: /Stage[main]/Php/Php::Extension[tideways]/Package[php5.6-tideways]/ensure: ensure changed 'purged' to 'present'
==> app-server: Info: Php::Extension[tideways]: Scheduling refresh of Service[php5.6-fpm]
==> app-server: Info: Php::Extension[igbinary]: Scheduling refresh of Service[php5.6-fpm]
==> app-server: Notice: /Stage[main]/Php::Fpm::Service/Service[php5.6-fpm]: Triggered 'refresh' from 3 events
В среде vagrant / test все нормально, но я не хочу перезапускать fpm-сервис в среде prod при каждом запуске куколки, поэтому
Есть ли способ сказать, что кукольный не перезапускает php-fpm, если ничего не изменилось?
Заранее спасибо за помощь!
Постскриптум Вот как выглядит кукольный конфиг:
php::globals::php_version: '5.6'
php::extensions:
xml: {}
curl: {}
json: {}
intl: {}
mbstring: {}
mcrypt: {}
mysql: {}
curl: {}
intl: {}
json: {}
odbc: {}
readline: {}
igbinary: {}
zip: {}
soap: {}
dba: {}
bz2: {}
tideways: {}
memcached: {}
oci8:
provider: pecl
ensure: '2.0.12'
pgsql: {}
mcrypt: {}
gd: {}
apcu:
provider: pecl
ensure: '4.0.11'
settings:
apc.stat: 1
apc.stat_ctime: 1
Хорошо, похоже, я выяснил, почему это происходит: у меня php версии 5.6, поэтому puppet попытался установить пакеты с префиксом php5.6, но для этих трех пакетов префикс PHP-, поэтому я добавил package_prefix для memcached, tideways и igbinary, и теперь php-fpm больше не перезапускается.
tideways:
package_prefix: php-
igbinary:
package_prefix: php-
memcached:
package_prefix: php-
Надеюсь, это поможет кому-то еще.
Ура!
Других решений пока нет …