Skip to content

Commit

Permalink
Factor out the target version to a method
Browse files Browse the repository at this point in the history
This allows copying the scenario without having to modify the target
version everywhere. Ideally more steps would be taken out and reused.
  • Loading branch information
ekohl committed Sep 8, 2022
1 parent 64ea454 commit dab29a9
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 16 deletions.
32 changes: 24 additions & 8 deletions definitions/scenarios/upgrade_to_foreman_nightly.rb
@@ -1,23 +1,39 @@
module Scenarios::Foreman_Nightly
class Abstract < ForemanMaintain::Scenario
def self.target_version
'nightly'
end

def self.upgrade_metadata(&block)
target_version = self.target_version

metadata do
tags :upgrade_scenario
confine do
feature(:foreman_install) || ForemanMaintain.upgrade_in_progress == 'nightly'
feature(:foreman_install) || ForemanMaintain.upgrade_in_progress == target_version
end

@target_version = target_version
def target_version
@target_version
end

def target
"Foreman #{target_version}"
end

instance_eval(&block)
end
end

def target_version
'nightly'
self.target_version
end
end

class PreUpgradeCheck < Abstract
upgrade_metadata do
description 'Checks before upgrading to Foreman nightly'
description "Checks before upgrading to #{target}"
tags :pre_upgrade_checks
run_strategy :fail_slow
end
Expand All @@ -30,7 +46,7 @@ def compose

class PreMigrations < Abstract
upgrade_metadata do
description 'Procedures before upgrading to Foreman nightly'
description "Procedures before upgrading to #{target}"
tags :pre_migrations
end

Expand All @@ -41,7 +57,7 @@ def compose

class Migrations < Abstract
upgrade_metadata do
description 'Upgrade steps for Foreman nightly'
description "Upgrade steps for #{target}"
tags :migrations
run_strategy :fail_fast
end
Expand All @@ -51,7 +67,7 @@ def set_context_mapping
end

def compose
add_step(Procedures::Repositories::Setup.new(:version => 'nightly'))
add_step(Procedures::Repositories::Setup.new(:version => target_version))
if el?
modules_to_enable = ["foreman:#{el_short_name}"]
add_step(Procedures::Packages::EnableModules.new(:module_names => modules_to_enable,
Expand All @@ -64,7 +80,7 @@ def compose

class PostMigrations < Abstract
upgrade_metadata do
description 'Post upgrade procedures for Foreman nightly'
description "Post upgrade procedures for #{target}"
tags :post_migrations
end

Expand All @@ -77,7 +93,7 @@ def compose

class PostUpgradeChecks < Abstract
upgrade_metadata do
description 'Checks after upgrading to Foreman nightly'
description "Checks after upgrading to #{target}"
tags :post_upgrade_checks
run_strategy :fail_slow
end
Expand Down
32 changes: 24 additions & 8 deletions definitions/scenarios/upgrade_to_katello_nightly.rb
@@ -1,23 +1,39 @@
module Scenarios::Katello_Nightly
class Abstract < ForemanMaintain::Scenario
def self.target_version
'nightly'
end

def self.upgrade_metadata(&block)
target_version = self.target_version

metadata do
tags :upgrade_scenario
confine do
feature(:katello_install) || ForemanMaintain.upgrade_in_progress == 'nightly'
feature(:katello_install) || ForemanMaintain.upgrade_in_progress == target_version
end

@target_version = target_version
def target_version
@target_version
end

def target
"Katello #{target_version}"
end

instance_eval(&block)
end
end

def target_version
'nightly'
self.target_version
end
end

class PreUpgradeCheck < Abstract
upgrade_metadata do
description 'Checks before upgrading to Katello nightly'
description "Checks before upgrading to #{target}"
tags :pre_upgrade_checks
run_strategy :fail_slow
end
Expand All @@ -30,7 +46,7 @@ def compose

class PreMigrations < Abstract
upgrade_metadata do
description 'Procedures before upgrading to Katello nightly'
description "Procedures before upgrading to #{target}"
tags :pre_migrations
end

Expand All @@ -41,7 +57,7 @@ def compose

class Migrations < Abstract
upgrade_metadata do
description 'Upgrade steps for Katello nightly'
description "Upgrade steps for #{target}"
tags :migrations
run_strategy :fail_fast
end
Expand All @@ -51,7 +67,7 @@ def set_context_mapping
end

def compose
add_step(Procedures::Repositories::Setup.new(:version => 'nightly'))
add_step(Procedures::Repositories::Setup.new(:version => target_version))
modules_to_enable = ["katello:#{el_short_name}", "pulpcore:#{el_short_name}"]
add_step(Procedures::Packages::EnableModules.new(:module_names => modules_to_enable,
:assumeyes => true))
Expand All @@ -62,7 +78,7 @@ def compose

class PostMigrations < Abstract
upgrade_metadata do
description 'Post upgrade procedures for Katello nightly'
description "Post upgrade procedures for #{target}"
tags :post_migrations
end

Expand All @@ -75,7 +91,7 @@ def compose

class PostUpgradeChecks < Abstract
upgrade_metadata do
description 'Checks after upgrading to Katello nightly'
description "Checks after upgrading to #{target}"
tags :post_upgrade_checks
run_strategy :fail_slow
end
Expand Down

0 comments on commit dab29a9

Please sign in to comment.