Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-3328

[leapp] Leapp should ignore a wrongly formatted direct.xml config file if the firewalld service is disabled

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • None
    • Low
    • rhel-upgrades
    • None
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • If docs needed, set a value
    • None
    • 57,005

      Description of problem:
      Customer tried to comment out XML lines with #, leading to a wrongly formatted file in /etc/firewalld/direct.xml. They disabled the service afterwards. Leapp tries to parse that file but should ignore the ParseError like it is done if the file is missing (IOError).

      Version-Release number of selected component (if applicable):
      leapp-upgrade-el7toel8-0.17.0-1.el7_9

      How reproducible:
      Always

      Steps to Reproduce:
      1. cat /etc/firewalld/direct.xml
      <?xml version="1.0" encoding="utf-8"?>
      #<direct>

      1. <rule priority="1" table="filter" ipv="ipv4" chain="OUTPUT">-j DROP</rule>
        #</direct>

      2. leapp preupgrade

      Actual results:
      Process Process-234:
      Traceback (most recent call last):
      File "/usr/lib64/python2.7/multiprocessing/process.py", line 258, in _bootstrap
      self.run()
      File "/usr/lib64/python2.7/multiprocessing/process.py", line 114, in run
      self._target(*self._args, **self._kwargs)
      File "/usr/lib/python2.7/site-packages/leapp/repository/actor_definition.py", line 72, in _do_run
      actor_instance.run(*args, **kwargs)
      File "/usr/lib/python2.7/site-packages/leapp/actors/_init_.py", line 289, in run
      self.process(*args)
      File "/usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/firewalldfactsactor/actor.py", line 33, in process
      tree = ElementTree.parse('/etc/firewalld/direct.xml')
      File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1182, in parse
      tree.parse(source, parser)
      File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 656, in parse
      parser.feed(data)
      File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1642, in feed
      self._raiseerror(v)
      File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
      raise err
      ParseError: not well-formed (invalid token): line 2, column 1

      ======================================================================================================
      Actor firewalld_facts_actor unexpectedly terminated with exit code: 1 - Please check the above details
      ======================================================================================================

      Expected results:
      Ignore that ParseError, possibly with a warning.

      Additional info:
      32 try:
      33 tree = ElementTree.parse('/etc/firewalld/direct.xml')
      34 root = tree.getroot()
      35 facts.ebtablesTablesInUse = firewalldfactsactor.getEbtablesTablesInUse(root)
      36 except IOError:
      37 pass

              leapp-notifications leapp-notifications
              rhn-support-cbesson Christophe Besson
              leapp-notifications leapp-notifications
              RHEL Upgrades QE Team RHEL Upgrades QE Team
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: