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.

Bug 1646964

Summary: composer-cli image builds fail with min install RHEL 7.6 GA
Product: Red Hat Enterprise Linux 7 Reporter: Phil Griffiths <phil>
Component: lorax-composerAssignee: Brian Lane <bcl>
Status: CLOSED NOTABUG QA Contact: Robert M Williams <rwilliam>
Severity: unspecified Docs Contact: Vladimír Slávik <vslavik>
Priority: unspecified    
Version: 7.6CC: atodorov, dshea, lueberni, phil, sbueno, vslavik, wwoods
Target Milestone: rcKeywords: Extras
Target Release: ---   
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: 2019-01-24 22:32:48 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:

Description Phil Griffiths 2018-11-06 12:26:23 UTC
Description of problem:

composer-cli image builds fail due to missing GTK namespace with min RHEL 7.6 install

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

# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.6 (Maipo)

# rpm -q lorax-composer cockpit-composer composer-cli
lorax-composer-19.7.24-1.el7.x86_64
cockpit-composer-0.1.4-1.el7.noarch
composer-cli-19.7.24-1.el7.x86_64

How reproducible:

yes - happened on both beta and GA releases

Steps to Reproduce:

Installed min RHEL 7.6 GA release VM using Virtualbox 5.2.20 r125813 (Qt5.6.3) - 2048 MB RAM, 16 MB video RAM, 1 CPU

# subscription-manager repos --enable="rhel-7-server-extras-rpms"
# yum -y update

Installed composer as per release notes instructions

# yum install lorax-composer cockpit-composer composer-cli
# systemctl start lorax-composer
# systemctl start cockpit
# systemctl enable lorax-composer.socket
# systemctl enable cockpit.socket

# composer-cli compose start example-http-server qcow2
# composer-cli compose log c0d8117e-0d91-4798-8973-f20546c36e01


Actual results:


09:58:14,129 DEBUG anaconda: running handleException
09:58:14,129 CRIT anaconda: Traceback (most recent call last):

  File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/tui/simpleline/base.py", line 409, in process_events
    handler(event, data)

  File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/tui/__init__.py", line 54, in exception_msg_handler
    sys.excepthook(*msg_data[0])

  File "/usr/lib/python2.7/site-packages/meh/handler.py", line 158, in <lambda>
    self.handleException(DumpInfo(ExceptionInfo(ty, value, tb), obj))

  File "/usr/lib64/python2.7/site-packages/pyanaconda/exception.py", line 112, in handleException
    gi.require_version("Gtk", "3.0")

  File "/usr/lib64/python2.7/site-packages/gi/__init__.py", line 99, in require_version
    raise ValueError('Namespace %s not available' % namespace)

ValueError: Namespace Gtk not available

Expected results:

successful image build rather than failure

Additional info:

Comment 2 Alexander Todorov 2018-11-06 13:21:46 UTC
> Installed min RHEL 7.6 GA

@Phil,
which package set exactly? Is this the "Minimal" package set from anaconda UI, e.g. @core (and/or @base) from kickstart ?

Comment 3 Phil Griffiths 2018-11-06 14:05:46 UTC
Minimal Install through the GUI

#cat /root/anacond-ks.cfg:

#version=DEVEL
# System authorization information
auth --enableshadow --passalgo=sha512
repo --name="Server-HighAvailability" --baseurl=file:///run/install/repo/addons/HighAvailability
repo --name="Server-ResilientStorage" --baseurl=file:///run/install/repo/addons/ResilientStorage
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=gb --xlayouts='gb'
# System language
lang en_GB.UTF-8

# Network information
network  --bootproto=dhcp --device=enp0s3 --ipv6=auto --activate
network  --bootproto=dhcp --device=enp0s8 --onboot=off --ipv6=auto --activate
network  --hostname=rhel76ga

