#6 Update to 6.4.1
Closed 3 years ago by ignatenkobrain. Opened 5 years ago by ykarel.
rpms/ ykarel/puppet master  into  master

@@ -1,24 +0,0 @@ 

- From 5688991cd78f7c38a1edf28f76e9b7825a7d415a Mon Sep 17 00:00:00 2001

- From: Dominic Cleal <dominic@cleal.org>

- Date: Wed, 31 May 2017 10:07:04 +0100

- Subject: [PATCH 3/5] Remove Fedora release restrictions from DNF provider

- 

- Ensure DNF provider will be used on all versions of Fedora, without new

- ones being excluded.

- ---

-  lib/puppet/provider/package/dnf.rb | 2 +-

-  1 file changed, 1 insertion(+), 1 deletion(-)

- 

- diff --git a/lib/puppet/provider/package/dnf.rb b/lib/puppet/provider/package/dnf.rb

- index 4823ebf..ee27322 100644

- --- a/lib/puppet/provider/package/dnf.rb

- +++ b/lib/puppet/provider/package/dnf.rb

- @@ -28,7 +28,7 @@ Puppet::Type.type(:package).provide :dnf, :parent => :yum do

-        end

-    end

-  

- -  defaultfor :operatingsystem => :fedora, :operatingsystemmajrelease => (22..30).to_a

- +  defaultfor :operatingsystem => :fedora

-    defaultfor :osfamily => :redhat, :operatingsystemmajrelease => ["8"]

-  

-    def self.update_command

@@ -1,28 +0,0 @@ 

- From 76031db0120ef8a3bdee576ca4aac9dc8b2859af Mon Sep 17 00:00:00 2001

- From: Emilien Macchi <emilien@redhat.com>

- Date: Wed, 15 Aug 2018 22:40:35 +0200

- Subject: [PATCH 4/5] (PUP-9069) Add support for RHEL8

- 

- This adds support for the next version of RHEL in the systemd provider.

- Note: I have no idea when it'll be released but we need this patch as we

- need to make Puppet systemd provider working.

- ---

-  lib/puppet/provider/service/systemd.rb | 2 +-

-  1 file changed, 1 insertion(+), 1 deletion(-)

- 

- diff --git a/lib/puppet/provider/service/systemd.rb b/lib/puppet/provider/service/systemd.rb

- index c444861..a68ce96 100644

- --- a/lib/puppet/provider/service/systemd.rb

- +++ b/lib/puppet/provider/service/systemd.rb

- @@ -19,7 +19,7 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do

-    end

-  

-    defaultfor :osfamily => [:archlinux]

- -  defaultfor :osfamily => :redhat, :operatingsystemmajrelease => "7"

- +  defaultfor :osfamily => :redhat, :operatingsystemmajrelease => ["7", "8"]

-    defaultfor :osfamily => :redhat, :operatingsystem => :fedora

-    defaultfor :osfamily => :suse

-    defaultfor :osfamily => :coreos

- -- 

- 2.19.2

- 

@@ -1,27 +0,0 @@ 

- From ffd3da258dd526369d63df022a2fa57f6ed6c473 Mon Sep 17 00:00:00 2001

- From: Dominic Cleal <dominic@cleal.org>

- Date: Wed, 31 May 2017 10:07:04 +0100

- Subject: [PATCH] Remove Fedora release restrictions from DNF provider

- 

- Ensure DNF provider will be used on all versions of Fedora, without new

- ones being excluded.

- ---

-  lib/puppet/provider/package/dnf.rb | 2 +-

-  1 file changed, 1 insertion(+), 1 deletion(-)

- 

- diff --git a/lib/puppet/provider/package/dnf.rb b/lib/puppet/provider/package/dnf.rb

- index e144a1a..c0ed877 100644

- --- a/lib/puppet/provider/package/dnf.rb

- +++ b/lib/puppet/provider/package/dnf.rb

- @@ -28,7 +28,7 @@ Puppet::Type.type(:package).provide :dnf, :parent => :yum do

-        end

-    end

-  

- -  defaultfor :operatingsystem => :fedora, :operatingsystemmajrelease => ['22', '23', '24', '25']

- +  defaultfor :operatingsystem => :fedora

-  

-    def self.update_command

-      # In DNF, update is deprecated for upgrade

- -- 

- 2.7.4

- 

file modified
+9 -15
@@ -24,8 +24,8 @@ 

  %global pending_upgrade_file %{pending_upgrade_path}/upgrade_pending

  

  Name:           puppet

- Version:        5.5.10

- Release:        4%{?dist}

+ Version:        6.4.1

+ Release:        1%{?dist}

  Summary:        A network tool for managing many disparate systems

  License:        ASL 2.0

  URL:            http://puppetlabs.com
@@ -38,17 +38,12 @@ 

  # Puppetlabs messed up with default paths

  Patch01:        0001-Fix-puppet-paths.patch

  Patch02:        0002-Revert-maint-Remove-puppetmaster.service.patch

