Has anyone had any luck adding extra rpm's to the xcat kickstart install? I was able to add kernel-devel without an issue by adding it to /opt/xcat/share/xcat/install/centos/compute.centos7.pkglist but if I add other packages outside the base repo, it breaks kickstart. Here is an lsdef of my osimage attributes:  Notice how xcat has a "otherpkgdir=" that doesn't exist? Anyways, I thought I'd try this yumdownload with resolving dependencies to put the packages I need in place:
yum install --downloadonly --downloaddir=/install/centos7.6/x86_64/Packages nano screen gdisk ipa-client htop mdadm
Then I can just add the package name to :
vi /opt/xcat/share/xcat/install/centos/compute.centos7.pkglist
Can I get away with doing this without adding epel-release.repo to the installer, or is there a more official way of going about this? Thanks for your suggestions :)
root@cerebra:/install/centos7.6/x86_64/Packages # yumdownloader --destdir /install/centos7.6/x86_64/Packages --resolve nano screen gdisk ipa-client htop mdadm Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: centos.mirror.ca.planethoster.net * epel: fedora-epel.mirrors.tds.net * extras: centos.mirror.ca.planethoster.net * updates: centos.mirror.ca.planethoster.net --> Running transaction check ---> Package gdisk.x86_64 0:0.8.10-3.el7 will be reinstalled ---> Package htop.x86_64 0:2.2.0-3.el7 will be installed ---> Package ipa-client.x86_64 0:4.6.5-11.el7.centos will be installed --> Processing Dependency: python2-ipaclient = 4.6.5-11.el7.centos for package: ipa-client-4.6.5-11.el7.centos.x86_64 --> Processing Dependency: ipa-common = 4.6.5-11.el7.centos for package: ipa-client-4.6.5-11.el7.centos.x86_64 --> Processing Dependency: ipa-client-common = 4.6.5-11.el7.centos for package: ipa-client-4.6.5-11.el7.centos.x86_64 ---> Package mdadm.x86_64 0:4.1-1.el7 will be installed ---> Package nano.x86_64 0:2.3.1-10.el7 will be reinstalled ---> Package screen.x86_64 0:4.1.0-0.25.20120314git3c2946.el7 will be reinstalled --> Running transaction check ---> Package ipa-client-common.noarch 0:4.6.4-10.el7.centos.2 will be updated --> Processing Dependency: ipa-client-common = 4.6.4-10.el7.centos.2 for package: ipa-client-4.6.4-10.el7.centos.2.x86_64 --> Processing Dependency: ipa-client-common = 4.6.4-10.el7.centos.2 for package: ipa-server-common-4.6.4-10.el7.centos.2.noarch ---> Package ipa-client-common.noarch 0:4.6.5-11.el7.centos will be an update ---> Package ipa-common.noarch 0:4.6.4-10.el7.centos.2 will be updated --> Processing Dependency: ipa-common = 4.6.4-10.el7.centos.2 for package: python2-ipalib-4.6.4-10.el7.centos.2.noarch --> Processing Dependency: ipa-common = 4.6.4-10.el7.centos.2 for package: python2-ipaserver-4.6.4-10.el7.centos.2.noarch --> Processing Dependency: ipa-common = 4.6.4-10.el7.centos.2 for package: ipa-server-4.6.4-10.el7.centos.2.x86_64 ---> Package ipa-common.noarch 0:4.6.5-11.el7.centos will be an update ---> Package python2-ipaclient.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package python2-ipaclient.noarch 0:4.6.5-11.el7.centos will be an update --> Running transaction check ---> Package ipa-client.x86_64 0:4.6.4-10.el7.centos.2 will be updated ---> Package ipa-server.x86_64 0:4.6.4-10.el7.centos.2 will be updated --> Processing Dependency: ipa-server = 4.6.4-10.el7.centos.2 for package: ipa-server-dns-4.6.4-10.el7.centos.2.noarch ---> Package ipa-server.x86_64 0:4.6.5-11.el7.centos will be an update ---> Package ipa-server-common.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package ipa-server-common.noarch 0:4.6.5-11.el7.centos will be an update ---> Package python2-ipalib.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package python2-ipalib.noarch 0:4.6.5-11.el7.centos will be an update ---> Package python2-ipaserver.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package python2-ipaserver.noarch 0:4.6.5-11.el7.centos will be an update --> Running transaction check ---> Package ipa-server-dns.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package ipa-server-dns.noarch 0:4.6.5-11.el7.centos will be an update --> Finished Dependency Resolution
|
|
Jesse I’m looking forward at this topic, because I’m interested too.
In the past this thread happened in this list:
I think it may be related, if not sorry for messing things up.
toggle quoted messageShow quoted text
Has anyone had any luck adding extra rpm's to the xcat kickstart install? I was able to add kernel-devel without an issue by adding it to /opt/xcat/share/xcat/install/centos/compute.centos7.pkglist but if I add other packages outside the base repo, it breaks kickstart. Here is an lsdef of my osimage attributes: <dummyfile.0.part>Notice how xcat has a "otherpkgdir=" that doesn't exist? Anyways, I thought I'd try this yumdownload with resolving dependencies to put the packages I need in place:
yum install --downloadonly --downloaddir=/install/centos7.6/x86_64/Packages nano screen gdisk ipa-client htop mdadm
Then I can just add the package name to :
vi /opt/xcat/share/xcat/install/centos/compute.centos7.pkglist
Can I get away with doing this without adding epel-release.repo to the installer, or is there a more official way of going about this? Thanks for your suggestions :)
root@cerebra:/install/centos7.6/x86_64/Packages # yumdownloader --destdir /install/centos7.6/x86_64/Packages --resolve nano screen gdisk ipa-client htop mdadm Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: centos.mirror.ca.planethoster.net * epel: fedora-epel.mirrors.tds.net * extras: centos.mirror.ca.planethoster.net * updates: centos.mirror.ca.planethoster.net --> Running transaction check ---> Package gdisk.x86_64 0:0.8.10-3.el7 will be reinstalled ---> Package htop.x86_64 0:2.2.0-3.el7 will be installed ---> Package ipa-client.x86_64 0:4.6.5-11.el7.centos will be installed --> Processing Dependency: python2-ipaclient = 4.6.5-11.el7.centos for package: ipa-client-4.6.5-11.el7.centos.x86_64 --> Processing Dependency: ipa-common = 4.6.5-11.el7.centos for package: ipa-client-4.6.5-11.el7.centos.x86_64 --> Processing Dependency: ipa-client-common = 4.6.5-11.el7.centos for package: ipa-client-4.6.5-11.el7.centos.x86_64 ---> Package mdadm.x86_64 0:4.1-1.el7 will be installed ---> Package nano.x86_64 0:2.3.1-10.el7 will be reinstalled ---> Package screen.x86_64 0:4.1.0-0.25.20120314git3c2946.el7 will be reinstalled --> Running transaction check ---> Package ipa-client-common.noarch 0:4.6.4-10.el7.centos.2 will be updated --> Processing Dependency: ipa-client-common = 4.6.4-10.el7.centos.2 for package: ipa-client-4.6.4-10.el7.centos.2.x86_64 --> Processing Dependency: ipa-client-common = 4.6.4-10.el7.centos.2 for package: ipa-server-common-4.6.4-10.el7.centos.2.noarch ---> Package ipa-client-common.noarch 0:4.6.5-11.el7.centos will be an update ---> Package ipa-common.noarch 0:4.6.4-10.el7.centos.2 will be updated --> Processing Dependency: ipa-common = 4.6.4-10.el7.centos.2 for package: python2-ipalib-4.6.4-10.el7.centos.2.noarch --> Processing Dependency: ipa-common = 4.6.4-10.el7.centos.2 for package: python2-ipaserver-4.6.4-10.el7.centos.2.noarch --> Processing Dependency: ipa-common = 4.6.4-10.el7.centos.2 for package: ipa-server-4.6.4-10.el7.centos.2.x86_64 ---> Package ipa-common.noarch 0:4.6.5-11.el7.centos will be an update ---> Package python2-ipaclient.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package python2-ipaclient.noarch 0:4.6.5-11.el7.centos will be an update --> Running transaction check ---> Package ipa-client.x86_64 0:4.6.4-10.el7.centos.2 will be updated ---> Package ipa-server.x86_64 0:4.6.4-10.el7.centos.2 will be updated --> Processing Dependency: ipa-server = 4.6.4-10.el7.centos.2 for package: ipa-server-dns-4.6.4-10.el7.centos.2.noarch ---> Package ipa-server.x86_64 0:4.6.5-11.el7.centos will be an update ---> Package ipa-server-common.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package ipa-server-common.noarch 0:4.6.5-11.el7.centos will be an update ---> Package python2-ipalib.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package python2-ipalib.noarch 0:4.6.5-11.el7.centos will be an update ---> Package python2-ipaserver.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package python2-ipaserver.noarch 0:4.6.5-11.el7.centos will be an update --> Running transaction check ---> Package ipa-server-dns.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package ipa-server-dns.noarch 0:4.6.5-11.el7.centos will be an update --> Finished Dependency Resolution
|
|
You have to create the other packagedir and otherpkglist if you want to use them.
Also, with RPMs that are within the base distro, you don't need to use that mechanism.
You can just edit the template file that's being used, and add the package there.
I do that with many RPMs like mlocate, lsof, etc.
I use the otherpkg function for things like CUDA and the OpenHPC packages and Dell OpenManage that are NOT in the base distro.
Hope that helps.
toggle quoted messageShow quoted text
Jesse I’m looking forward at this topic, because I’m interested too.
In the past this thread happened in this list:
I think it may be related, if not sorry for messing things up.
Has anyone had any luck adding extra rpm's to the xcat kickstart install? I was able to add kernel-devel without an issue by adding it to /opt/xcat/share/xcat/install/centos/compute.centos7.pkglist but if I add other packages outside the base repo, it breaks kickstart. Here is an lsdef of my osimage attributes: <dummyfile.0.part>Notice how xcat has a "otherpkgdir=" that doesn't exist? Anyways, I thought I'd try this yumdownload with resolving dependencies to put the packages I need in place:
yum install --downloadonly --downloaddir=/install/centos7.6/x86_64/Packages nano screen gdisk ipa-client htop mdadm
Then I can just add the package name to :
vi /opt/xcat/share/xcat/install/centos/compute.centos7.pkglist
Can I get away with doing this without adding epel-release.repo to the installer, or is there a more official way of going about this? Thanks for your suggestions :)
root@cerebra:/install/centos7.6/x86_64/Packages # yumdownloader --destdir /install/centos7.6/x86_64/Packages --resolve nano screen gdisk ipa-client htop mdadm Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: centos.mirror.ca.planethoster.net * epel: fedora-epel.mirrors.tds.net * extras: centos.mirror.ca.planethoster.net * updates: centos.mirror.ca.planethoster.net --> Running transaction check ---> Package gdisk.x86_64 0:0.8.10-3.el7 will be reinstalled ---> Package htop.x86_64 0:2.2.0-3.el7 will be installed ---> Package ipa-client.x86_64 0:4.6.5-11.el7.centos will be installed --> Processing Dependency: python2-ipaclient = 4.6.5-11.el7.centos for package: ipa-client-4.6.5-11.el7.centos.x86_64 --> Processing Dependency: ipa-common = 4.6.5-11.el7.centos for package: ipa-client-4.6.5-11.el7.centos.x86_64 --> Processing Dependency: ipa-client-common = 4.6.5-11.el7.centos for package: ipa-client-4.6.5-11.el7.centos.x86_64 ---> Package mdadm.x86_64 0:4.1-1.el7 will be installed ---> Package nano.x86_64 0:2.3.1-10.el7 will be reinstalled ---> Package screen.x86_64 0:4.1.0-0.25.20120314git3c2946.el7 will be reinstalled --> Running transaction check ---> Package ipa-client-common.noarch 0:4.6.4-10.el7.centos.2 will be updated --> Processing Dependency: ipa-client-common = 4.6.4-10.el7.centos.2 for package: ipa-client-4.6.4-10.el7.centos.2.x86_64 --> Processing Dependency: ipa-client-common = 4.6.4-10.el7.centos.2 for package: ipa-server-common-4.6.4-10.el7.centos.2.noarch ---> Package ipa-client-common.noarch 0:4.6.5-11.el7.centos will be an update ---> Package ipa-common.noarch 0:4.6.4-10.el7.centos.2 will be updated --> Processing Dependency: ipa-common = 4.6.4-10.el7.centos.2 for package: python2-ipalib-4.6.4-10.el7.centos.2.noarch --> Processing Dependency: ipa-common = 4.6.4-10.el7.centos.2 for package: python2-ipaserver-4.6.4-10.el7.centos.2.noarch --> Processing Dependency: ipa-common = 4.6.4-10.el7.centos.2 for package: ipa-server-4.6.4-10.el7.centos.2.x86_64 ---> Package ipa-common.noarch 0:4.6.5-11.el7.centos will be an update ---> Package python2-ipaclient.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package python2-ipaclient.noarch 0:4.6.5-11.el7.centos will be an update --> Running transaction check ---> Package ipa-client.x86_64 0:4.6.4-10.el7.centos.2 will be updated ---> Package ipa-server.x86_64 0:4.6.4-10.el7.centos.2 will be updated --> Processing Dependency: ipa-server = 4.6.4-10.el7.centos.2 for package: ipa-server-dns-4.6.4-10.el7.centos.2.noarch ---> Package ipa-server.x86_64 0:4.6.5-11.el7.centos will be an update ---> Package ipa-server-common.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package ipa-server-common.noarch 0:4.6.5-11.el7.centos will be an update ---> Package python2-ipalib.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package python2-ipalib.noarch 0:4.6.5-11.el7.centos will be an update ---> Package python2-ipaserver.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package python2-ipaserver.noarch 0:4.6.5-11.el7.centos will be an update --> Running transaction check ---> Package ipa-server-dns.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package ipa-server-dns.noarch 0:4.6.5-11.el7.centos will be an update --> Finished Dependency Resolution
|
|
Answering my own question again..
toggle quoted messageShow quoted text
root@cerebra:/install/centos7.6/x86_64/Packages # mkdir /install/post root@cerebra:/install/centos7.6/x86_64/Packages # mkdir /install/post/otherpkgs/ root@cerebra:/install/centos7.6/x86_64/Packages # mkdir /install/post/otherpkgs/centos7.6/ root@cerebra:/install/centos7.6/x86_64/Packages # mkdir /install/post/otherpkgs/centos7.6/x86_64 root@cerebra:/install/centos7.6/x86_64/Packages # cd /install/post/otherpkgs/centos7.6/x86_64 root@cerebra:/install/post/otherpkgs/centos7.6/x86_64 # yumdownloader --destdir /install/post/otherpkgs/centos7.6/x86_64 --resolve nano screen gdisk ipa-client htop mdadm Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: centos.mirror.ca.planethoster.net * epel: fedora-epel.mirrors.tds.net * extras: centos.mirror.ca.planethoster.net * updates: centos.mirror.ca.planethoster.net --> Running transaction check ---> Package gdisk.x86_64 0:0.8.10-3.el7 will be reinstalled ---> Package htop.x86_64 0:2.2.0-3.el7 will be installed ---> Package ipa-client.x86_64 0:4.6.5-11.el7.centos will be installed --> Processing Dependency: python2-ipaclient = 4.6.5-11.el7.centos for package: ipa-client-4.6.5-11.el7.centos.x86_64 --> Processing Dependency: ipa-common = 4.6.5-11.el7.centos for package: ipa-client-4.6.5-11.el7.centos.x86_64 --> Processing Dependency: ipa-client-common = 4.6.5-11.el7.centos for package: ipa-client-4.6.5-11.el7.centos.x86_64 ---> Package mdadm.x86_64 0:4.1-1.el7 will be installed ---> Package nano.x86_64 0:2.3.1-10.el7 will be reinstalled ---> Package screen.x86_64 0:4.1.0-0.25.20120314git3c2946.el7 will be reinstalled --> Running transaction check ---> Package ipa-client-common.noarch 0:4.6.4-10.el7.centos.2 will be updated --> Processing Dependency: ipa-client-common = 4.6.4-10.el7.centos.2 for package: ipa-client-4.6.4-10.el7.centos.2.x86_64 --> Processing Dependency: ipa-client-common = 4.6.4-10.el7.centos.2 for package: ipa-server-common-4.6.4-10.el7.centos.2.noarch ---> Package ipa-client-common.noarch 0:4.6.5-11.el7.centos will be an update ---> Package ipa-common.noarch 0:4.6.4-10.el7.centos.2 will be updated --> Processing Dependency: ipa-common = 4.6.4-10.el7.centos.2 for package: python2-ipalib-4.6.4-10.el7.centos.2.noarch --> Processing Dependency: ipa-common = 4.6.4-10.el7.centos.2 for package: python2-ipaserver-4.6.4-10.el7.centos.2.noarch --> Processing Dependency: ipa-common = 4.6.4-10.el7.centos.2 for package: ipa-server-4.6.4-10.el7.centos.2.x86_64 ---> Package ipa-common.noarch 0:4.6.5-11.el7.centos will be an update ---> Package python2-ipaclient.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package python2-ipaclient.noarch 0:4.6.5-11.el7.centos will be an update --> Running transaction check ---> Package ipa-client.x86_64 0:4.6.4-10.el7.centos.2 will be updated ---> Package ipa-server.x86_64 0:4.6.4-10.el7.centos.2 will be updated --> Processing Dependency: ipa-server = 4.6.4-10.el7.centos.2 for package: ipa-server-dns-4.6.4-10.el7.centos.2.noarch ---> Package ipa-server.x86_64 0:4.6.5-11.el7.centos will be an update ---> Package ipa-server-common.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package ipa-server-common.noarch 0:4.6.5-11.el7.centos will be an update ---> Package python2-ipalib.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package python2-ipalib.noarch 0:4.6.5-11.el7.centos will be an update ---> Package python2-ipaserver.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package python2-ipaserver.noarch 0:4.6.5-11.el7.centos will be an update --> Running transaction check ---> Package ipa-server-dns.noarch 0:4.6.4-10.el7.centos.2 will be updated ---> Package ipa-server-dns.noarch 0:4.6.5-11.el7.centos will be an update --> Finished Dependency Resolution No Presto metadata available for base (1/14): gdisk-0.8.10-3.el7.x86_64.rpm | 190 kB 00:00:00 (2/14): ipa-client-common-4.6.5-11.el7.centos.noarch.rpm | 183 kB 00:00:00 (3/14): ipa-client-4.6.5-11.el7.centos.x86_64.rpm | 276 kB 00:00:00 (4/14): htop-2.2.0-3.el7.x86_64.rpm | 103 kB 00:00:00 (5/14): ipa-common-4.6.5-11.el7.centos.noarch.rpm | 609 kB 00:00:00 (6/14): ipa-server-4.6.5-11.el7.centos.x86_64.rpm | 518 kB 00:00:00 (7/14): ipa-server-dns-4.6.5-11.el7.centos.noarch.rpm | 180 kB 00:00:00 (8/14): mdadm-4.1-1.el7.x86_64.rpm | 435 kB 00:00:00 (9/14): ipa-server-common-4.6.5-11.el7.centos.noarch.rpm | 695 kB 00:00:00 (10/14): nano-2.3.1-10.el7.x86_64.rpm | 440 kB 00:00:00 (11/14): python2-ipaclient-4.6.5-11.el7.centos.noarch.rpm | 691 kB 00:00:00 (12/14): python2-ipalib-4.6.5-11.el7.centos.noarch.rpm | 673 kB 00:00:00 (13/14): screen-4.1.0-0.25.20120314git3c2946.el7.x86_64.rpm | 552 kB 00:00:00 (14/14): python2-ipaserver-4.6.5-11.el7.centos.noarch.rpm | 1.5 MB 00:00:00 root@cerebra:/install/post/otherpkgs/centos7.6/x86_64 #
root@cerebra:/install/post/otherpkgs/centos7.6/x86_64 # createrepo . Workers Finished Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete
root@cerebra:/install/post/otherpkgs/centos7.6/x86_64 # nano /install/custom/otherpkgs.pkglist root@cerebra:/install/post/otherpkgs/centos7.6/x86_64 # chdef -t osimage centos7.6-x86_64-install-compute otherpkgdir=/install/post/otherpkgs/centos7.6/x86_64 otherpkglist=/install/custom/otherpkgs.pkglist 1 object definitions have been created or modified.
root@cerebra:/install/post/otherpkgs/centos7.6/x86_64 # lsdef -t osimage centos7.6-x86_64-install-compute Object name: centos7.6-x86_64-install-compute addkcmdline=selinux=0 imagetype=linux osarch=x86_64 osdistroname=centos7.6-x86_64 osname=Linux osvers=centos7.6 otherpkgdir=/install/post/otherpkgs/centos7.6/x86_64 otherpkglist=/install/custom/otherpkgs.pkglist partitionfile=/install/custom/my-partitions pkgdir=/install/centos7.6/x86_64 pkglist=/opt/xcat/share/xcat/install/centos/compute.centos7.pkglist profile=compute provmethod=install template=/opt/xcat/share/xcat/install/centos/compute.centos7.tmpl root@cerebra:/install/post/otherpkgs/centos7.6/x86_64 #
|
|
I think you replied just as I found the solution in the xcat docs. Thanks!
|
|
Also,
one note I forgot to mention about that....
If you use the template and install packages from the base distro, that happens during the initial kickstart of the machine.
If you use the otherpkg method, that installs them AFTER install, during the first boot.
It has made the post scripting a little interesting.
I wrote a script that configures openhpc things, but the first thing it does is sleep until those RPMs are installed.
toggle quoted messageShow quoted text
I think you replied just as I found the solution in the xcat docs. Thanks!
|
|
Oh I'm going to have to try doing some post install scripting too then, this all sounds very similar to what I had to for my older Rocks clusters. I'm actually running alot of bash "psh compute" post install scripts on my nodes after they kickstart, mostly for setting up ipa-client-install, hpe-intel-opa.repo (omnipath repository) also ZFS BeeGFS install scripts / fstab, systemctl enable slurmd, mdadm raid0 swap, etc.
Will be a complex post install script, especially if ipa-client-install asks for password authentication.
|
|
Take a look on my thread about FreeIPA. It’s the removing BIND from xCAT. This question is there.
toggle quoted messageShow quoted text
On 25 Sep 2019, at 14:16, jesse.stacey@... wrote:
Oh I'm going to have to try doing some post install scripting too then, this all sounds very similar to what I had to for my older Rocks clusters. I'm actually running alot of bash "psh compute" post install scripts on my nodes after they kickstart, mostly for setting up ipa-client-install, hpe-intel-opa.repo (omnipath repository) also ZFS BeeGFS install scripts / fstab, systemctl enable slurmd, mdadm raid0 swap, etc.
Will be a complex post install script, especially if ipa-client-install asks for password authentication.
|
|