Я определил простой класс для монтирования общего ресурса nfs на хосте следующим образом (текущий)
class mounts {
file { [ "/mnt/share", "/mnt/share/share1" ]:
ensure => 'directory',
}
mount { '/mnt/share/share1':
ensure => 'mounted',
device => '192.168.122.1:/home/export',
dump => '0',
fstype => 'nfs',
options => 'vers=3,defaults',
pass => '0',
require => File[ "/mnt/share", "/mnt/share/share1" ],
}
}
Итак, теперь у меня есть запись в / etc / fstab на марионеточном клиенте
192.168.122.1:/home/export /mnt/share/share1 nfs vers=3,defaults 0 0
Моя проблема в том, что класс марионеток был определен таким образом (СТАРЫЙ)
class mounts {
file { '/mnt/nfs':
ensure => 'directory',
}
mount { '/mnt/nfs':
ensure => 'mounted',
device => '192.168.122.1:/home/export',
dump => '0',
fstype => 'nfs',
options => 'vers=3,defaults',
pass => '0',
require => File[ "/mnt/nfs" ],
}
}
И теперь у меня есть две записи в / etc / fstab
192.168.122.1:/home/export /mnt/nfs nfs vers=3,defaults 0 0 #OLD
192.168.122.1:/home/export /mnt/share/share1 nfs vers=3,defaults 0 0 #NEW
почему марионетка не удаляет старую запись?
Puppet не удаляет что-либо автоматически только потому, что в прошлом он управлял настройкой, и старый ресурс больше не применяется.
Если вы хотите удалить это старое крепление, снимите его с помощью значка вроде этого.
mount { '/mnt/nfs':
ensure => absent,
}