Project

General

Profile

Bug #21401

RPM requires puppet4, but installer still requires puppet3

Added by James Shewey over 4 years ago. Updated over 4 years ago.

Status:
Rejected
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Difficulty:
Triaged:
No
Bugzilla link:
Fixed in Releases:
Found in Releases:

Description

During installation of the nightly build, you can see that one of the installers requires puppet4:

[root@slik01 katello]# yum -y install katello-installer foreman-installer
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
No package katello-installer available.
Resolving Dependencies
--> Running transaction check
---> Package foreman-installer.noarch 1:1.17.0-0.develop.201710180325gitb296be2.el7 will be installed
--> Processing Dependency: puppet-agent >= 1.9.0 for package: 1:foreman-installer-1.17.0-0.develop.201710180325gitb296be2.el7.noarch
--> Running transaction check
---> Package puppet-agent.x86_64 0:1.10.8-1.el7 will be installed
--> Finished Dependency Resolution

However, during installation, the installer requires puppet3:
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/execution.rb:235:in `execute'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider.rb:101:in `execute'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/provider/package/yum.rb:197:in `install'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/package.rb:88:in `block (3 levels) in <module:Puppet>'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/property.rb:487:in `set'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/property.rb:561:in `sync'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:236:in `sync'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:134:in `sync_if_needed'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:80:in `perform_changes'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/resource_harness.rb:21:in `evaluate'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:230:in `apply'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:246:in `eval_resource'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:163:in `call'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:163:in `block (2 levels) in evaluate'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:507:in `block in thinmark'
/opt/puppetlabs/puppet/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:506:in `thinmark'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:163:in `block in evaluate'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/graph/relationship_graph.rb:118:in `traverse'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction.rb:154:in `evaluate'
/usr/share/gems/gems/kafo-2.0.2/modules/kafo_configure/lib/puppet/parser/functions/add_progress.rb:30:in `evaluate_with_trigger'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:222:in `block in apply'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:155:in `with_destination'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/transaction/report.rb:142:in `as_logging_destination'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource/catalog.rb:221:in `apply'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:171:in `block in apply_catalog'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:224:in `block in benchmark'
/opt/puppetlabs/puppet/lib/ruby/2.1.0/benchmark.rb:294:in `realtime'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:223:in `benchmark'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:170:in `apply_catalog'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:343:in `run_internal'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:221:in `block in run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:306:in `override'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/configurer.rb:195:in `run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:350:in `apply_catalog'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:274:in `block in main'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet.rb:306:in `override'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:225:in `main'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application/apply.rb:170:in `run_command'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:358:in `block in run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:662:in `exit_on_fail'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:358:in `run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:132:in `run'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:72:in `execute'
/opt/puppetlabs/puppet/bin/puppet:5:in `<main>'
/Stage[main]/Puppet::Server::Install/Package[puppet-server]/ensure: change from purged to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install puppet-server' returned 1: Package puppet-3.8.7-1.el7.noarch is obsoleted by puppet-agent-1.10.8-1.el7.x86_64 which is already installed
Package: puppet-server-3.8.7-1.el7.noarch (Puppet_Server)
Requires: puppet = 3.8.7-1.el7
Installed: puppet-agent-1.10.8-1.el7.x86_64 (@Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-3.5.1-1.el7.noarch (Puppet_Server)
puppet = 3.5.1-1.el7
Available: puppet-3.6.0-1.el7.noarch (Puppet_Server)
puppet = 3.6.0-1.el7
Available: puppet-3.6.1-1.el7.noarch (Puppet_Server)
puppet = 3.6.1-1.el7
Available: puppet-3.6.2-1.el7.noarch (Puppet_Server)
puppet = 3.6.2-1.el7
Available: puppet-3.6.2-3.el7.noarch (epel)
puppet = 3.6.2-3.el7
Available: puppet-3.7.0-1.el7.noarch (Puppet_Server)
puppet = 3.7.0-1.el7
Available: puppet-3.7.1-1.el7.noarch (Puppet_Server)
puppet = 3.7.1-1.el7
Available: puppet-3.7.2-1.el7.noarch (Puppet_Server)
puppet = 3.7.2-1.el7
Available: puppet-3.7.3-1.el7.noarch (Puppet_Server)
puppet = 3.7.3-1.el7
Available: puppet-3.7.4-1.el7.noarch (Puppet_Server)
puppet = 3.7.4-1.el7
Available: puppet-3.7.5-1.el7.noarch (Puppet_Server)
puppet = 3.7.5-1.el7
Available: puppet-3.8.1-1.el7.noarch (Puppet_Server)
puppet = 3.8.1-1.el7
Available: puppet-3.8.2-1.el7.noarch (Puppet_Server)
puppet = 3.8.2-1.el7
Available: puppet-3.8.3-1.el7.noarch (Puppet_Server)
puppet = 3.8.3-1.el7
Available: puppet-3.8.4-1.el7.noarch (Puppet_Server)
puppet = 3.8.4-1.el7
Available: puppet-3.8.5-1.el7.noarch (Puppet_Server)
puppet = 3.8.5-1.el7
Available: puppet-3.8.6-1.el7.noarch (Puppet_Server)
puppet = 3.8.6-1.el7
Available: puppet-3.8.7-1.el7.noarch (Puppet_Server)
puppet = 3.8.7-1.el7
Available: puppet-agent-1.0.0-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.0.1-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.1.0-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.1.1-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.2.0-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.2.1-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.2.2-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.2.4-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.2.5-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.2.6-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.2.7-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.3.0-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.3.1-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.3.2-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.3.4-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.3.5-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.3.6-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.4.0-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.4.1-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.4.2-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.5.0-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.5.1-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.5.2-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.5.3-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.6.0-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.6.1-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.6.2-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.7.0-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.7.1-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.7.2-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.8.0-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.8.1-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.8.2-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.8.3-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.9.0-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.9.1-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.9.2-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.9.3-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.10.0-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.10.1-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.10.2-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.10.3-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.10.4-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.10.5-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.10.6-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
Available: puppet-agent-1.10.7-1.el7.x86_64 (Puppet)
puppet >= 4.0.0-1.el7
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
Installing Done [100%] [..................................................................................]
Something went wrong! Check the log for ERROR-level output

History

#1 Updated by James Shewey over 4 years ago

Error is also present in Release Candidate RC 1.16

#2 Updated by James Shewey over 4 years ago

  • Pull request https://github.com/theforeman/puppet-puppet/pull/560 added

Confirmed that changing puppet require to puppetserver instead of puppet-server resolves the issue; submitted PR. Will need to be backported 1.16 RC.

#3 Updated by Ewoud Kohl van Wijngaarden over 4 years ago

  • Legacy Backlogs Release (now unused) deleted (296)

How do you call the installer? It should autodetect puppet 4 is used and select the puppetserver implementation rather than the old puppet-server one.

#4 Updated by Anonymous over 4 years ago

  • Priority changed from High to Normal
  • Status changed from New to Rejected

Paste of my response in the GH-PR:

I tested everything on a clean (as in "freshly OS install") system and everything is working fine. puppet-puppet does install puppetserver with Puppet 4 or 5 AIO packages installed, so this PR is not correct.

Furthermore the check for AIO Pupept packages is working. If I do have Puppet 3 installed and try to install foreman-installer (nightly version in this case):

[...]
Error: Package: 1:foreman-installer-1.17.0-0.develop.201710260324gitb296be2.el7.noarch (foreman)
           Requires: puppet-agent >= 1.9.0
[...]

For 1.15 the situation might be different there, however, the behaviour described in the redmine issue is not happening on a clean system.

My rough guess is that Puppet 3 was installed on that system and foreman-installer executed with it (thus, filling /etc/foreman-installer/scenarios.d/foreman-answers.yaml with the Puppet 3.x values) and then Puppet got updated to 4.x, but the answers are still for Puppet 3.x.

The easiest solution is to start over with a really clean system.

#5 Updated by James Shewey over 4 years ago

This issue turned out to be caused by recycling my old katello-answers.yaml file. It needed to be regenerated with katello-install --scenario katello --interactive.

Also available in: Atom PDF