Bug 1649764 - "Upgrade Satellite Clients Using the Bulk Repository Set UI" is not working as expected.
Summary: "Upgrade Satellite Clients Using the Bulk Repository Set UI" is not working a...
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: katello-agent
Version: 6.4
Hardware: All
OS: All
high
high vote
Target Milestone: Unspecified
Assignee: satellite6-bugs
QA Contact: Radovan Drazny
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-11-14 13:32 UTC by Raviraj Lavande
Modified: 2020-05-01 13:30 UTC (History)
19 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-05-01 13:30:59 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Raviraj Lavande 2018-11-14 13:32:20 UTC
Description of problem:

While upgrading the satellite clients (to satellite 6.4) using the method mentioned in the following documentation i.e "Upgrade Satellite Clients Using the Bulk Repository Set UI" it is not working as expected. There are some yum transactions which are not completing and it hampers the yum db as well.  

~~~
Upgrade Satellite Clients Using the Bulk Repository Set UI

---> https://access.redhat.com/documentation/en-us/red_hat_satellite/6.4/html/upgrading_and_updating_red_hat_satellite/upgrading_red_hat_satellite#upgrading_clients
~~~

~~~
[root@test01 ~]# yum history info 4
Loaded plugins: enabled_repos_upload, package_upload, product-id, search-disabled-repos, subscription-manager
Transaction ID : 4
Begin time     : Wed Nov 14 07:27:36 2018
Begin rpmdb    : 349:6dfa07d1d0bd9e811a36347d07ca5b79b610e327
User           : System <unset>
Return-Code    : ** Aborted **
Transaction performed with:
    Installed     rpm-4.11.3-32.el7.x86_64                  @anaconda/7.5
    Installed     subscription-manager-1.20.10-1.el7.x86_64 @anaconda/7.5
    Installed     yum-3.4.3-158.el7.noarch                  @anaconda/7.5
    Installed     yum-metadata-parser-1.1.4-10.el7.x86_64   @anaconda/7.5
Packages Altered:
    Updated    gofer-2.7.8-1.el7.noarch                        @rhel-7-server-satellite-tools-6.3-rpms
    Update           2.12.1-1.el7sat.noarch                    installed
    Updated    katello-agent-3.1.0-2.el7sat.noarch             @rhel-7-server-satellite-tools-6.3-rpms
    Obsoleting katello-agent-3.3.5-3.el7sat.noarch             installed
    Obsoleted  pulp-rpm-handlers-2.13.4.9-1.el7sat.noarch      @rhel-7-server-satellite-tools-6.3-rpms
 ** Updated    python-gofer-2.7.8-1.el7.noarch                 @rhel-7-server-satellite-tools-6.3-rpms
    Update                  2.12.1-1.el7sat.noarch             installed
 ** Updated    python-gofer-proton-2.7.8-1.el7.noarch          @rhel-7-server-satellite-tools-6.3-rpms
    Update                         2.12.1-1.el7sat.noarch      installed
 ** Obsoleted  python-pulp-agent-lib-2.13.4.16-1.el7sat.noarch @rhel-7-server-satellite-tools-6.3-rpms
 ** Obsoleted  python-pulp-rpm-common-2.13.4.9-1.el7sat.noarch @rhel-7-server-satellite-tools-6.3-rpms
Scriptlet output:
   1 warning: %postun(gofer-2.7.8-1.el7.noarch) scriptlet failed, signal 15
history info
Uploading Enabled Repositories Report
Loaded plugins: product-id, subscription-manager
~~~

If we run the yum update it fails with the following error.

~~~
[root@vm249-113 ~]# yum update 
Loaded plugins: enabled_repos_upload, package_upload, product-id, search-disabled-repos, subscription-manager
rhel-7-server-satellite-tools-6.4-rpms                                                                                                                                                      | 2.1 kB  00:00:00     
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
The program yum-complete-transaction is found in the yum-utils package.
--> Running transaction check
---> Package katello-host-tools.noarch 0:3.1.0-2.el7sat will be updated
---> Package katello-host-tools.noarch 0:3.3.5-3.el7sat will be an update
---> Package katello-host-tools-fact-plugin.noarch 0:3.1.0-2.el7sat will be updated
---> Package katello-host-tools-fact-plugin.noarch 0:3.3.5-3.el7sat will be an update
---> Package python-pulp-common.noarch 0:2.13.4.16-1.el7sat will be updated
--> Processing Dependency: python-pulp-common < 2.13.5 for package: python-pulp-rpm-common-2.13.4.9-1.el7sat.noarch
--> Processing Dependency: python-pulp-common = 2.13.4.16 for package: python-pulp-agent-lib-2.13.4.16-1.el7sat.noarch
---> Package python-pulp-common.noarch 0:2.16.4.1-1.el7sat will be an update
--> Finished Dependency Resolution
Error: Package: python-pulp-rpm-common-2.13.4.9-1.el7sat.noarch (@rhel-7-server-satellite-tools-6.3-rpms)
           Requires: python-pulp-common < 2.13.5
           Removing: python-pulp-common-2.13.4.16-1.el7sat.noarch (@rhel-7-server-satellite-tools-6.3-rpms)
               python-pulp-common = 2.13.4.16-1.el7sat
           Updated By: python-pulp-common-2.16.4.1-1.el7sat.noarch (rhel-7-server-satellite-tools-6.4-rpms)
               python-pulp-common = 2.16.4.1-1.el7sat
