Description of problem: Leapp cannot upgrade 8.4 to 9.1 due to firewalldcollectusedobjectnames actor How reproducible: Always Steps to Reproduce: 1. Run leapp preupgrade Actual results: ==> Processing phase `FactsCollection` ====> * firewalld_collect_used_object_names This actor reads firewalld's configuration and produces Model Process Process-133: Traceback (most recent call last): File "/usr/lib64/python3.6/multiprocessing/process.py", line 258, in _bootstrap self.run() File "/usr/lib64/python3.6/multiprocessing/process.py", line 93, in run self._target(*self._args, **self._kwargs) File "/usr/lib/python3.6/site-packages/leapp/repository/actor_definition.py", line 72, in _do_run actor_instance.run(*args, **kwargs) File "/usr/lib/python3.6/site-packages/leapp/actors/__init__.py", line 289, in run self.process(*args) File "/etc/leapp/repos.d/system_upgrade/el8toel9/actors/firewalldcollectusedobjectnames/actor.py", line 19, in process self.produce(read_config()) File "/etc/leapp/repos.d/system_upgrade/el8toel9/actors/firewalldcollectusedobjectnames/libraries/private_firewalldcollectusedobjectnames.py", line 68, in read_config conf = fw.config.get_zone_config_dict(obj) AttributeError: 'FirewallConfig' object has no attribute 'get_zone_config_dict' Expected results: passed actor Additional info: RHEL 8.4 has python3-firewall-0.8.2-6.el8.noarch RHEL 8.6 has python3-firewall-0.9.3-11.el8.noarch which has /usr/lib/python3.6/site-packages/firewall/core/fw_config.py def get_zone_config_dict(self, obj): return obj.export_config_dict() and actor has private_firewalldcollectusedobjectnames.py conf = fw.config.get_zone_config_dict(obj) As a solution we may fix actor to be compatible with RHEL 8.4. Or backport python3-firewall-0.9.3 to RHEL 8.4
The PR has been merged in upstream.