Issue #12179 has been updated by Pieter van de Bruggen.
Reid Vandewiele wrote:
> feature :minimum_versionable, "The provider is capable of selectively
> upgrading to the latest version of a package if and only if the
> installed version is less than a provided minimum version. Using a
> minimum version of 1.5-2 as an example, this feature is used by
> specifing `>= 1.5-2` as the desired value for the package."
Thanks for continuing to think abou this. My concern is that this solution
depends on many assumptions:
* Is version disparity across multiple nodes acceptable or desirable?
* Are packages guaranteed to remain backwards compatible (or will we need to
add further restrictions to the comparison language)?
* What does it mean to be "less than" a version?
* Is '1.5' less than '1.5-2'? (The '-2' representing a pre-release build.)
* Is '1.5-2' less than '1.5'? (The '-2' indicating a patch build.)
* Do we compare ASCIIbetically? If so, '10.0' is less than '2.0'.
* Do we compare only the numeric parts? If so, is having more numeric
parts "greater"? What about non-numeric word parts like "alpha"?
* Can all packages in a provider be compared the same way?
I'm not opposed to the idea of a feature like this, I just want to make sure we
can do so without it coming back to bite people later.
----------------------------------------
Feature #12179: Package resource should allow ensure=>">1.0" or ensure=>"<0.10"
as well as 'latest', 'installed' and specific version number
https://projects.puppetlabs.com/issues/12179#change-63654
Author: Steve Shipway
Status: Needs Decision
Priority: Normal
Assignee: Randall Hansen
Category: language
Target version:
Affected Puppet version: 2.7.9
Keywords:
Branch:
It would be helpful if the 'ensure' parameter to the Package resrouce could
also specify 'at least version **x**' and 'no later than version **y**' as well
as 'latest version', 'installed' (IE, any version) or a specific version number.
EG:
package { 'foo': ensure=>'>1.0' }
would act as 'latest' if the current package was uninstalled or version before
1.0, but would act as 'installed' otherwise. Similarly,
package { 'foo': ensure=>'<4.0' }
would act as 'installed' if version is <4.0 but would produce an error
otherwise.
This would allow us to set a manifest to avoid packages with known problems in
a certain version, but not upgrade unless necessary.
--
You have received this notification because you have either subscribed to it,
or are involved in it.
To change your notification preferences, please click here:
http://projects.puppetlabs.com/my/account
--
You received this message because you are subscribed to the Google Groups
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/puppet-bugs?hl=en.