Description of problem: Re-enabling puppet fails when it was disabled with -f option before. When disabling without this option, re-enable works without any issues. Version-Release number of selected component (if applicable): 6.11.0 snap 20 How reproducible: always Steps to Reproduce: 1. Have a fresh 6.11 Satellite 2. Enable puppet plugin # satellite-installer --enable-foreman-plugin-puppet \ --enable-foreman-cli-puppet \ --foreman-proxy-puppet true \ --foreman-proxy-puppetca true \ --foreman-proxy-content-puppet true \ --enable-puppet \ --puppet-server true \ --puppet-server-foreman-ssl-ca /etc/pki/katello/puppet/puppet_client_ca.crt \ --puppet-server-foreman-ssl-cert /etc/pki/katello/puppet/puppet_client.crt \ --puppet-server-foreman-ssl-key /etc/pki/katello/puppet/puppet_client.key 3. Disable the puppet plugin with -f option # foreman-maintain plugin purge-puppet -f 4. Try to enable puppet plugin again Actual results: ... 2022-05-17 04:45:40 [NOTICE] [configure] 1000 configuration steps out of 2093 steps complete. 2022-05-17 04:45:47 [NOTICE] [configure] 1250 configuration steps out of 2097 steps complete. 2022-05-17 04:46:39 [ERROR ] [configure] '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0] 2022-05-17 04:46:39 [ERROR ] [configure] /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: change from 'notrun' to ['0'] failed: '/usr/sbin/foreman-rake db:migrate' returned 1 instead of one of [0] 2022-05-17 04:47:04 [NOTICE] [configure] 1500 configuration steps out of 2097 steps complete. 2022-05-17 04:47:08 [NOTICE] [configure] 1750 configuration steps out of 2901 steps complete. ... # /usr/sbin/foreman-rake db:migrate == 20121018152459 CreateHostgroupClasses: migrating =========================== -- rename_table(:hostgroups_puppetclasses, :hostgroup_classes) rake aborted! StandardError: An error has occurred, this and all later migrations canceled: PG::UndefinedTable: ERROR: relation "hostgroups_puppetclasses" does not exist /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.4.7/lib/active_record/connection_adapters/postgresql/database_statements.rb:92:in `async_exec' /opt/theforeman/tfm/root/usr/share/gems/gems/activerecord-6.0.4.7/lib/active_record/connection_adapters/postgresql/database_statements.rb:92:in `block (2 levels) in execute' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.4.7/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads' /opt/theforeman/tfm/root/usr/share/gems/gems/activesupport-6.0.4.7/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares' ... Expected results: no errors
*** Bug 2123439 has been marked as a duplicate of this bug. ***
Added fully-reviewed RN.
Connecting Redmine issue: Bug #36942: Unable to enable back puppet plugin again after completely purging the puppet plugin and related stuff - Foreman https://projects.theforeman.org/issues/36942 Fixes #36942 - Improve the puppet plugin cleanup by sayan3296 · Pull Request #9918 · theforeman/foreman https://github.com/theforeman/foreman/pull/9918
Hi, I suggest to remove the issue from 6.15. There hasn't been done any work from the engineering side, and since we have only two snaps before the freeze there is little to no chance of fixing it in time. If we want to fix it in 6.16, we should align it with the scope and make the prioritization accordingly.