Bug 1552200

Summary: Upgrade to 6.3 failed with "Could not find dependency Class[Puppet::Server::Install] for File[/etc/pki/katello/puppet]"
Product: Red Hat Satellite Reporter: Anto P Joseph <ajoseph>
Component: InstallationAssignee: Ewoud Kohl van Wijngaarden <ekohlvan>
Status: CLOSED ERRATA QA Contact: Nikhil Kathole <nkathole>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.3.0CC: ajoseph, apatel, bkearney, cdonnell, ehelms, ekohlvan, inecas, johannes.grumboeck, karol.kania, kgaikwad, ktordeur, mmccune, pcreech, pparsons, satellite6-bugs, sauchter, sghai, smajumda, smane, sokeeffe, swadeley
Target Milestone: 6.5.0Keywords: Triaged, Upgrades
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-05-14 12:37:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
satellite-installer log
none
satellite.yaml none

Description Anto P Joseph 2018-03-06 16:42:32 UTC
Created attachment 1404935 [details]
satellite-installer log

Description of problem:

Upgrade from Satellite 6.2.14 to 6.3 failed throwing following error.
*Complete installation log attached.

========
[DEBUG 2018-02-28 16:28:14 main] Exit with status code: 1 (signal was 1)
[ERROR 2018-02-28 16:28:14 main] Errors encountered during run:
[ERROR 2018-02-28 16:28:14 main]  Could not find dependency Class[Puppet::Server::Install] for File[/etc/pki/katello/puppet] at /usr/share/katello-installer-base/modules/certs/manifests/puppet.pp:50
[ERROR 2018-02-28 16:28:14 main] /usr/share/ruby/vendor_ruby/puppet/util/errors.rb:106:in `fail'
========

Puppet is installed on this host BUT is installed under a SEPARATE PATH to the puppet version installed and used by Satellite 6. (Update: Now removed Puppet based on our suggestion still same errors).


original Satellite 6.2 install was done with the following arguments:
--capsule-puppet false
--foreman-proxy-dhcp false
 --foreman-proxy-dns false
 --foreman-proxy-puppetrun false 
 --foreman-proxy-puppetca false

" i.e. don't need puppet as part of our Satellite install. "

following options noticed as true in satellite-answers.yaml

============ /etc/foreman-installer/scenarios.d/satellite-answers.yaml
  foreman_proxy_content:
              puppet: true

  puppet:
           manage_packages: true
           agent: true
============

Version-Release number of selected component (if applicable):
6.3

How reproducible:

Steps to Reproduce:
1.
2.
3.

Actual results:

Failed with "Could not find dependency Class[Puppet::Server::Install] for File[/etc/pki/katello/puppet] at /usr/share/katello-installer-base/modules/certs/manifests/puppet.pp:50"

Expected results:

Upgrade should complete without any issue.

Additional info:

Comment 1 Anto P Joseph 2018-03-06 16:46:54 UTC
Created attachment 1404938 [details]
satellite.yaml

Comment 16 Karol Kania 2018-05-16 10:06:21 UTC
Please let us know if there is any update on this issue.

Comment 17 Ewoud Kohl van Wijngaarden 2018-06-26 12:19:48 UTC
The --foreman-proxy-content-puppet parameter controls whether it should install the certificates for the puppet server <-> foreman integration. If you disable the puppet server in the installation then it fails because we chain puppet server installation -> certs. However, you don't need the certs for the integration if there's nothing to integrate with.

This is a side effect of some internals on how to couple modules.

tl;dr: if you have disabled puppet server (--puppet-server false) then you also need to disable the integration (--foreman-proxy-content-puppet false).

Comment 18 Karol Kania 2018-06-27 10:20:28 UTC
RHEL7/Satellite upgrade path 6.2.15 -> 6.3.2

(Before running the foreman-maintain upgrade)
# satellite-installer --scenario satellite --foreman-proxy-content-puppet false
ERROR: Unrecognized option '--foreman-proxy-content-puppet'

Comment 19 Ewoud Kohl van Wijngaarden 2018-06-27 10:56:05 UTC
In Satellite 6.2 the module was called capsule. To install without puppet was then --capsule-pupppet false. In 6.3 this was split and the puppet module is now exposed as a top level module. It looks like the answer file migration doesn't properly migrate the answer which is probably the root cause of this showing up a lot and I missed that part.

Comment 20 Ewoud Kohl van Wijngaarden 2018-06-27 11:10:58 UTC
I am hiding the workaround again because for upgrades it doesn't work. Right now I can't think of a workaround that works with foreman-maintain.

Comment 21 Johannes Grumböck 2018-08-02 12:06:47 UTC
Hello,
I'm also facing this problem when upgraden RHEL7/Satellite 6.2.15 to 6.3 (like Karol Kania) and we have also disabled the puppet feature in 6.2.15.

What helped as a workaround for me was the following:

- run "foreman-maintain upgrade run --target-version 6.3" as mentioned in [0]
  this will run into the mentioned error "Could not find dependency" while upgrading puppet
- run "satellite-installer --scenario satellite --foreman-proxy-content-puppet false --puppet-server false" as mentioned in comment  17.
  this should run fine
- rerun "foreman-maintain upgrade run --target-version 6.3"

Upgrade was successful afterwards.

Best regards,
Johannes



[0] https://access.redhat.com/documentation/en-us/red_hat_satellite/6.3/html-single/upgrading_and_updating_red_hat_satellite/index#upgrading_a_connected_satellite_server

Comment 22 Satellite Program 2018-08-31 12:07:55 UTC
Upstream bug assigned to ekohlvan

Comment 23 Satellite Program 2018-08-31 12:08:00 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue https://projects.theforeman.org/issues/24088 has been resolved.

Comment 24 Bryan Kearney 2018-09-20 12:21:46 UTC
Karol, this will likely land in 6.5.

Comment 28 Nikhil Kathole 2019-02-22 07:03:41 UTC
VERIFIED

Version tested:
Satellite 6.5 snap 16

Steps:

1. Installed satellite 6.4 with puppet and puppet ca features disabled.
# satellite-installer   --no-enable-puppet --foreman-proxy-puppet false --foreman-proxy-puppetca false --foreman-proxy-content-puppet false --foreman-proxy-manage-puppet-group false
2. Upgrade it to 6.5
3. Successful upgrade.

1. Update existing satellite 6.5 to disable puppet and puppetca feature and works fine.

Same scenarios for capsule works fine.

Installing 6.5 with puppet and puppetca feature disabled gives error as per #comment 27. We are tracking it here https://bugzilla.redhat.com/show_bug.cgi?id=1679886

Comment 31 errata-xmlrpc 2019-05-14 12:37:00 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2019:1222