Bug 1346240

Summary: Erlang 18.3.3 update fails
Product: [Community] RDO Reporter: Alan Pevec <apevec>
Component: distributionAssignee: Alan Pevec <apevec>
Status: CLOSED ERRATA QA Contact: Shai Revivo <srevivo>
Severity: urgent Docs Contact:
Priority: urgent    
Version: MitakaCC: apevec, brandon.james, chris.brown, dondavis, fdinitto, gfa, markmc, mrbriancollins, srevivo, thomas.oulevey
Target Milestone: ---Keywords: WorkAround
Target Release: Mitaka   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-06-22 15:30:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
log of yum update none

Description Alan Pevec 2016-06-14 10:53:34 UTC
Description of problem:
Latest erlang build in openstack-common does not include some subpackages which are not used by RabbitMQ but full Erlang ended up on the systems installed by Packstack which is a bug [1]

[1] https://github.com/openstack/packstack/blob/a402b86cbe63e7338a8f48dcdbf90bd53886fd6b/packstack/puppet/templates/amqp.pp#L13-L14

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

---> Package erlang.x86_64 0:R16B-03.16.el7 will be updated
---> Package erlang.x86_64 0:18.3.3-1.el7 will be an update

---> Package rabbitmq-server.noarch 0:3.3.5-17.el7 will be updated
---> Package rabbitmq-server.noarch 0:3.6.2-3.el7 will be an update


Steps to Reproduce:
yum update with RDO Mitaka repository enabled.

Actual results:
Packages skipped because of dependency problems:
    erlang-18.3.3-1.el7.x86_64 from centos-openstack-mitaka
...

Expected results:
Update succeeds, removing subpackages not included in the build.

Comment 1 Peter Lemenkov 2016-06-14 13:56:32 UTC
Hello Alan!
Why is it necessary - to specify erlang package explicitly? All deps should be installed during rabbitmq-server installations (during the dependency calculation time). Or do I miss something here?

Comment 2 Alan Pevec 2016-06-14 14:27:20 UTC
Hi Peter, this was a Packstack bug, which is being fixed: https://review.openstack.org/329450
But we now have deployed systems which need to be unblocked, I'll provide a quickfix after verifying it (removing unnecessary erlang-* packages before yum update) but proper fix should be to have erlang update in RDO which has Obsoletes so that old subpackages which are not provided by the new build are cleaned up from the system.