Error: Package: python-pulp-agent-lib-2.13.4.16-1.el7sat.noarch (@rhel-7-server-satellite-tools-6.3-rpms)
           Requires: python-pulp-common = 2.13.4.16
           Removing: python-pulp-common-2.13.4.16-1.el7sat.noarch (@rhel-7-server-satellite-tools-6.3-rpms)
               python-pulp-common = 2.13.4.16-1.el7sat
           Updated By: python-pulp-common-2.16.4.1-1.el7sat.noarch (rhel-7-server-satellite-tools-6.4-rpms)
               python-pulp-common = 2.16.4.1-1.el7sat
 You could try using --skip-broken to work around the problem
** Found 3 pre-existing rpmdb problem(s), 'yum check' output follows:
gofer-2.12.1-1.el7sat.noarch is a duplicate with gofer-2.7.8-1.el7.noarch
python-gofer-2.12.1-1.el7sat.noarch is a duplicate with python-gofer-2.7.8-1.el7.noarch
python-gofer-proton-2.12.1-1.el7sat.noarch is a duplicate with python-gofer-proton-2.7.8-1.el7.noarch
Uploading Enabled Repositories Report
Loaded plugins: product-id, subscription-manager
[root@test01 ~]# 
~~~

~~~
[root@test01 ~]# yum history list 
Loaded plugins: enabled_repos_upload, package_upload, product-id, search-disabled-repos, subscription-manager
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     4 | System <unset>           | 2018-11-14 07:27 | O, U           |    7 **
     3 | root <root>              | 2018-11-14 07:23 | Install        |    1  <
     2 | root <root>              | 2018-11-14 07:22 | Install        |   13 ><
     1 | System <unset>           | 2018-11-14 07:05 | Install        |  335 > 
Warning: RPMDB altered outside of yum.
** Found 3 pre-existing rpmdb problem(s), 'yum check' output follows:
gofer-2.12.1-1.el7sat.noarch is a duplicate with gofer-2.7.8-1.el7.noarch
python-gofer-2.12.1-1.el7sat.noarch is a duplicate with python-gofer-2.7.8-1.el7.noarch
python-gofer-proton-2.12.1-1.el7sat.noarch is a duplicate with python-gofer-proton-2.7.8-1.el7.noarch
history list
Uploading Enabled Repositories Report
Loaded plugins: product-id, subscription-manager
~~~

Version-Release number of selected component (if applicable):

Satellite 6.4.x

How reproducible:
Always

Steps to Reproduce:
1. Use the following method to update the "katello-agent"

~~~
Upgrade Satellite Clients Using the Bulk Repository Set UI

---> https://access.redhat.com/documentation/en-us/red_hat_satellite/6.4/html/upgrading_and_updating_red_hat_satellite/upgrading_red_hat_satellite#upgrading_clients
~~~

2. After that, run # yum update


Actual results:

It fails with the errors above mentioned.

Expected results:

Yum db should not be hampered and we should not get the dependency errors while updating the server.

Additional info:

After this issue, We tried to remove the duplicate packages, once removed everything worked as expected.

Comment 6 asamad 2019-01-30 14:04:27 UTC
Please let us know when will the fix for this bug will be released ?

Comment 7 Sayan Das 2019-07-31 23:35:00 UTC

I also can reproduce the same on Satellite 6.5 as well.

1. Create an RHEL 7.5 host and install katello-agent\gofer\python-gofer\katello-host-tools etc packages from "rhel-7-server-satellite-tools-6.4-rpms" repository.

2. Now, enable "rhel-7-server-rpms" and "rhel-7-server-satellite-tools-6.5-rpms" on this host.

3. Apply all the packages from Satellite server via katello-agent [ which will include updates for base OS packages as well as katello-agent\gofer\python-gofer\katello-host-tools etc packages ].

4. Check-in satellite GUI the task will be displayed completed but result of the same action in the host is as below,

   --> "yum history info" about the last transaction says "** Aborted **" and it failed at "1 warning: %postun(gofer-2.12.3-1.el7.noarch) scriptlet failed, signal 15".
   --> "yum history" also complains about "** Found 43 pre-existing rpmdb problem(s), 'yum check' output follows:" which means the transaction was not completed.
   --> There will be duplicate packages present on the host.
   --> Latest kernel installed will only have a vmlinuz file created but not the initramfs file which will create problem during reboot.

To fix this situation,
   1. yum-complete-transaction
   2. yum reinstall <latest-kernel-package>

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

A) This doesn't happen if we simply execute "yum update" or use the feature "Package updates via Remote Execution".

B) Above behavior also does not happen if we don't enable "rhel-7-server-satellite-tools-6.5-rpms" on this host and perform the patching via katello-agent.

The error "1 warning: %postun(gofer-2.12.3-1.el7.noarch) scriptlet failed, signal 15" and fact mentioned in points A and B, led me to believe that,
   --> Everything goes smooth till package installation or upgradation.
   --> When cleanup gets started, yum attempts to remove the old gofer package and as a postuninstall script, it attempts to restart the goferd service.

I believe that is the point where the transaction gets aborted as with to restart of goferd service, the communication with satellite\capsule server(qdrouterd) gets disturbed.


Let me know if the above analysis makes any sense.

Comment 9 Melanie Corr 2019-11-05 11:42:54 UTC
Just an FYI, as part of BZ#1767134, I have added docs to provide a workaround for BZ#1653040.

Thanks, 

Melanie

Comment 10 Bryan Kearney 2020-05-01 13:30:59 UTC
Satellite 6.4 is now End of Life. These bus will not be fixed on the 6.4 stream. Users of Satellite should upgrade to the latest version of Satellite to get access to the most current set of bugfixes and feature improvements.


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