Bug 1914687

Summary: Rebase to github.com/containers/toolbox
Product: Red Hat Enterprise Linux 8 Reporter: Debarshi Ray <debarshir>
Component: toolboxAssignee: Jindrich Novy <jnovy>
Status: CLOSED ERRATA QA Contact: Alex Jia <ajia>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.5CC: dornelas, jerzhang, jnovy, miabbott, petersen, sbarcomb, travier, ypu
Target Milestone: rcKeywords: Triaged
Target Release: 8.0Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: container-tools-rhel8-8050020210702161741.faa19cc5 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-09 17:37:05 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 Debarshi Ray 2021-01-10 20:58:34 UTC
Currently RHEL 8's toolbox RPM ships https://github.com/coreos/toolbox. We would like to switch it to the https://github.com/containers/toolbox project that's been shipping in Fedora for a while.

The current upstream release of https://github.com/containers/toolbox is 0.0.98.1 that supports both rootful and rootless toolbox containers. It's missing support for the Red Hat Universal Base Image, which is being worked on upstream. The goal is to finish this work before making the switch in RHEL 8 to ensure feature parity with https://github.com/coreos/toolbox.

Comment 1 Debarshi Ray 2021-01-10 21:01:12 UTC
I am tentatively taking ownership of this bug because it's already been assigned to me in this corresponding Jira ticket:
https://issues.redhat.com/browse/DESKTOP-376

My apologies in advance, if I have somehow messed this up.

Comment 7 Alex Jia 2021-01-19 06:47:27 UTC
Please also see https://bugzilla.redhat.com/show_bug.cgi?id=1917663

Comment 8 Alex Jia 2021-02-09 04:25:44 UTC
Please also see bug 1926567.

Comment 9 Alex Jia 2021-02-22 23:30:36 UTC
Sanity tests passed - https://bugzilla.redhat.com/show_bug.cgi?id=1917663#c12,
so I tend to close this one as VERIFIED.

Comment 15 Alex Jia 2021-08-03 08:22:44 UTC
It exists an package naming issues for toolbox-0.0.99.2^1.git660b6970e998-1.module+el8.5.0+12014+438a5746,
it should be toolbox-0.0.99.2-1.xxx not toolbox-0.0.99.2^1.xxx I think, and the other looks good.

[root@kvm-07-guest24 ~]# file /usr/bin/toolbox
/usr/bin/toolbox: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=c525996937b40c30ce5d438e53b62ef85bbd1284, stripped

