Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
DescriptionChristophe Besson
2023-01-05 16:34:33 UTC
Description of problem:
`quagga` has initially been marked as removed for RHEL 8.0 (as per our docs) and then it has been marked as replaced by `frr`.
It seems the pes-events.json contains both actions, and finally quagga is removed and frr is not installed.
Due to this, the actor `quaggatofrr` fails to copy the files to /etc/frr.
The upgrade ends in the emergency shell (since it is a post-upgrade action).
Version-Release number of selected component (if applicable):
leapp-data-19
leapp-upgrade-el7toel8-0.17.0-1.el7_9
How reproducible:
Always
Steps to Reproduce:
1. Install `quagga`
2. Run a `leapp upgrade`
3. Reboot
Actual results:
Jan 05 12:40:28 localhost upgrade[23487]: Process Process-204:
Jan 05 12:40:28 localhost upgrade[23487]: Traceback (most recent call last):
Jan 05 12:40:28 localhost upgrade[23487]: File "/usr/lib64/python3.6/multiprocessing/process.py", line 258, in _bootstrap
Jan 05 12:40:28 localhost upgrade[23487]: self.run()
Jan 05 12:40:28 localhost upgrade[23487]: File "/usr/lib64/python3.6/multiprocessing/process.py", line 93, in run
Jan 05 12:40:28 localhost upgrade[23487]: self._target(*self._args, **self._kwargs)
Jan 05 12:40:28 localhost upgrade[23487]: File "/root/tmp_leapp_py3/leapp/repository/actor_definition.py", line 72, in _do_run
Jan 05 12:40:28 localhost upgrade[23487]: actor_instance.run(*args, **kwargs)
Jan 05 12:40:28 localhost upgrade[23487]: File "/root/tmp_leapp_py3/leapp/actors/__init__.py", line 289, in run
Jan 05 12:40:28 localhost upgrade[23487]: self.process(*args)
Jan 05 12:40:28 localhost upgrade[23487]: File "/etc/leapp/repos.d/system_upgrade/el7toel8/actors/quaggatofrr/actor.py", line 23, in process
Jan 05 12:40:28 localhost upgrade[23487]: process_facts(quagga_facts)
Jan 05 12:40:28 localhost upgrade[23487]: File "/etc/leapp/repos.d/system_upgrade/el7toel8/actors/quaggatofrr/libraries/quaggatofrr.py", line 99, in process_facts
Jan 05 12:40:28 localhost upgrade[23487]: _copy_config_files(QUAGGA_CONF_FILES, FRR_CONF_FILES)
Jan 05 12:40:28 localhost upgrade[23487]: File "/etc/leapp/repos.d/system_upgrade/el7toel8/actors/quaggatofrr/libraries/quaggatofrr.py", line 82, in _copy_config_files
Jan 05 12:40:28 localhost upgrade[23487]: shutil.copy(full_path, dest_path)
Jan 05 12:40:28 localhost upgrade[23487]: File "/usr/lib64/python3.6/shutil.py", line 245, in copy
Jan 05 12:40:28 localhost upgrade[23487]: copyfile(src, dst, follow_symlinks=follow_symlinks)
Jan 05 12:40:28 localhost upgrade[23487]: File "/usr/lib64/python3.6/shutil.py", line 121, in copyfile
Jan 05 12:40:28 localhost upgrade[23487]: with open(dst, 'wb') as fdst:
Jan 05 12:40:28 localhost upgrade[23487]: IsADirectoryError: [Errno 21] Is a directory: '/etc/frr/'
Jan 05 12:40:28 localhost upgrade[22897]: ==============================================================================================
Jan 05 12:40:28 localhost upgrade[22897]: Actor quagga_to_frr unexpectedly terminated with exit code: 1 - Please check the above details
Jan 05 12:40:28 localhost upgrade[22897]: ==============================================================================================
Jan 05 12:40:28 localhost upgrade[22897]: 2023-01-05 07:40:28.421 INFO PID: 3 leapp: Answerfile will be created at /var/log/leapp/answerfile
Jan 05 12:40:28 localhost upgrade[22897]: Debug output written to /var/log/leapp/leapp-upgrade.log
Jan 05 12:40:28 localhost upgrade[22897]: ============================================================
Additional info:
- Workaround is to remove the quagga package or to abort that actor by inserting a "return" at the beginning of process_facts() of /usr/share/leapp-repository/repositories/system_upgrade/el7toel8/actors/quaggatofrr/libraries/quaggatofrr.py
- Doc is also deprecated like here:
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-single/considerations_in_adopting_rhel_8/index
- pes-events.json excerpt:
{
"action": 1,
"in_packageset": {
"package": [
{
"name": "quagga",
"repository": "rhel7-base",
"modulestreams": [
null
]
}
],
"set_id": 7652
},
:
:
:
{
"action": 3,
"in_packageset": {
"package": [
{
"name": "quagga",
"repository": "rhel7-base",
"modulestreams": [
null
]
}
],
"set_id": 10159
},
"out_packageset": {
"package": [
{
"name": "frr",
"repository": "rhel8-AppStream",
"modulestreams": [
null
]
}
],
"set_id": 10160
},
Thank you for the report. The frr package is definitely expected to be installed. I've checked related PES events and they seem ok to me. So this is most likely bug in leapp-repository.
Comment 4Christophe Besson
2023-01-06 11:04:47 UTC
Ah ok, thanks for your feedback Petr.
Another workaround for those who can't remove quagga is to remove temporarily the first action from /etc/leapp/files/pes-events.json (when leapp-dataXX.tar.gz has been manually extracted here).
That way the frr package is installed anyway and the actor does not fail:
{
"action": 1,
"in_packageset": {
"package": [
{
"name": "quagga",
"repository": "rhel7-base",
"modulestreams": [
null
]
}
],
"set_id": 7652
},
"out_packageset": null,
"modulestream_maps": [],
"initial_release": {
"os_name": "RHEL",
"major_version": 7,
"minor_version": 7,
"z_stream": null,
"tag": null
},
"release": {
"os_name": "RHEL",
"major_version": 8,
"minor_version": 0,
"z_stream": null,
"tag": null
},
"architectures": [
"x86_64",
"aarch64",
"ppc64le",
"s390x"
],
"id": 4727
},
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory (leapp and leapp-repository bug fix and enhancement update), and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHBA-2023:3187