Bug 1664281

Summary: it would not possible to provision RHEL 8 Beta (and GA) for disconnected customers
Product: Red Hat Satellite Reporter: Jan Hutař <jhutar>
Component: Content ManagementAssignee: Evgeni Golov <egolov>
Status: CLOSED ERRATA QA Contact: Jan Hutař <jhutar>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.5.0CC: ajambhul, bbuckingham, bkearney, ltran, swadeley
Target Milestone: 6.5.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: rhel8-kickstart-setup-0.0.2-1.el7sat Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-05-14 12:39:45 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:
Bug Depends On: 1664261, 1673032    
Bug Blocks:    

Description Jan Hutař 2019-01-08 10:21:13 UTC
Description of problem:
Because kickstart layout on CDN is different to RHEL 8 ISO layout, it would not possible to provision RHEL 8 Beta (and GA) for disconnected customers

Disconnected customers who want to sync kickstart repos are supposed to follow this docs:

    https://access.redhat.com/articles/1375133

but layout (how files/dirs are organized) of KS on CDN differs from layout on RHEL 8 Beta ISO file (I have used "RHEL-8.0-20181113.1-x86_64-dvd1.iso")


Version-Release number of selected component (if applicable):
satellite-6.5.0-5.beta.el7sat.noarch (snap #10)


How reproducible:
always


Steps to Reproduce:
1. Sync this content (you need manifest with "Red Hat Beta" subscription) via Content -> Red Hat Repositories:
    # hammer repository list
    ---|-------------------------------------------------------------------|-----------------------------------------------------|--------------|---------------------------------------------------------------------------------
    ID | NAME                                                              | PRODUCT                                             | CONTENT TYPE | URL                                                                             
    ---|-------------------------------------------------------------------|-----------------------------------------------------|--------------|---------------------------------------------------------------------------------
    34 | Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta Kickstart  | Red Hat Enterprise Linux for x86_64 Beta            | yum          | https://cdn.redhat.com/content/beta/rhel8/8/x86_64/appstream/kickstart          
    35 | Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta RPMs       | Red Hat Enterprise Linux for x86_64 Beta            | yum          | https://cdn.redhat.com/content/beta/rhel8/8/x86_64/appstream/os                 
    30 | Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta Kickstart     | Red Hat Enterprise Linux for x86_64 Beta            | yum          | https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/kickstart             
    31 | Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta RPMs          | Red Hat Enterprise Linux for x86_64 Beta            | yum          | https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os                    
2. Provision some RHEL 8 Beta host (I have first discovered it, then provisioned it) so we know it works
3. Remove these kickstarts via Content -> Red Hat Repositories page (click "minus" icon in right column)
    # hammer repository list
    ---|-------------------------------------------------------------------|-----------------------------------------------------|--------------|---------------------------------------------------------------------------------
    ID | NAME                                                              | PRODUCT                                             | CONTENT TYPE | URL                                                                             
    ---|-------------------------------------------------------------------|-----------------------------------------------------|--------------|---------------------------------------------------------------------------------
    35 | Red Hat Enterprise Linux 8 for x86_64 - AppStream Beta RPMs       | Red Hat Enterprise Linux for x86_64 Beta            | yum          | https://cdn.redhat.com/content/beta/rhel8/8/x86_64/appstream/os                 
    31 | Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta RPMs          | Red Hat Enterprise Linux for x86_64 Beta            | yum          | https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/os                    
4. Now follow the KB article to mimic disconnected Satellite and sync the BaseOS kickstart again
    https://access.redhat.com/articles/1375133
    wget .../sat-6-isos--satellite-5-rhel-6-server-x86_64-2019-01-03T21.46-01.iso   # just to get some basic structure created
    wget .../RHEL-8.0-20181113.1-x86_64-dvd1.iso
    mkdir -p /var/www/html/pub/sat-import/
    mkdir /mnt/iso
    mount -o loop /root/sat-6-isos--satellite-5-rhel-6-server-x86_64-2019-01-03T21.46-01.iso /mnt/iso
    cp -ruv /mnt/iso/* /var/www/html/pub/sat-import/
    umount /mnt/iso

    mkdir -p /var/www/html/pub/sat-import/content/beta/rhel8/8/x86_64/appstream/kickstart
    mkdir -p /var/www/html/pub/sat-import/content/beta/rhel8/8/x86_64/baseos/kickstart
    mount -o loop RHEL-8.0-20181113.1-x86_64-dvd1.iso /var/www/html/pub/sat-import/content/beta/rhel8/8/x86_64/baseos/kickstart

Here is how the directory content and listings file content looks like:
# path=/var/www/html/pub/sat-import/content/beta/rhel8/8/x86_64/baseos/kickstart; while true; do echo "=== $path ==="; ls -al $path; cat $path/listing; echo; path=$( echo "$path" | sed 's|/[^/]*$||' ); [ "$path" = "/var/www/html/pub/sat-import" ] && break; done
=== /var/www/html/pub/sat-import/content/beta/rhel8/8/x86_64/baseos/kickstart ===
total 15
dr-xr-xr-x. 7 root root 2048 Nov 13 19:06 .
drwxr-xr-x. 3 root root   38 Jan  7 16:29 ..
dr-xr-xr-x. 4 root root 2048 Nov 13 19:06 AppStream
dr-xr-xr-x. 4 root root 2048 Nov 13 19:06 BaseOS
-r--r--r--. 1 root root   56 Nov 13 19:04 .discinfo
dr-xr-xr-x. 3 root root 2048 Nov 13 19:06 EFI
dr-xr-xr-x. 3 root root 2048 Nov 13 19:06 images
dr-xr-xr-x. 2 root root 2048 Nov 13 19:06 isolinux
-r--r--r--. 1 root root  442 Nov 13 19:06 TRANS.TBL
-r--r--r--. 1 root root 1641 Nov 13 19:04 .treeinfo
cat: /var/www/html/pub/sat-import/content/beta/rhel8/8/x86_64/baseos/kickstart/listing: No such file or directory

=== /var/www/html/pub/sat-import/content/beta/rhel8/8/x86_64/baseos ===
total 6
drwxr-xr-x. 3 root root   38 Jan  7 16:29 .
drwxr-xr-x. 4 root root   52 Jan  7 16:29 ..
dr-xr-xr-x. 7 root root 2048 Nov 13 19:06 kickstart
-rw-r--r--. 1 root root   10 Jan  7 16:29 listing
kickstart

=== /var/www/html/pub/sat-import/content/beta/rhel8/8/x86_64 ===
total 4
drwxr-xr-x. 4 root root 52 Jan  7 16:29 .
drwxr-xr-x. 3 root root 35 Jan  7 16:26 ..
drwxr-xr-x. 3 root root 38 Jan  7 16:29 appstream
drwxr-xr-x. 3 root root 38 Jan  7 16:29 baseos
-rw-r--r--. 1 root root 17 Jan  7 16:28 listing
appstream
baseos

=== /var/www/html/pub/sat-import/content/beta/rhel8/8 ===
total 4
drwxr-xr-x. 3 root root 35 Jan  7 16:26 .
drwxr-xr-x. 3 root root 30 Jan  7 16:26 ..
-rw-r--r--. 1 root root  6 Jan  7 16:26 listing
drwxr-xr-x. 4 root root 52 Jan  7 16:29 x86_64
x86_64
=== /var/www/html/pub/sat-import/content/beta/rhel8 ===
total 4
drwxr-xr-x. 3 root root 30 Jan  7 16:26 .
drwxr-xr-x. 3 root root 34 Jan  7 16:25 ..
drwxr-xr-x. 3 root root 35 Jan  7 16:26 8
-rw-r--r--. 1 root root  1 Jan  7 16:26 listing
8
=== /var/www/html/pub/sat-import/content/beta ===
total 4
drwxr-xr-x. 3 root root 34 Jan  7 16:25 .
dr-xr-xr-x. 4 root root 45 Jan  7 16:24 ..
-rw-r--r--. 1 root root  5 Jan  7 16:25 listing
drwxr-xr-x. 3 root root 30 Jan  7 16:26 rhel8
rhel8
=== /var/www/html/pub/sat-import/content ===
total 4
dr-xr-xr-x. 4 root root 45 Jan  7 16:24 .
drwxr-xr-x. 3 root root 36 Jan  7 16:23 ..
drwxr-xr-x. 3 root root 34 Jan  7 16:25 beta
dr-xr-xr-x. 3 root root 33 Jan  7 16:22 dist
-r--r--r--. 1 root root  9 Jan  7 16:25 listing
dist
beta

    Content -> Subscriptions -> Manage Manifest -> Red Hat CDN URL configure "http://.../pub/sat-import/" (here I have hit bug 1664261 and were not able to proceed)
    And enable and sync the "Red Hat Enterprise Linux 8 for x86_64 - BaseOS Beta Kickstart" again
5. Click "Build" button to rebuild the host (note you might hit bug 1664016 here)


Actual results:
I do not know yet. I assume it wont work.


Expected results:
It have to work.


Additional info:
How KS looks on CDN:

https://cdn.redhat.com/content/beta/rhel8/8/x86_64/baseos/kickstart/
[DIR] Parent Directory                  14-Nov-2018 01:28     1k  
[DIR] EFI/                              13-Nov-2018 21:48     1k  
[DIR] Packages/                         13-Nov-2018 21:50     1k  
[FILE] discinfo                          13-Nov-2018 18:04     1k  
[FILE] extra_files.json                  13-Nov-2018 17:59     1k  
[DIR] images/                           13-Nov-2018 21:50     1k  
[DIR] isolinux/                         13-Nov-2018 21:50     1k  
[FILE] media.repo                        13-Nov-2018 18:04     1k  
[DIR] repodata/                         13-Nov-2018 21:50     1k  
[FILE] treeinfo                          13-Nov-2018 18:04     1k 

How RHEL 8 Beta ISO looks:

# mount | grep /var/www/html/pub/sat-import/content/beta/rhel8/8/x86_64/baseos/kickstart
/root/RHEL-8.0-20181113.1-x86_64-dvd1.iso on /var/www/html/pub/sat-import/content/beta/rhel8/8/x86_64/baseos/kickstart type iso9660 (ro,relatime)
# ls -al /var/www/html/pub/sat-import/content/beta/rhel8/8/x86_64/baseos/kickstart
total 15
dr-xr-xr-x. 7 root root 2048 Nov 13 19:06 .
drwxr-xr-x. 3 root root   38 Jan  7 16:29 ..
dr-xr-xr-x. 4 root root 2048 Nov 13 19:06 AppStream
dr-xr-xr-x. 4 root root 2048 Nov 13 19:06 BaseOS
-r--r--r--. 1 root root   56 Nov 13 19:04 .discinfo
dr-xr-xr-x. 3 root root 2048 Nov 13 19:06 EFI
dr-xr-xr-x. 3 root root 2048 Nov 13 19:06 images
dr-xr-xr-x. 2 root root 2048 Nov 13 19:06 isolinux
-r--r--r--. 1 root root  442 Nov 13 19:06 TRANS.TBL
-r--r--r--. 1 root root 1641 Nov 13 19:04 .treeinfo

Comment 2 Jan Hutař 2019-01-08 10:22:29 UTC
I need to test this and maybe this is not a bug at all. I just have a theory but can not test because of bug 1664016

Comment 14 errata-xmlrpc 2019-05-14 12:39:45 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, 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-2019:1222