Bug 2101909 - firewalldcollectusedobjectnames actor fails in RHEL 8.4
Summary: firewalldcollectusedobjectnames actor fails in RHEL 8.4
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: leapp-repository
Version: 8.4
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Petr Stodulka
QA Contact: Tomas Dolezal
URL:
Whiteboard:
Depends On:
Blocks: 2016669 2115344
TreeView+ depends on / blocked
 
Reported: 2022-06-28 18:19 UTC by Sergii Golovatiuk
Modified: 2023-01-27 14:12 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: No Doc Update
Doc Text:
Clone Of:
: 2115344 2115345 (view as bug list)
Environment:
Last Closed: 2023-01-27 14:12:28 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker OAMG-7103 0 None None None 2022-06-28 18:31:27 UTC
Red Hat Issue Tracker RHELPLAN-126536 0 None None None 2022-06-28 18:31:31 UTC

Description Sergii Golovatiuk 2022-06-28 18:19:43 UTC
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

Comment 10 Petr Stodulka 2022-09-23 14:09:44 UTC
The PR has been merged in upstream.


Note You need to log in before you can comment on or make changes to this bug.