- Patch03:        0003-Remove-Fedora-release-restrictions-from-DNF-provider.patch

- # Note: Puppet 5.5.7 is broken

- # Backporting patches that add supports for RHEL > 7

- # https://github.com/puppetlabs/puppet/pull/7000 (PUP-9069)

- Patch04:        0004-PUP-9069-Add-support-for-RHEL8.patch

  

  BuildArch:      noarch

  BuildRequires:  git

- BuildRequires:  ruby-devel >= 1.8.7

+ BuildRequires:  ruby-devel >= 2.3.0

  # ruby-devel does not require the base package, but requires -libs instead

- BuildRequires:  ruby >= 1.8.7

+ BuildRequires:  ruby >= 2.3.0

  

  Requires:       puppet-headless = %{version}-%{release}

  
@@ -262,11 +257,6 @@ 

  %{_mandir}/man8/puppet-apply.8.gz

  %{_mandir}/man8/puppet-catalog.8.gz

  %{_mandir}/man8/puppet-describe.8.gz

- %{_mandir}/man8/puppet-ca.8.gz

- %{_mandir}/man8/puppet-cert.8.gz

- %{_mandir}/man8/puppet-certificate.8.gz

- %{_mandir}/man8/puppet-certificate_request.8.gz

- %{_mandir}/man8/puppet-certificate_revocation_list.8.gz

  %{_mandir}/man8/puppet-config.8.gz

  %{_mandir}/man8/puppet-device.8.gz

  %{_mandir}/man8/puppet-doc.8.gz
@@ -285,6 +275,7 @@ 

  %{_mandir}/man8/puppet-report.8.gz

  %{_mandir}/man8/puppet-resource.8.gz

  %{_mandir}/man8/puppet-script.8.gz

+ %{_mandir}/man8/puppet-ssl.8.gz

  %{_mandir}/man8/puppet-status.8.gz

  

  %files server
@@ -297,7 +288,6 @@ 

  %endif

  %config(noreplace) %{_sysconfdir}/puppet/fileserver.conf

  %dir %{_sysconfdir}/puppet/manifests

- %{_mandir}/man8/puppet-master.8.gz

  

  # Fixed uid/gid were assigned in bz 472073 (Fedora), 471918 (RHEL-5),

  # and 471919 (RHEL-4)
@@ -383,6 +373,10 @@ 

  exit 0

  

  %changelog

+ * Wed May 08 2019 Yatin Karel <ykarel@redhat.com> - 6.4.1-1

+ - Update to 6.4.1

+ - Remove unnecessary patches with 6.4.1 Move

+ 

  * Wed Mar 13 2019 Terje Rosten <terje.rosten@ntnu.no> - 5.5.10-4

  - Minor clean up

  

file modified
+2 -2
@@ -1,2 +1,2 @@ 

- SHA512 (puppet-5.5.10.tar.gz) = 70a5684289fc576853bf908adff44c1b1ce4b37d71236e7d7a8d140fa0e3cdd46a4b570cc7e493a3f47641f6be0c3b736ab04a178c30cce4244abe686378bf4b

- SHA512 (puppet-5.5.10.tar.gz.asc) = 884e7f290c6dba7076f7e5c5038326d77997598252fbf432f0e6abcbb3fe676aa38ebe5d8df682e616fa757365de423dd074a174c5e4d4f699832fd6377bd487

+ SHA512 (puppet-6.4.1.tar.gz) = 260f933dac3a3033e807c5b7c63d5562d9d8d29d11550efd38b0a94eac811f27444156cc11db38da170dc2369981072288df471fd05738a0f0e951bbdffe2a52

+ SHA512 (puppet-6.4.1.tar.gz.asc) = 248d400049e455adc291759d48f2094e64aac250e3ecd3f2e76530674b1e2d71c4c917eed4cc6e60aff58f9187de4d5793dcb45b3a3d4fc61025c7230cea63e3

Update to 6.4.1 and remove the patches which are not required
with the move.

Also bump minimum version of ruby to 2.3 as puppet 6 needs
it.

Is server still present in puppet 6?

