From 99b8b9309f1774d7d315b396d57d9be561bb32d9 Mon Sep 17 00:00:00 2001 From: Roman Prilipskii Date: Wed, 26 Jun 2024 13:15:31 +0200 Subject: [PATCH 1/2] Inhibit the upgrade when the file /etc/noleapp is present on the system Created to assist in testing the Leapp failure scenarios in automated environments --- .../common/actors/dummyinhibitor/actor.py | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 repos/system_upgrade/common/actors/dummyinhibitor/actor.py diff --git a/repos/system_upgrade/common/actors/dummyinhibitor/actor.py b/repos/system_upgrade/common/actors/dummyinhibitor/actor.py new file mode 100644 index 0000000000..d0f0b1c4c6 --- /dev/null +++ b/repos/system_upgrade/common/actors/dummyinhibitor/actor.py @@ -0,0 +1,29 @@ +from leapp.actors import Actor +from leapp import reporting +from leapp.reporting import Report +from leapp.tags import ChecksPhaseTag, IPUWorkflowTag + +import os + + +class DummyInhibitor(Actor): + """ + Raise an inhibitor report to halt the upgrade process when the test marker is present. + """ + + name = 'dummy_inhibitor' + consumes = () + produces = (Report,) + tags = (IPUWorkflowTag, ChecksPhaseTag) + + def process(self): + if os.path.exists("/etc/noleapp"): + reporting.create_report([ + reporting.Title('Upgrade blocked by /etc/noleapp'), + reporting.Summary( + '/etc/noleapp file is present, upgrade blocked by dummy_inhibitor actor.' + ), + reporting.Severity(reporting.Severity.HIGH), + reporting.Tags([reporting.Tags.SANITY]), + reporting.Flags([reporting.Flags.INHIBITOR]), + ]) From 55c0ba99fc5e666667802c3411098eb922b2d127 Mon Sep 17 00:00:00 2001 From: Roman Prilipskii Date: Wed, 26 Jun 2024 13:15:31 +0200 Subject: [PATCH 2/2] Rename file to leapp-simulate-inhibitor --- repos/system_upgrade/common/actors/dummyinhibitor/actor.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/repos/system_upgrade/common/actors/dummyinhibitor/actor.py b/repos/system_upgrade/common/actors/dummyinhibitor/actor.py index d0f0b1c4c6..16521ab831 100644 --- a/repos/system_upgrade/common/actors/dummyinhibitor/actor.py +++ b/repos/system_upgrade/common/actors/dummyinhibitor/actor.py @@ -17,11 +17,11 @@ class DummyInhibitor(Actor): tags = (IPUWorkflowTag, ChecksPhaseTag) def process(self): - if os.path.exists("/etc/noleapp"): + if os.path.exists("/etc/leapp-simulate-inhibitor"): reporting.create_report([ - reporting.Title('Upgrade blocked by /etc/noleapp'), + reporting.Title('Upgrade blocked by /etc/leapp-simulate-inhibitor'), reporting.Summary( - '/etc/noleapp file is present, upgrade blocked by dummy_inhibitor actor.' + '/etc/leapp-simulate-inhibitor file is present, upgrade blocked by dummy_inhibitor actor.' ), reporting.Severity(reporting.Severity.HIGH), reporting.Tags([reporting.Tags.SANITY]),