On Tue, Feb 22, 2011 at 10:00:04AM -0800, Jacob Helwig wrote:
>
> > > @@ -70,7 +65,7 @@ module Puppet
> > > curval = super()
> > > if curval == :absent
> > > return :absent
> > > - elsif provider.mounted?
> > > + elsif provider.correctly_mounted?
> > > return :mounted
> > > else
> > > return :unmounted
> > > @@ -210,7 +205,7 @@ module Puppet
> > >
> >
> > This will resolve mounts that are not correctly mounted as `unmounted`.
> > In my opinion this is just wrong. If I now specify `ensure => unmounted`
> > nothing happens. In every other situation the mountpoint is the only key
> > attribute to identify a resource.
> >
>
> With the device unspecified in the resource, I'd agree that this is the
> wrong thing to do. If the device is specified however, I'd argue that
> it's the right thing to do, since it's stating "this device should not
> be mounted here".
>
Doesnt feel right to me. The mount type doesnt describe the device, the
title describes a mountpoint. So I read something like
mount { '/foo': ensure => unmounted } as »there is nothing mounted on
/foo«. And to me it sounds like you're reading the mounttype more like a
description of the device and more like
mount { '/dev/foo': mountpoint => '/foo', ensure =>unmounted}
I mean if I specify file {'/foo': content => 'foo', ensure => absent }
and puppet only finds a file called '/foo' with content 'bar' it doesnt
report absent (= in sync). Yes there is no file with content 'foo' but
the file is still there.
So at least to me the new behaviour is not what I would normally expect.
-Stefan
pgpEAh98yXZqf.pgp
Description: PGP signature
