Я пытаюсь добавить строку и заменить других ресурсом марионетки file_line
. У меня очень странное поведение. Вот код:
file_line { 'bashrc':
ensure => present,
path => '/user/.bashrc',
line => 'HISTCONTROL=ignoredups:ignorespace:erasedups',
match => '^HISTCONTROL\=',
}
file_line { 'sysctl_conf':
ensure => present,
path => '/etc/sysctl.conf',
line => 'net.ipv6.conf.all.disable_ipv6=1',
notify => Exec['/sbin/sysctl -p'],
}
У меня есть эта строка: HISTCONTROL=ignoredups
в файле .bashrc
. Когда я запускаю puppet agent -t
, он просто добавляет эту строку HISTCONTROL=ignoredups:ignorespace:erasedups
к файлу, а исходная строка HISTCONTROL=ignoredups
все еще там. Более интересно то, что второй ресурс file_line
вообще не выполняется.
Но когда я запускаю puppet apply -e "include module"
, строка в .bashrc
заменяется, а net.ipv6.conf.all.disable_ipv6=1
добавляется к /etc/sysctl.conf
.
Системная информация:
root@puppet [Home]:~# puppet agent --version
5.5.8
root@puppet [Home]:~# puppet --version
5.5.8
root@puppet [Home]:~# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.5 LTS
Release: 16.04
Codename: xenial
root@puppet [Home]:~# puppet module list | grep stdlib
├── puppetlabs-stdlib (v5.1.0)
Может кто-нибудь объяснить это, пожалуйста, или как это исправить?
Спасибо