Назад | Перейти на главную страницу

puppet не удаляет старую запись монтирования в / 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

Моя проблема в том, что класс марионеток был определен таким образом (СТАРЫЙ)

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,
}