puppet não remove a entrada de montagem antiga em / etc / fstab

5

Eu defini uma classe simples para montar um compartilhamento nfs no host como segue (atual)

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

Então, agora eu tenho uma entrada em / etc / fstab no cliente de marionetes

192.168.122.1:/home/export      /mnt/share/share1       nfs     vers=3,defaults 0       0

Meu problema é que a classe de fantoches foi definida dessa maneira (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" ],
    }
}

E agora eu tenho duas entradas no / 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

porque o fantoche não remove a entrada antiga?

    
por c4f4t0r 20.03.2014 / 19:42

1 resposta

9

O Puppet não remove automaticamente algo, apenas porque gerenciou uma configuração no passado e o recurso antigo não se aplica mais.

Se você quiser remover essa montagem antiga, remova-a com algo assim.

mount { '/mnt/nfs':
  ensure  => absent,
}
    
por 20.03.2014 / 19:58

Tags