On Thu, Mar 27, 2014 at 12:22 PM, Daniele Sluijters < daniele.sluijt...@gmail.com> wrote:
> Hey, > > As far as package is concerned I prefer Adrien's suggestion of ensure => > held, version => 0.4. This is entirely personal but I think ensure is a > good place to model the 'state' of a package and when it comes to apt that > state is either held, removed, purged or installed. I would go as far as to > say that 'ensure => latest' should not exist, it should be 'ensure => > installed with version => latest'. > > If I think about it in English I'd say "I want the latest version of this > package installed" which is why the mapping "version => latest" makes more > sense to me as does an 'ensure => installed'. I would also say something > like "I want nginx held at 1.4.7" which fairly easily translates to "ensure > => held, version => 1.4.7". This specific use-case of holding a version > isn't even possible with the current package type because of how the apt > provider works, it will hold the current installed version, you can't > request it to install a specific version and hold that one except for > messing with apt policies. > > 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? > As far as 'ensure => directory' on a file goes I don't really mind that > syntax, in my mind a directory is just a special file, much like a symlink > is or a socket. A separate directory type might be interesting if it has > extra magical powers that the file type doesn't, like having a flag that > implies `mkdir -p` instead of `mkdir` for example. > > -- > Daniele Sluijters > > On Wednesday, 26 March 2014 19:12:33 UTC+1, Jesse Hathaway wrote: >> >> In my discussion with @adrienthebo on my pull request: >> https://github.com/puppetlabs/puppet/pull/2309 I raised the question of >> what should be the allowable or suggested values for the ensure property? >> >> My pull request separated out the hold state into a separate property: >> >> before: >> >> package { 'foo': >> ensure => held >> } >> >> >> after: >> >> package { 'foo': >> ensure => '0.4', >> hold => false >> } >> >> >> @adrienthebo suggested I separate out the version instead: >> >> package { 'foo': >> ensure => held, >> version => '0.4', >> } >> >> >> @adrienthebo's suggestion is certianly doable, my question is whether the >> puppet community has come to a consensus on what values the ensure property >> should have? >> >> In general my experience has been that adding additional values to ensure >> for resources makes using a resource less intuitive. For instance I find >> the file resource has a confusing interface because of the way it abuses >> the ensure property: >> >> file {'/foo': >> ensure => file, >> } >> >> file {'/foo': >> ensure => directory, >> } >> >> >> I would rather have explicit resources: >> >> directory {'/foo': >> ensure => present >> } >> >> >> What are the communities thoughts? >> >> -Jesse Hathaway >> > -- > 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/feb80058-5a45-46f0-8b05-cb86b54b645c%40googlegroups.com<https://groups.google.com/d/msgid/puppet-dev/feb80058-5a45-46f0-8b05-cb86b54b645c%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- Andrew Parker a...@puppetlabs.com Freenode: zaphod42 Twitter: @aparker42 Software Developer *Join us at PuppetConf 2014, September 23-24 in San Francisco - **http://puppetconf.com <http://puppetconf.com/>* -- 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/CANhgQXsbxw48T4yMsPGptbTk61tfW52q1jNb5C2WdKDCqmX6mg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.