[root@kvm-07-guest24 ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux release 8.5 Beta (Ootpa)

1. using default image
[root@kvm-07-guest24 ~]# toolbox
No toolbox containers found. Create now? [y/N] y
Image required to create toolbox container.
Download registry.access.redhat.com/ubi8/ubi:8.5 (500MB)? [y/N]:  
Error: failed to inspect entry point of container rhel-toolbox-8.5

2. to specify an image
[root@kvm-07-guest24 ~]# toolbox create --image registry.redhat.io/rhel8/support-tools
Image required to create toolbox container.
Download registry.redhat.io/rhel8/support-tools (500MB)? [y/N]: y
Created container: support-tools
Enter with: toolbox enter support-tools

[root@kvm-07-guest24 ~]# toolbox list
CONTAINER ID  CONTAINER NAME  CREATED         STATUS   IMAGE NAME
9c3275baacc5  support-tools   15 minutes ago  running  registry.redhat.io/rhel8/support-tools:latest

[root@kvm-07-guest24 ~]# toolbox run --container support-tools ls
NETBOOT_METHOD.TXT  RECIPE.TXT	anaconda-ks.cfg  mod.sh  original-ks.cfg
[root@kvm-07-guest24 ~]# echo $?
0

[root@kvm-07-guest24 ~]# toolbox enter
Error: container rhel-toolbox-8.5 not found
Entering container support-tools instead.
Use the 'create' command to create a different toolbox.
Run 'toolbox --help' for usage.
[root@toolbox ~]# ls
NETBOOT_METHOD.TXT  RECIPE.TXT	anaconda-ks.cfg  mod.sh  original-ks.cfg
[root@toolbox ~]# yum install --showduplicates telnet mtr strace
Failed to set locale, defaulting to C.UTF-8
Updating Subscription Management repositories.
Unable to read consumer identity
Subscription Manager is operating in container mode.

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

Red Hat Universal Base Image 8 (RPMs) - BaseOS                                                                                                                                                                463 kB/s | 787 kB     00:01    
Red Hat Universal Base Image 8 (RPMs) - AppStream                                                                                                                                                             1.7 MB/s | 2.4 MB     00:01    
Red Hat Universal Base Image 8 (RPMs) - CodeReady Builder                                                                                                                                                      19 kB/s |  15 kB     00:00    
Package telnet-1:0.17-76.el8.x86_64 is already installed.
Package mtr-2:0.92-3.el8.x86_64 is already installed.
Package strace-5.7-2.el8.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
[root@toolbox ~]# pwd
/root
[root@toolbox ~]# uname -r
4.18.0-325.el8.x86_64
[root@toolbox ~]# exit
logout
[root@kvm-07-guest24 ~]# echo $?
0

[root@kvm-07-guest24 ~]# toolbox --log-podman list
CONTAINER ID  CONTAINER NAME  CREATED         STATUS   IMAGE NAME
9c3275baacc5  support-tools   24 minutes ago  running  registry.redhat.io/rhel8/support-tools:latest
[root@kvm-07-guest24 ~]# toolbox -v rm support-tools
DEBU Running as real user ID 0                    
DEBU Resolved absolute path to the executable as /usr/bin/toolbox 
DEBU Running on a cgroups v1 host                 
DEBU TOOLBOX_PATH is /usr/bin/toolbox             
DEBU Migrating to newer Podman                    
DEBU Toolbox config directory is /root/.config/toolbox 
DEBU Current Podman version is 3.3.0-dev          
DEBU Creating runtime directory /run/toolbox      
DEBU Old Podman version is 3.3.0-dev              
DEBU Migration not needed: Podman version 3.3.0-dev is unchanged 
DEBU Setting up configuration                     
DEBU Setting up configuration: file /root/.config/containers/toolbox.conf not found 
DEBU Resolving image name                         
DEBU Distribution (CLI): ''                       
DEBU Image (CLI): ''                              
DEBU Release (CLI): ''                            
DEBU Resolved image name                          
DEBU Image: 'ubi:8.5'                             
DEBU Release: '8.5'                               
DEBU Resolving container name                     
DEBU Container: ''                                
DEBU Image: 'ubi:8.5'                             
DEBU Release: '8.5'                               
DEBU Resolved container name                      
DEBU Container: 'rhel-toolbox-8.5'                
DEBU Removing container support-tools             
Error: cannot remove container 9c3275baacc5141541f18a662383ba657d6b7293955b1af05c7aeb6f0d54cb32 as it is running - running or paused containers cannot be removed without force: container state improper
Error: container support-tools is running

[root@kvm-07-guest24 ~]# toolbox rm -f support-tools
[root@kvm-07-guest24 ~]# echo $?
0

[root@kvm-07-guest24 ~]# toolbox --log-level=debug list
DEBU Running as real user ID 0                    
DEBU Resolved absolute path to the executable as /usr/bin/toolbox 
DEBU Running on a cgroups v1 host                 
DEBU TOOLBOX_PATH is /usr/bin/toolbox             
DEBU Migrating to newer Podman                    
DEBU Toolbox config directory is /root/.config/toolbox 
DEBU Current Podman version is 3.3.0-dev          
DEBU Creating runtime directory /run/toolbox      
DEBU Old Podman version is 3.3.0-dev              
DEBU Migration not needed: Podman version 3.3.0-dev is unchanged 
DEBU Setting up configuration                     
DEBU Setting up configuration: file /root/.config/containers/toolbox.conf not found 
DEBU Resolving image name                         
DEBU Distribution (CLI): ''                       
DEBU Image (CLI): ''                              
DEBU Release (CLI): ''                            
DEBU Resolved image name                          
DEBU Image: 'ubi:8.5'                             
DEBU Release: '8.5'                               
DEBU Resolving container name                     
DEBU Container: ''                                
DEBU Image: 'ubi:8.5'                             
DEBU Release: '8.5'                               
DEBU Resolved container name                      
DEBU Container: 'rhel-toolbox-8.5'                
DEBU Fetching all images                          
DEBU Fetching all containers

Comment 16 Jindrich Novy 2021-08-05 11:21:48 UTC
Toolbox was rebased to toolbox-0.0.99.3-1.module+el8.5.0+12136+c1ac9593 - which has much more consistent versioning.

Comment 17 Alex Jia 2021-08-06 03:33:29 UTC
Sanity testing is passed for toolbox-0.0.99.3-1.module+el8.5.0+12136+c1ac9593.x86_64.

Comment 18 Debarshi Ray 2021-08-10 18:29:39 UTC
(In reply to Alex Jia from comment #15)
> It exists an package naming issues for
> toolbox-0.0.99.2^1.git660b6970e998-1.module+el8.5.0+12014+438a5746,
> it should be toolbox-0.0.99.2-1.xxx not toolbox-0.0.99.2^1.xxx I think, and
> the other looks good.

No. It should really be toolbox-0.0.99.2^1.git660b6970e998-1, not the other way round. See the packaging guidelines for snapshots here:
https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/#_snapshots

The other way that you suggested (ie., toolbox-0.0.99.2-1.xxx) is the deprecated versioning scheme which we should no longer use unless really necessary. One problem with that is the %{version} doesn't reflect the fact that it's a Git snapshot.

If the tools in RHEL 8.x support the new versioning scheme, then we should continue to use it. 

(In reply to Jindrich Novy from comment #16)
> Toolbox was rebased to toolbox-0.0.99.3-1.module+el8.5.0+12136+c1ac9593 -
> which has much more consistent versioning.

Umm... toolbox-0.0.99.3-1 is actually wrong. There's no upstream Toolbox 0.0.99.3 release. We are packaging Git snapshots here.

Comment 20 errata-xmlrpc 2021-11-09 17:37:05 UTC
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 (Moderate: container-tools:rhel8 security, 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/RHSA-2021:4154