# Root password
rootpw --iscrypted $6$iIiismC07Un1CjF7$vFFdeCW2TMX6rhB7NVWJUPW1PmDdqq0bJ8fUkGuGkulFpwN5ctOfD1g1MtmJfMC6iT4dxRaLRoJ4g6heLg23M.
# System services
services --enabled="chronyd"
# System timezone
timezone Europe/London --isUtc
user --groups=wheel --name=phil --password=$6$rsnyJFUS8mxJxagK$gcyJ9u.Dx6W.Envd4DRMi38IGdv3IfscncCzv8.YdtpUMRewbUMjhUoTscojyjVWCMOkiifJPlwKX3Do5R3gl/ --iscrypted --gecos="phil"
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
autopart --type=lvm
# Partition clearing information
clearpart --none --initlabel

%packages
@^minimal
@core
chrony
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

Comment 4 Phil Griffiths 2018-11-06 15:04:11 UTC
A little more progress

I did:
#yum -y install gtk3

now # composer-cli compose log 9dd963c7-9eaf-4717-88ae-0c182853b6be shows:

15:00:33,483 ERR anaconda: CmdlineError: The following mandatory spokes are not completed:
Installation source
Software selection
15:00:33,483 DEBUG anaconda: running handleException
15:00:33,486 CRIT anaconda: Traceback (most recent call last):

  File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/tui/simpleline/base.py", line 352, in _mainloop
    prompt = last_screen.prompt(self._screens[-1][1])

  File "/usr/lib64/python2.7/site-packages/pyanaconda/ui/tui/hubs/summary.py", line 107, in prompt
    raise CmdlineError(errtxt)

CmdlineError: The following mandatory spokes are not completed:
Installation source
Software selection

15:00:33,586 DEBUG anaconda: Gtk cannot be initialized
15:00:33,586 DEBUG anaconda: In the main thread, running exception handler

Comment 5 Brian Lane 2018-11-06 16:21:37 UTC
gtk is a red-herring here, it's Anaconda's way of saying 'I don't know how to report this crash to bugzilla' and you need to look deeper for the actual problem.

If you take a look at the anaconda logs from 'composer-cli compose logs UUID' it shoud tell you more.

BUT if you have not setup your host with a mirror of the RHEL7.6 content, including the main packages and Optional, it will not work. From the steps you've listed above it looks like it is trying to use CDN content, which doesn't work because there's no way to tell Anaconda how to use the CDN for the actual installation.

Take a look at Stef's post here - https://weldr.io/Running-Composer-on-RHEL/

Comment 6 Phil Griffiths 2018-11-06 18:32:39 UTC
Don't you still need gtk3 though for it to work? 
Isn't 'Namespace Gtk not available' indicating this?
I got a different error as above after installing it that's for sure.

Didn't know I needed offline content for RHEL, so thanks for the blog post. That would explain it.

Comment 7 Brian Lane 2018-11-07 00:41:45 UTC
(In reply to Phil Griffiths from comment #6)
> Don't you still need gtk3 though for it to work? 
> Isn't 'Namespace Gtk not available' indicating this?
> I got a different error as above after installing it that's for sure.
> 
> Didn't know I needed offline content for RHEL, so thanks for the blog post.
> That would explain it.

No, we only use anaconda-tui so there doesn't need to be any gtk3 installed. The actual error is buried in other logs (in this case it's probably in packaging.log where it fails to find the packages it needs or connect to the repos).

Comment 8 Phil Griffiths 2018-11-07 17:15:20 UTC
# tail /root/logs/anaconda/packaging.log
...
15:42:47,434 ERR packaging: No base repo configured
15:42:47,436 WARN packaging: Skipping checkSoftwareSelect, no base repo setup.
15:42:48,343 WARN packaging: Skipping checkSoftwareSelect, no base repo setup.

Yep, you're right. No local repo content so bails.

Comment 13 Brian Lane 2019-01-09 17:33:29 UTC
*** Bug 1664388 has been marked as a duplicate of this bug. ***

Comment 15 Phil Griffiths 2019-01-24 22:32:48 UTC
If it's been documented then it can be closed.