From a58650e05d73103f882495672e5370219d20e18d Mon Sep 17 00:00:00 2001 From: "Eric D. Helms" Date: Fri, 16 Feb 2024 16:32:01 -0500 Subject: [PATCH 1/3] Remove old options from installer reset --- .../procedures/restore/installer_reset.rb | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/definitions/procedures/restore/installer_reset.rb b/definitions/procedures/restore/installer_reset.rb index f956d659d..9e9088933 100644 --- a/definitions/procedures/restore/installer_reset.rb +++ b/definitions/procedures/restore/installer_reset.rb @@ -12,28 +12,12 @@ def run def installer_cmd installer = "yes | #{feature(:installer).installer_command} " - installer << reset_option + installer << '-v --reset-data ' if feature(:instance).foreman_proxy_with_content? installer << '--foreman-proxy-register-in-foreman false ' end - # We always disable system checks to avoid unnecessary errors. The installer should have - # already ran since this is to be run on an existing system, which means installer checks - # has already been skipped - if feature(:foreman_proxy)&.with_content? && - check_max_version('foreman-installer', '3.4') - installer << '--disable-system-checks ' - end installer end - - def reset_option - if check_min_version('foreman', '2.2') || \ - check_min_version('foreman-proxy', '2.2') - return '-v --reset-data ' - end - - '-v --reset ' - end end end From 2e65e54ee46913e52b86f563c5a69a8842ad2eaa Mon Sep 17 00:00:00 2001 From: "Eric D. Helms" Date: Fri, 16 Feb 2024 18:51:14 -0500 Subject: [PATCH 2/3] Drop all min_version checks --- definitions/checks/disk/available_space_candlepin.rb | 2 +- definitions/checks/foreman/check_corrupted_roles.rb | 3 --- .../checks/foreman/validate_external_db_version.rb | 3 +-- definitions/features/foreman_tasks.rb | 8 +++----- definitions/features/pulpcore_database.rb | 2 +- definitions/procedures/foreman/fix_corrupted_roles.rb | 3 --- definitions/procedures/puppet/remove_puppet.rb | 3 +-- definitions/scenarios/puppet.rb | 10 ++++------ 8 files changed, 11 insertions(+), 23 deletions(-) diff --git a/definitions/checks/disk/available_space_candlepin.rb b/definitions/checks/disk/available_space_candlepin.rb index ec306963d..026789a27 100644 --- a/definitions/checks/disk/available_space_candlepin.rb +++ b/definitions/checks/disk/available_space_candlepin.rb @@ -6,7 +6,7 @@ class AvailableSpaceCandlepin < ForemanMaintain::Check description 'Check to make sure /var/lib/candlepin has enough space' tags :pre_upgrade confine do - feature(:candlepin) && check_min_version('candlepin', '3.1') + feature(:candlepin) end end diff --git a/definitions/checks/foreman/check_corrupted_roles.rb b/definitions/checks/foreman/check_corrupted_roles.rb index 0e6885744..273140361 100644 --- a/definitions/checks/foreman/check_corrupted_roles.rb +++ b/definitions/checks/foreman/check_corrupted_roles.rb @@ -6,9 +6,6 @@ class CheckCorruptedRoles < ForemanMaintain::Check for_feature :foreman_database description 'Check for roles that have filters with multiple resources attached' tags :pre_upgrade - confine do - check_min_version('foreman', '1.15') - end end def run diff --git a/definitions/checks/foreman/validate_external_db_version.rb b/definitions/checks/foreman/validate_external_db_version.rb index b77586501..52eb796dd 100644 --- a/definitions/checks/foreman/validate_external_db_version.rb +++ b/definitions/checks/foreman/validate_external_db_version.rb @@ -6,8 +6,7 @@ class ValidateExternalDbVersion < ForemanMaintain::Check tags :pre_upgrade label :validate_external_db_version confine do - feature(:foreman_database) && !feature(:foreman_database).local? && - !check_min_version('foreman', '2.0') + feature(:foreman_database) && !feature(:foreman_database).local? end end diff --git a/definitions/features/foreman_tasks.rb b/definitions/features/foreman_tasks.rb index efc294687..90fa4de0d 100644 --- a/definitions/features/foreman_tasks.rb +++ b/definitions/features/foreman_tasks.rb @@ -93,10 +93,8 @@ def delete(state) DELETE FROM foreman_tasks_locks as ftl where ftl.task_id NOT IN (SELECT id FROM foreman_tasks_tasks); SQL - if check_min_version(foreman_plugin_name('foreman-tasks'), '4.0.0') - sql += 'DELETE FROM foreman_tasks_links as ftl ' \ - 'where ftl.task_id NOT IN (SELECT id FROM foreman_tasks_tasks);' - end + sql += 'DELETE FROM foreman_tasks_links as ftl ' \ + 'where ftl.task_id NOT IN (SELECT id FROM foreman_tasks_tasks);' feature(:foreman_database).psql("BEGIN; #{sql}; COMMIT;") @@ -134,7 +132,7 @@ def services end def service_name - check_min_version('foreman', '1.17') ? 'dynflowd' : 'foreman-tasks' + 'dynflowd' end private diff --git a/definitions/features/pulpcore_database.rb b/definitions/features/pulpcore_database.rb index 34b0b4298..43609409c 100644 --- a/definitions/features/pulpcore_database.rb +++ b/definitions/features/pulpcore_database.rb @@ -9,7 +9,7 @@ class Features::PulpcoreDatabase < ForemanMaintain::Feature label :pulpcore_database confine do - file_nonzero?(PULPCORE_DB_CONFIG) && check_min_version('katello-common', '3.18') + file_nonzero?(PULPCORE_DB_CONFIG) end end diff --git a/definitions/procedures/foreman/fix_corrupted_roles.rb b/definitions/procedures/foreman/fix_corrupted_roles.rb index 092d68c5d..c01a92995 100644 --- a/definitions/procedures/foreman/fix_corrupted_roles.rb +++ b/definitions/procedures/foreman/fix_corrupted_roles.rb @@ -4,9 +4,6 @@ class FixCorruptedRoles < ForemanMaintain::Procedure for_feature :foreman_database desc = 'Create additional filters so that each filter has only permissions of one resource' description desc - confine do - check_min_version('foreman', '1.15') - end end def run diff --git a/definitions/procedures/puppet/remove_puppet.rb b/definitions/procedures/puppet/remove_puppet.rb index acf120685..72d7ac83e 100644 --- a/definitions/procedures/puppet/remove_puppet.rb +++ b/definitions/procedures/puppet/remove_puppet.rb @@ -3,8 +3,7 @@ class RemovePuppet < ForemanMaintain::Procedure metadata do description 'Remove Puppet feature' confine do - feature(:puppet_server) && - (check_min_version('foreman', '3.6') || check_min_version('foreman-proxy', '3.6')) + feature(:puppet_server) end advanced_run false end diff --git a/definitions/scenarios/puppet.rb b/definitions/scenarios/puppet.rb index 9159c041e..d2e882586 100644 --- a/definitions/scenarios/puppet.rb +++ b/definitions/scenarios/puppet.rb @@ -10,12 +10,10 @@ class RemovePuppet < ForemanMaintain::Scenario end def compose - if check_min_version('foreman', '3.0') || check_min_version('foreman-proxy', '3.0') - add_step(Checks::CheckPuppetCapsules) if server? - add_step(Procedures::Puppet::RemovePuppet) - add_step(Procedures::Puppet::RemovePuppetData) if context.get(:remove_data) - add_step(Procedures::Service::Restart) - end + add_step(Checks::CheckPuppetCapsules) if server? + add_step(Procedures::Puppet::RemovePuppet) + add_step(Procedures::Puppet::RemovePuppetData) if context.get(:remove_data) + add_step(Procedures::Service::Restart) end end end From b5a55bce6659df9d1adf7989770b7526d00febe8 Mon Sep 17 00:00:00 2001 From: "Eric D. Helms" Date: Fri, 16 Feb 2024 18:52:23 -0500 Subject: [PATCH 3/3] Drop uses of max_version --- definitions/features/foreman_proxy.rb | 6 +- definitions/features/foreman_tasks.rb | 4 +- .../remove_duplicate_obsolete_roles.rb | 64 ------------------- 3 files changed, 2 insertions(+), 72 deletions(-) delete mode 100644 definitions/procedures/foreman/remove_duplicate_obsolete_roles.rb diff --git a/definitions/features/foreman_proxy.rb b/definitions/features/foreman_proxy.rb index 8e017511c..6e14a8742 100644 --- a/definitions/features/foreman_proxy.rb +++ b/definitions/features/foreman_proxy.rb @@ -28,11 +28,7 @@ def dhcpd_conf_exist? end def services - services = [system_service('foreman-proxy', 40)] - if check_max_version('foreman-proxy', '2.4') - services << system_service('smart_proxy_dynflow_core', 20) - end - services + [system_service('foreman-proxy', 40)] end def features diff --git a/definitions/features/foreman_tasks.rb b/definitions/features/foreman_tasks.rb index 90fa4de0d..ce2387bf6 100644 --- a/definitions/features/foreman_tasks.rb +++ b/definitions/features/foreman_tasks.rb @@ -91,11 +91,9 @@ def delete(state) DELETE FROM foreman_tasks_tasks WHERE #{tasks_condition}; -- Delete locks and links which may now be orphaned DELETE FROM foreman_tasks_locks as ftl where ftl.task_id NOT IN (SELECT id FROM foreman_tasks_tasks); + DELETE FROM foreman_tasks_links as ftl where ftl.task_id NOT IN (SELECT id FROM foreman_tasks_tasks); SQL - sql += 'DELETE FROM foreman_tasks_links as ftl ' \ - 'where ftl.task_id NOT IN (SELECT id FROM foreman_tasks_tasks);' - feature(:foreman_database).psql("BEGIN; #{sql}; COMMIT;") count(state) diff --git a/definitions/procedures/foreman/remove_duplicate_obsolete_roles.rb b/definitions/procedures/foreman/remove_duplicate_obsolete_roles.rb deleted file mode 100644 index fa0e796e1..000000000 --- a/definitions/procedures/foreman/remove_duplicate_obsolete_roles.rb +++ /dev/null @@ -1,64 +0,0 @@ -module Procedures::Foreman - class RemoveDuplicateObsoleteRoles < ForemanMaintain::Procedure - metadata do - for_feature :foreman_database - description 'Remove duplicate obsolete roles from DB' - confine do - check_max_version('foreman', '1.20') - end - end - - def run - duplicate_roles = feature(:foreman_database).query( - Checks::Foreman::CheckDuplicateRoles.query_to_get_duplicate_roles - ) - roles_hash = duplicate_roles.each_with_object({}) do |role_rec, new_obj| - r_name = role_rec['name'] - new_obj[r_name] = [] unless new_obj.key?(r_name) - new_obj[r_name] << role_rec['id'].to_i - end - duplicate_role_ids = filter_consumed_roles(roles_hash) - remove_obsolete_role_records(duplicate_role_ids) unless duplicate_role_ids.empty? - end - - private - - def filter_consumed_roles(roles_hash) - consumed_role_ids = find_consumed_role_ids - roles_hash.values.map do |ids| - consumed_ids = ids & consumed_role_ids - if consumed_ids.count == 1 - ids -= consumed_ids - elsif consumed_ids.count > 1 - ids -= consumed_ids - update_duplicate_consumed_roles(consumed_ids) - elsif ids.length > 1 - ids.delete(ids.min) - end - ids - end.flatten - end - - def find_consumed_role_ids - feature(:foreman_database).query(<<-SQL).map { |r| r['role_id'].to_i } - select DISTINCT(role_id) role_id from user_roles - SQL - end - - def update_duplicate_consumed_roles(role_ids) - logger.info("Updating name of duplicate consumed roles using id(s): #{role_ids.join(', ')}") - - feature(:foreman_database).psql(<<-SQL) - UPDATE roles set name = concat(name, ' - ', id) where id in (#{role_ids.join(', ')}) - SQL - end - - def remove_obsolete_role_records(role_ids) - feature(:foreman_database).psql(<<-SQL) - BEGIN; - DELETE from roles r where r.id IN (#{role_ids.join(', ')}); - COMMIT; - SQL - end - end -end