Comment 3 Peter Lemenkov 2016-06-14 14:34:34 UTC
(In reply to Alan Pevec from comment #2)
> Hi Peter, this was a Packstack bug, which is being fixed:
> https://review.openstack.org/329450
> But we now have deployed systems which need to be unblocked, I'll provide a
> quickfix after verifying it (removing unnecessary erlang-* packages before
> yum update) but proper fix should be to have erlang update in RDO which has
> Obsoletes so that old subpackages which are not provided by the new build
> are cleaned up from the system.

Could you please provide a full yum/dnf output?

Comment 4 Alan Pevec 2016-06-14 14:39:42 UTC
AD steps to reproduce, from a clean EL7 machine:
- yum install epel-release
- yum install erlang
- disable EPEL, enable RDO Mitaka
- yum update

Comment 5 Alan Pevec 2016-06-14 14:42:34 UTC
Created attachment 1167891 [details]
log of yum update

Comment 6 Alan Pevec 2016-06-14 14:48:03 UTC
List of surplus erlang-* which should be remove before yum update:

erlang-appmon-R16B
erlang-common_test-R16B
erlang-cosEventDomain-R16B
erlang-cosEvent-R16B
erlang-cosFileTransfer-R16B
erlang-cosNotification-R16B
erlang-cosProperty-R16B
erlang-cosTime-R16B
erlang-cosTransactions-R16B
erlang-debugger-R16B
erlang-dialyzer-R16B
erlang-diameter-R16B
erlang-edoc-R16B
erlang-eldap-R16B
erlang-erl_docgen-R16B
erlang-erl_interface-R16B
erlang-et-R16B
erlang-eunit-R16B
erlang-examples-R16B
erlang-gs-R16B
erlang-ic-R16B
erlang-jinterface-R16B
erlang-megaco-R16B
erlang-observer-R16B
erlang-odbc-R16B
erlang-orber-R16B
erlang-parsetools-R16B
erlang-percept-R16B
erlang-pman-R16B
erlang-reltool-R16B
erlang-ssh-R16B
erlang-test_server-R16B
erlang-toolbar-R16B
erlang-tv-R16B
erlang-typer-R16B
erlang-webtool-R16B
erlang-wx-R16B

Comment 7 Brandon James 2016-06-14 18:21:43 UTC
I can confirm this error. I first encountered this last week and reported it via IRC on #RDO

Comment 8 Alan Pevec 2016-06-15 09:11:41 UTC
Does this help? (copy/pastable workaround)

cat > /tmp/erlang-SURPLUS <<EOF
erlang-appmon-R16B
erlang-common_test-R16B
erlang-cosEventDomain-R16B
erlang-cosEvent-R16B
erlang-cosFileTransfer-R16B
erlang-cosNotification-R16B
erlang-cosProperty-R16B
erlang-cosTime-R16B
erlang-cosTransactions-R16B
erlang-debugger-R16B
erlang-dialyzer-R16B
erlang-diameter-R16B
erlang-edoc-R16B
erlang-eldap-R16B
erlang-erl_docgen-R16B
erlang-erl_interface-R16B
erlang-et-R16B
erlang-eunit-R16B
erlang-examples-R16B
erlang-gs-R16B
erlang-ic-R16B
erlang-jinterface-R16B
erlang-megaco-R16B
erlang-observer-R16B
erlang-odbc-R16B
erlang-orber-R16B
erlang-parsetools-R16B
erlang-percept-R16B
erlang-pman-R16B
erlang-reltool-R16B
erlang-ssh-R16B
erlang-test_server-R16B
erlang-toolbar-R16B
erlang-tv-R16B
erlang-typer-R16B
erlang-webtool-R16B
erlang-wx-R16B
EOF
yum remove $(cat /tmp/erlang-SURPLUS)

Comment 9 Fabio Massimo Di Nitto 2016-06-15 13:58:46 UTC
Hi Alan,

I am trying to understand what's happening here and I am a bit confused.

packstack installs packages from EPEL and then later on updates to RDO?

where EPEL has the full erlang-* subpackages, while RDO doesn't because it's built from RHOS repos.

Am I missing anything so far?

If I got the picture right, then the issue is not in erlang. Petr tells me that all those missing subpackages, have been filtered out from the RHOS build on purpose as they are only necessary for X11 clients/integrations and we don't want/need to support them in RHOS (or RDO).

EPEL instead gets the full deal inherited from Fedora and that's why it has all the subpackages.

It's not just a matter of Obsolete: here, but simply avoid crossing EPEL and RHOS is the right / correct path.

Comment 12 Andrzej Stanczak 2016-06-17 10:10:45 UTC
(In reply to Alan Pevec from comment #8)
> Does this help? (copy/pastable workaround)
> 
> cat > /tmp/erlang-SURPLUS <<EOF
> erlang-appmon-R16B
> erlang-common_test-R16B
> erlang-cosEventDomain-R16B
> erlang-cosEvent-R16B
> erlang-cosFileTransfer-R16B
> erlang-cosNotification-R16B
> erlang-cosProperty-R16B
> erlang-cosTime-R16B
> erlang-cosTransactions-R16B
> erlang-debugger-R16B
> erlang-dialyzer-R16B
> erlang-diameter-R16B
> erlang-edoc-R16B
> erlang-eldap-R16B
> erlang-erl_docgen-R16B
> erlang-erl_interface-R16B
> erlang-et-R16B
> erlang-eunit-R16B
> erlang-examples-R16B
> erlang-gs-R16B
> erlang-ic-R16B
> erlang-jinterface-R16B
> erlang-megaco-R16B
> erlang-observer-R16B
> erlang-odbc-R16B
> erlang-orber-R16B
> erlang-parsetools-R16B
> erlang-percept-R16B
> erlang-pman-R16B
> erlang-reltool-R16B
> erlang-ssh-R16B
> erlang-test_server-R16B
> erlang-toolbar-R16B
> erlang-tv-R16B
> erlang-typer-R16B
> erlang-webtool-R16B
> erlang-wx-R16B
> EOF
> yum remove $(cat /tmp/erlang-SURPLUS)


Hi, just to say that I've been hit by this exact issue and your solution helped to resolve it. Thanks.

Comment 13 Donny Davis 2016-06-21 19:54:02 UTC
Above Copy and Paste works for me too

Comment 14 Brian Collins 2016-11-01 15:31:57 UTC
Copy and paste did not work for me... package erlang-eldap removed rabbitmq-server...


after reinstall of rabbitmq and this bug: https://bugzilla.redhat.com/show_bug.cgi?id=1185921

It is working again.

Comment 15 Christopher Brown 2017-06-22 15:30:21 UTC
This has since been resolved.