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 [email protected].
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.