Вопрос: марионетка не удаляет старую запись монтирования в / etc / fstab


Я определил простой класс для монтирования доли 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

Моя проблема заключается в том, что марионеточный класс был определен таким образом (OLD)

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

почему марионетка не удаляет старую запись?


5
2018-03-20 18:42


Источник




Ответы:


Puppet автоматически не удаляет что-то, только потому, что он управлял настройкой в ​​прошлом, и старый ресурс больше не применяется.

Если вы хотите удалить этот старый mount, удалите его с помощью чего-то вроде этого.

mount { '/mnt/nfs':
  ensure  => absent,
}

9
2018-03-20 18:58