On Tue, Oct 2, 2012 at 1:30 PM, Jeff McCune <je...@puppetlabs.com> wrote:
> On Tue, Oct 2, 2012 at 1:17 PM, Robert Rothenberg <rob...@gmail.com> wrote:
>> I am using CentOS 6 with the PuppetLabs yum repo from
>> http://yum.puppetlabs.com
>>
>> I noticed that today version 3 is available on the repo, so of course, an
>> upgrade to Puppet is available.
>
> Yes, this major version update went live on Monday. There are a
> number of breaking-changes between 2.7 and 3.0 which are described at:
> http://links.puppetlabs.com/telly_breaking_changes
>
>> Ideally, it would have been better if v3 had a different distribution name,
>> so that systems with v2.7.x are not upgraded (especially if there will be
>> future releases if v2.7).
We sent out several notices about this prior to doing it. The Puppet
Labs repositories are designed to be the place you get the latest
software from Puppet Labs. This was a conscious choice.
>
> Could you please file an issue (with impact data) about the
> distribution name issue. I believe we considered doing what you
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/o33U4atSmJwJ.
I am not directly affected by this issue, but I agree with those complaining that it was unwise, or at least inhospitable for PL to release Puppet 3 into its repositories in this way, especially considering that PL intends to continue with maintenance releases in the 2.7 series. It is tantamount to a recommendation for all users to upgrade to the new line immediately, and considering the number of breaking changes, I cannot believe that that was intended.
The customary way to handle dual lines of packages is to give one line a different name, for example "puppet3-*" instead of plain "puppet-*". Failing that, it is essential that the package name for the 2.7 series be changed, else the PL repository will be near-useless to people who want to stay at 2.7 for the time being. If that's the plan then the first "puppet2-*" packages should have been released at the same time that the mainline packages were updated to v 3.0.
Alternatively, PL could set up a separate repository for the Puppet 2 maintenance releases.
Distinguishing the lines only by their version numbers simply isn't useful, and dropping v3 packages with their breaking changes into the same repository with v2 will cause breakage for users. PL, I urge you to reconsider. Soon.
John
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/AG4SVCmBV1cJ.
I usually explicitly set the $puppetversion in my manifest for my environment. Furthermore, I have my own mirror copied from puppet labs repo and install it from that location instead. That way, I have control of what I push out and only update when I know that the new version is sound.
So I am not sure what the hubbub is all about. If you are not controlling what you push out, don't be surprised when something breaks.
- RIlindoOn Oct 3, 2012, at 8:16 AM, jcbollinger <John.Bo...@stJude.org> wrote:
I am not directly affected by this issue, but I agree with those complaining that it was unwise, or at least inhospitable for PL to release Puppet 3 into its repositories in this way, especially considering that PL intends to continue with maintenance releases in the 2.7 series. It is tantamount to a recommendation for all users to upgrade to the new line immediately, and considering the number of breaking changes, I cannot believe that that was intended.
The customary way to handle dual lines of packages is to give one line a different name, for example "puppet3-*" instead of plain "puppet-*". Failing that, it is essential that the package name for the 2.7 series be changed, else the PL repository will be near-useless to people who want to stay at 2.7 for the time being. If that's the plan then the first "puppet2-*" packages should have been released at the same time that the mainline packages were updated to v 3.0.
Alternatively, PL could set up a separate repository for the Puppet 2 maintenance releases.
Distinguishing the lines only by their version numbers simply isn't useful, and dropping v3 packages with their breaking changes into the same repository with v2 will cause breakage for users. PL, I urge you to reconsider. Soon.
John
I agree that folks should manage their repos, but I wanted to throw in
a couple of thoughts:
* The package name hacks (eg puppet3) are usually done by
distributions to allow multiple versions of software to co-exist.
* Take a look at the yum versionlock plugin. My life has been much
simpler since I deployed it. For a while I was "exclude"ing puppet
and friends in yum.conf, but that was a real pain. The versionlock
plugin "pins" a package at the version you want, and then you can
update when ready.
It might be worth an enhancement request to have Package: ensure => version call yum versionlock or zypper add-lock if they are present
I agree that folks should manage their repos, but I wanted to throw in
a couple of thoughts:
* The package name hacks (eg puppet3) are usually done by
distributions to allow multiple versions of software to co-exist.
* Take a look at the yum versionlock plugin. My life has been much
simpler since I deployed it. For a while I was "exclude"ing puppet
and friends in yum.conf, but that was a real pain. The versionlock
plugin "pins" a package at the version you want, and then you can
update when ready.
On Tue, Oct 2, 2012 at 1:30 PM, Jeff McCune <je...@puppetlabs.com> wrote:We sent out several notices about this prior to doing it. The Puppet
> On Tue, Oct 2, 2012 at 1:17 PM, Robert Rothenberg <rob...@gmail.com> wrote:
>> I am using CentOS 6 with the PuppetLabs yum repo from
>> http://yum.puppetlabs.com
>>
>> I noticed that today version 3 is available on the repo, so of course, an
>> upgrade to Puppet is available.
>
> Yes, this major version update went live on Monday. There are a
> number of breaking-changes between 2.7 and 3.0 which are described at:
> http://links.puppetlabs.com/telly_breaking_changes
>
>> Ideally, it would have been better if v3 had a different distribution name,
>> so that systems with v2.7.x are not upgraded (especially if there will be
>> future releases if v2.7).
Labs repositories are designed to be the place you get the latest
software from Puppet Labs. This was a conscious choice.
* Take a look at the yum versionlock plugin. My life has been much
simpler since I deployed it. For a while I was "exclude"ing puppet
and friends in yum.conf, but that was a real pain. The versionlock
plugin "pins" a package at the version you want, and then you can
update when ready.
I know for that practice, but the problem is that it makes upgrade from
samba to samba3x packages a problem. So I would rather avoid that with
the puppet. And if you know how to add puppetlabs repo to yum, then
you'll know how to choose what version repo to use. Just take a look at
postgresql repositories.
On 10/08/2012 09:21 PM, Jeff McCune wrote:I think the easiest way of handling this issue is to have different repositories for different versions of puppet.
I hope this helps and thank you again for reporting this issue,
I'm trying to close the loop on this thread.
Completed:
* The upgrade guide has been updated to mention software
pinning/freezing etc: http://docs.puppetlabs.com/guides/upgrading.html
* We have filed an enhancement request to allow range pinning in
puppet itself. http://projects.puppetlabs.com/issues/17102 If this
is interesting to you, please watch, upvote and/or submit patches for
this.
Commitments:
* Puppet Labs Software Delivery org will be publishing policies around
our repositories
* We will do more communication around breaking changes landing in our
repositories, and evaluate needs to address breakage on a case-by-case
basis.
Comments:
* We've had over 90,000 downloads of Puppet 3 from our repositories
(not counting Mac, Windows, Solaris, or rubygems.org). We've had
concerns voiced by less than 15 people total. I realize this doesn't
mean everybody who had issues reported anything to us.
The idea of separate repositories has been brought up, and debated
heavily internally. We currently have over 500 package repository
targets based on versions, architectures and repo-streams (devel,
deps, products) etc. Branching for each major product (puppet,
puppetdb, mcollective) is multiplicative and would result in many,
many more each time we branch.
This could easily cause confusion
about which repositories to enable, disable, use for migrations from
one version to the next etc.
While we haven't ruled out this approach in the future, it requires
quite a lot of build toolchain and automation changes. It's likely as
a user you would get more value from Puppet Labs spending their
efforts elsewhere.