Hmm digged a little and found puppet master commands removed[1] and running as as service is removed [2] in puppet 6 which was deprecated since long, now for server functionality puppetserver(https://github.com/puppetlabs/puppetserver) needs to be used. Also looks like they missed removing some puppetmaster things from puppet repo[3].
I doubt seeing the deprecation from long puppet-server package in Fedora was working? Now how to move forward with 6.4.1, just remove the server package completely?

[1] https://puppet.com/docs/puppet/6.0/release_notes_puppet.html#puppet-master-command
[2] https://tickets.puppetlabs.com/browse/PUP-8591
[3] https://github.com/puppetlabs/puppet/blob/master/ext/redhat/server.init

I am not sure, that's why I have not upgraded to puppet 6 :-)

Getting a puppetserver package based on https://github.com/puppetlabs/puppetserver
would be the best option, unsure how much work that will be.

Any reason you need to upgrade to puppet 6 now?

OpenStack is switching to puppet-6 and we use fedora builds to test it, that's the immediate need for it.

IIUC, puppet-6 was released in sept '18, so I'd say it'd be good to update it in next Fedora release.

@terjeros can you please check the plan regarding packaging puppetserver to clear path for puppet-6.4.1.

According to puppet lifecycle, puppet-5.5 will be maintained until may-2020 while fedora31 will be " until 1 month after the release of Fedora 33" which is long after may-2020 so i'd say updating to puppet-6 would be good in FC31.

@terjeros what do you think?

Note that Puppet 6 vendors a few modules. These used to be built in, but were extracted. Copying my comment from https://bugs.gentoo.org/671886

Each separated module has it's own release and lifecycle so i guess we should create separated packages and make puppet-agent depends on them for backwards compatibility?

I think that's best. You probably want to set a minimum version that matches to what puppet-agent ships. Not sure if Puppetlabs has a policy on what to allow (probably not because they just bundle a single version), but I'd also apply a maximum version. I think we can assume they follow semantic versioning. This will allow users to treat Puppet x.y.z in Fedora the same Puppet AIO from Puppetlabs.

While testing it, i've also found i need to add semver_puppet ruby library which has been unbundled also

For reference, puppet-agent describes what it bundles. It's good for module authors to consider these the lower version bounds so Fedora isn't odd. Note that this is from puppet-agent 6.6.0.

Name        : puppet-agent
Arch        : x86_64
Version     : 6.6.0
Release     : 1.el7
Size        : 22 M
Repo        : puppet/x86_64
Summary     : The Puppet Agent package contains all of the elements needed to run puppet, including ruby, facter, and hiera.
URL         : https://www.puppetlabs.com
License     : See components
Description : The Puppet Agent package contains all of the elements needed to run puppet, including ruby, facter, and hiera.
            : 
            : Contains the following components:
            : cleanup
            : cpp-hocon 0.2.0
            : cpp-pcp-client 1.6.0
            : dmidecode 2.12
            : facter 3.14.1
            : hiera 3.5.0
            : leatherman 1.7.0
            : libwhereami 0.2.2
            : module-puppetlabs-augeas_core 1.0.4
            : module-puppetlabs-cron_core 1.0.0
            : module-puppetlabs-host_core 1.0.2
            : module-puppetlabs-mount_core 1.0.2
            : module-puppetlabs-scheduled_task 1.0.0
            : module-puppetlabs-selinux_core 1.0.1
            : module-puppetlabs-sshkeys_core 1.0.2
            : module-puppetlabs-yumrepo_core 1.0.3
            : module-puppetlabs-zfs_core 1.0.1
            : module-puppetlabs-zone_core 1.0.1
            : puppet 6.6.0
            : puppet-resource_api 1.8.5
            : puppet-runtime 201906190
            : pxp-agent 1.12.1
            : runtime
            : shellpath 2015-09-18
            : virt-what 1.18
            : wrapper-script

I've prepared some distgits with required new packages and updated puppet in:

https://github.com/amoralej/puppet6_distgit

Also I've built them in a copr for rawhide https://copr.fedorainfracloud.org/coprs/amoralej/puppet6/. Preliminary tests shows it working.

it's weird it doesn't bundle semantic_puppet, in my case i needed it and codewise it shows it was unbundled in 6.0.0.

In addition to this bz, i've created https://bugzilla.redhat.com/show_bug.cgi?id=1728768 about puppet update.

By now Puppet 6.13.0 is out. I know that @skottler no longer works for Red Hat so perhaps it's time to hand over maintenance?

Hi,

This is the first time I am seeing this PR.
I was added as co-maintainer for puppet a few weeeks ago.
I am working on both puppet and puppetserver for el8 [1].

I am in the process of having the code review of all the spec files.
In special the new packages: rubygem-cane [2], rubygem-puppetserver-ca, rubygem-semantic_puppet, puppetserver.

If you want to help, please take a look on those spec files/srpms and let me know if you have suggestions. My email address is brandfbb@gmail.com.

You or anyone else that wants to help, feel free to email me.

  • B

1 - https://copr.fedorainfracloud.org/coprs/brandfbb/puppet-6-on-EPEL-8-with-deps/
2 - https://bugzilla.redhat.com/show_bug.cgi?id=1803276

Oh, I mean puppet and puppetserver 6.

The issue that Puppet in EPEL6 and EPEL7 had was always that it got outdated at some point. EL8 is in a better position with modules but it's still a pain that an ancient Puppet version is in EPEL7. How do you intend to do major version bumps?

Yes, I intend to. Taking into consideration the EPEL's guidelines and policies[1].

If I had more help it would be easier too.
Right now there's a lot on my plate.

1 https://fedoraproject.org/wiki/EPEL/GuidelinesAndPolicies

Pull-Request has been closed by ignatenkobrain

3 years ago