Create Child repository on Satellite 5.8 : Incompatible parent and child channel architectures

Solution Verified - Updated -

Environment

Red Hat Satellite 5.8

Issue

  • When creating a custom child channel with the same architecture PPC64LE as the parent channel , the following error shows on the webUI
Incompatible parent and child channel architectures

Resolution

1) Get the parent channel architecture ID

# su - postgres -c "psql -d rhnschema -c\" SELECT * from rhnchannelarch;\""
 id  |      label      | arch_type_id |     name     |            created            |           modified            
-----+-----------------+--------------+--------------+-------------------------------+-------------------------------
 520 | channel-aarch64 |            1 | AArch64      | 2015-01-07 04:00:11+01        | 2015-01-07 04:00:11+01
 521 | channel-ppc64le |            1 | PPC64LE      | 2015-01-07 04:00:11+01        | 2015-01-07 04:00:11+01      <<<<<<<<
 500 | channel-ia32    |            1 | IA-32        | 2012-03-21 16:46:06+01        | 2012-03-21 16:46:06+01
 501 | channel-ia64    |            1 | IA-64        | 2012-03-21 16:46:06+01        | 2012-03-21 16:46:06+01
 502 | channel-sparc   |            1 | Sparc        | 2012-03-21 16:46:06+01        | 2012-03-21 16:46:06+01
 503 | channel-alpha   |            1 | Alpha        | 2012-03-21 16:46:06+01        | 2012-03-21 16:46:06+01
 504 | channel-s390    |            1 | s390         | 2012-03-21 16:46:06+01        | 2012-03-21 16:46:06+01
 505 | channel-s390x   |            1 | s390x        | 2012-03-21 16:46:06+01        | 2012-03-21 16:46:06+01
 506 | channel-iSeries |            1 | iSeries      | 2012-03-21 16:46:06+01        | 2012-03-21 16:46:06+01
 507 | channel-pSeries |            1 | pSeries      | 2012-03-21 16:46:06+01        | 2012-03-21 16:46:06+01
 508 | channel-x86_64  |            1 | x86_64       | 2012-03-21 16:46:06+01        | 2012-03-21 16:46:06+01
 509 | channel-ppc     |            1 | PPC          | 2012-03-21 16:46:06+01        | 2012-03-21 16:46:06+01

2) Insert a new row on table rhnchildchannelarchcompat contains the parent and child architecture ID.

# su - postgres -c "psql -d rhnschema -c\"INSERT INTO rhnchildchannelarchcompat (parent_arch_id, child_arch_id, created, modified) VALUES (521, 521, '2015-01-07 04:00:11+01', '2015-01-07 04:00:11+01');\""
# Expected output
INSERT 0 1
3) Verify the new row
# su - postgres -c "psql -d rhnschema -c\" SELECT * FROM rhnchildchannelarchcompat WHERE parent_arch_id=521;\""
 parent_arch_id | child_arch_id |        created         |        modified        
----------------+---------------+------------------------+------------------------
            521 |           521 | 2015-01-07 04:00:11+01 | 2015-01-07 04:00:11+01

Root Cause

  • The parent channel architecture ID is not existing on the database table rhnchildchannelarchcompat which causes the mismatch between the parent and child channels architectures .

Diagnostic Steps

1) Check the error message on the webUI on tomcat log file /var/log/tomcat6/catalina.out :

catalina.out-20190317:2019-03-15 13:29:49,323 [TP-Processor6] ERROR com.redhat.rhn.common.localization.LocalizationService - *** ERROR: Message with id: [Incompatible parent and child channel architectures] not found.*** called by com.redhat.rhn.frontend.struts.XmlMessageResources.getMessage(XmlMessageResources.java:85)

2) The parent channel architecture ID has not been added to the child compatibility table rhnchildchannelarchcompat while creating the parent channel because of PSQLException error on /var/log/rhn/rhn_taskomatic_daemon.log

INFO   | jvm 1    | 2019/03/12 21:41:16 | 2019-03-12 21:41:16,007 [Thread-57] ERROR com.redhat.rhn.taskomatic.task.ChannelRepodata - Error un/marking in use for channel_label: rhel-ppc64le-server-7
INFO   | jvm 1    | 2019/03/12 21:41:16 | Caused by:
INFO   | jvm 1    | 2019/03/12 21:41:16 | org.hibernate.exception.JDBCConnectionException: could not update: [com.redhat.rhn.taskomatic.TaskoRun#8163194]
INFO   | jvm 1    | 2019/03/12 21:41:16 | Caused by:
INFO   | jvm 1    | 2019/03/12 21:41:16 | org.postgresql.util.PSQLException: An I/O error occured while sending to the backend
INFO   | jvm 1    | 2019/03/12 21:41:16 | Caused by:
INFO   | jvm 1    | 2019/03/12 21:41:16 | java.net.SocketException: Broken pipe (Write failed)

# su - postgres -c "psql -d rhnschema -c\"SELECT * from rhnchildchannelarchcompat where parent_arch_id=(select id from rhnchannelarch where name='PPC64LE') ;;\""
 parent_arch_id | child_arch_id | created | modified 
----------------+---------------+---------+----------
(0 rows)

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments