Closed conxuro closed 3 years ago
Workaround: do not add an ospkgdir as a repo if doesn't contains repodata.
diff otherpkgs otherpkgs.orig
565,567c565
< result=$(curl -s --fail --retry 20 --max-time 60 http://${OSPKGDIR}/ | grep repodata 2>&1)
< if [ $? -eq 0 ]
< then
---
>
578d575
< fi
One comment on this issue that we are experiencing on our side as well with RHELS 8.2:
when the otherpkgs
Postscript gets executed after reboot during provisioning, it is unclear to me why the script tries to generate repository files for the OS packages... because the repository file used during the first stage of the install is actually already present.
Illustration, in our case:
The yum.repos.d
directory content at the time of the otherpkgs
postscript execution is the following:
[root@localhost yum.repos.d]# ls -al /etc/yum.repos.d/
total 40
drwxr-xr-x. 2 root root 203 Jun 25 17:51 .
drwxr-xr-x. 99 root root 8192 Jun 25 17:55 ..
-rw-r--r--. 1 root root 673 Jun 25 17:40 local-repository-0.repo
-rw-r--r-- 1 root root 153 Jun 25 17:43 xCAT-otherpkgs0.repo
-rw-r--r-- 1 root root 150 Jun 25 17:43 xCAT-otherpkgs1.repo
-rw-r--r-- 1 root root 158 Jun 25 17:43 xCAT-otherpkgs2.repo
-rw-r--r-- 1 root root 154 Jun 25 17:43 xCAT-rhels8.2.0-path0.repo
local-repository-0.repo
: Repository for the OS packages, containing the declaration of the multiple subfolders inside the /install/rhels8.2.0/ppc64le
(as specified in the pkgdir
attribute of the OS Image):
[local-rhels8.2.0-ppc64le--install-rhels8.2.0-ppc64le-AppStream]
name=xCAT configured yum repository for /install/rhels8.2.0/ppc64le/AppStream
baseurl=http://p3svc03-adm:80//install/rhels8.2.0/ppc64le/AppStream
enabled=1
gpgcheck=0
[local-rhels8.2.0-ppc64le--install-rhels8.2.0-ppc64le-BaseOS] name=xCAT configured yum repository for /install/rhels8.2.0/ppc64le/BaseOS baseurl=http://p3svc03-adm:80//install/rhels8.2.0/ppc64le/BaseOS enabled=1 gpgcheck=0
[local-rhels8.2.0-ppc64le--install-rhels8.2.0-ppc64le-CRB] name=xCAT configured yum repository for /install/rhels8.2.0/ppc64le/CRB baseurl=http://p3svc03-adm:80//install/rhels8.2.0/ppc64le/CRB enabled=1 gpgcheck=0
* `xCAT-otherpkgs[0-2].repo`: Repository files for the Other Packages (as specified in the `otherpkgdir` attribute of the OS Image)
* `xCAT-rhels8.2.0-path0.repo`: Repository file the the OS Packages generated by the `otherpkgs` Postscript, with an invalid content as it only contains the top directory of the distribution which doesn't contain any `repodata` folder:
[xCAT-rhels8.2.0-path0] name=xCAT-rhels8.2.0-path0 baseurl=http://p3svc03-adm:80/install/rhels8.2.0/ppc64le enabled=1 gpgcheck=0 skip_if_unavailable=True
-> This one is both wrong and redundant. What is the point of this file?
@conxuro Have you tried xCAT 2.16 ? It might have some fixed to deal with CentOS 8.x better.
@nicolas-tallet
The local-repository-0.repo
gets generated during node install from kickstart file.
The xCAT-rhels8.2.0-path0.repo
gets generated by oskpgs
and otherpkgs
postscripts.
Those postscripts get executed when running updatenode
, in case pkgdir
and otherpkgdir
were changed.
But I do not quite understand why a new .repo
file needs to be created instead of reusing the local-repository-0.repo
I'm experiencing this on a new install as well. Seems the xCAT-rhels8.2.0-path0.repo
is created in error as it does not point to anything.
Fixed by #7016
Since CentOS 8.x ISOs doesn't have the same directory structure as 7.x, the otherpkgs poscripts have some issues.
When it's executed manually the command
updatenode node -P otherpkgs
it generates several xCAT-centos8.0-path*.repo files in the node.If linuximage tab's pkgdir value is only the root of ISO (e.g. /install/centos8.0/x86_64), then a repo file with a wrong base URL is generated (e.g. baseurl=http://172.17.0.2:80/install/centos8.0/x86_64) because there is no repodata in that directory but in AppStream and BaseOS subdirectories.
Then any yum command in node results in error:
Maybe other related issues are present with 8.x releases with otherpkgs or related to the ISO image structure.
Tested with: $ cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core)
$ xcatconfig -v Version 2.15 (git commit 218c6d3acc8bdbd7f72115e48cda2b1a3613d18a, built Mon Nov 4 15:17:59 EST 2019)