On 03/28/2014 04:01 PM, Jesse Hathaway wrote:
> Thanks for pointing out this definition. I think asking whether an
> ensure parameter models a fundamental aspect of a resource is a
> helpful litmus test for what values an ensure parameter should have
> for a resource.

Nitpick: Ensure is universally a property, not a parameter, i.e. it is
quite capable to go out of sync, which will prompt a reaction from
Puppet. This in and of itself can be an indicator as to what values may
make (no) sense.

> My problem with the file type is that though you might
> be able to access directories and symbolic links as files in Unix,
> they model different abstractions. I think you see evidence of this
> abstraction in the separate Unix and Windows cli tools, mkdir, ln,
> mklink. That is why I find it a strange mental model that when I need
> to create a directory
> or a symbolic link I need to use the file type.

We're getting side-tracked ;) but here's why those should really be the
same to Puppet: What the catalog refers to as a 'file' is actually a
file system entry.

If you allow the resources file { "/tmp": } and directory { "/tmp": } to
coexists, you are bound to face trouble. Since both represent the same
file system entry, puppet should handle them with exactly one resource.
It's a sane design in the given domain.

On 03/28/2014 05:00 PM, Andy Parker wrote:
>     I have no idea how this translates to other package managers though.
> 
> 
> I think the crux of the matter is how well the proposal would translate
> to other package managers. I think that the proposed separation of
> ensure and version makes sense, but it also opens up a few edge cases
> that having all of it in ensure doesn't. For instance, what should be
> expected to happen if the package is "ensure => held, version => 1.4.3"
> but version 2.1 is actually installed? I expect the answer is to
> downgrade to 1.4.3 and do whatever the package manager can do for
> holding. But is that a universal enough capability?

I agree with the sentiment that this is indeed the crux.

However, since the semantics in the described scenario are so
intuitively clear, I would actually expect Puppet to fail the resource
if my package manager is incapable of performing the necessary steps.

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-dev/53359F79.60709%40alumni.tu-berlin.de.
For more options, visit https://groups.google.com/d/optout.

Reply via email to