As an alternate to Felix's proposal, you could write your own custom
provider that does the following:

*In the Property state query define*
- Collect all system resources of type Mount with type NFS into an instance
variable

*In the Property insync? method*
- Prune the list of system resources of type Mount with the list of Mount
NFS resources that are actually in your catalog
- Return that the property is in sync if the resultant list is empty, and
not otherwise

*In the Property sync method*
- Send the collected resources that need to be unmounted a signal to do so

This is very clean since it doesn't rely on any sort of inheritance model.
All you need are the system statements and the in-memory compiled catalog.
However, it is quite complex to get right.

Good luck!

Trevor

On Tue, Sep 9, 2014 at 8:57 AM, Andreas Zuber <[email protected]> wrote:

>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hello
>
> I just came across an interesting problem with the mount provider. We
> try to manage NFS mounts on the servers and purge all instances which
> are not in the catalog.
>
> Since the mount type/provider collects all the mounts it would simply
> destroy the system if we activate purging. So I started to look into
> different ways how this could be done right.
>
> Unfortunately I did not find a solution which is very attractive.
> Currently I simply copied the puppet mount type and provider and created
> a modified version of it under a different name. This is very ugly as it
> basically c&p some hundred lines of code to add a few lines which reject
> all non NFS mounts in the instances method.
>
> Is there a better way to do this? Is there some way I can limit the
> purging to a set of parameters or a specific provider for the mount
> type? Or is there a way to inherit a type and to inherit providers from
> such inherited types?
>
> Greetings
> Andreas
>
> - --
> Andreas Zuber
> Linux System-Ingenieur
> Puzzle ITC GmbH
> www.puzzle.ch
>
> Telefon +41 31 370 22 00
> Direkt  +41 31 370 22 49
> Mobile  +41 79 766 25 51
> Fax     +41 31 370 22 01
>
> Werfen Sie einen Blick in unseren Blog:
> <http://www.puzzle.ch/blog>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2
>
> iEYEARECAAYFAlQO+ScACgkQc2hfmdKpdfXUyQCcC9lwZrmuh0YxR0p40XgEbxMo
> pLQAnAxoF6YyMuyFR8pgpVBt4qGEGBR/
> =j7we
> -----END PGP SIGNATURE-----
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/540EF927.8010407%40puzzle.ch
> .
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Trevor Vaughan
Vice President, Onyx Point, Inc
(410) 541-6699
[email protected]

-- This account not approved for unencrypted proprietary information --

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/CANs%2BFoUs0U3_N_XhtGNGsLgTF31g2yWjTjuDNNWppPFFx5M7Xw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to