Create Local Repositories#
Use the cw-clusterctl repos command to download ISO images of the
installation DVDs for RHEL-family systems from their respective websites and
import them into the ClusterWareAI ™ software as repos. See Supported Distributions and Features for a
list of supported RHEL systems.
Create a repo that references a specific ISO. For example, the following command creates a repo that references the
Rocky-8.7-x86_64-dvd1ISO:cw-clusterctl repos create name=Rocky8repo iso=@Rocky-8.7-x86_64-dvd1.iso --wait
The
--waitoption ensures the ISO is fully mounted by waiting 120 seconds. Alternatively, specify a wait duration in seconds to extend or shorten the wait time based on your ISO size. See Using ISO Releases for additional details.Once the upload completes, the ISO is automatically forwarded to all head nodes and is locally mounted on each.
Use the list subcommand to view repository details:
[cwadmin@virthead]$ cw-clusterctl repos -i Rocky8repo ls -l Repos Rocky8repo iso chksum: e47d5ca236a3152d63814b32081a1a3261dd1cf4 filename: 4aceb9db1aef4670be82bf49855b514a mtime: 2023-01-31 23:07:36 UTC (0:08:31 ago) size: 11.3 GiB (12129927168 bytes) isolabel: Rocky-8-7-x86_64-dvd keys: [] name: Rocky8repo urls <BASE_URL>/isomount/Rocky8repo/BaseOS/ <BASE_URL>/isomount/Rocky8repo/AppStream/The ClusterWareAI platform displays URLs for the repositories identified on the ISO. For example, there is a repository in the root of the uploaded Rocky-8 ISO, accessible at
<BASE_URL>/isomount/Rocky8repo/BaseOS/. The<BASE_URL>tag is used as a placeholder to signify that any head node can provide access. When using such a URL, replace the<BASE_URL>with the actual head node's base URL. For example,http://10.20.30.30/api/v1/isomount/Rocky8repo/BaseOS/<target-file>.
Tip
You can also create a repo when creating a boot configuration by referencing an ISO. See Create Boot Configuration for details.
The ISO can also be downloaded using the cw-clusterctl command:
cw-clusterctl repos -i Rocky8repo download iso
Just like URL-defined repos, repos created using ISOs can be referenced in distros. See Creating Images and Using ISO Releases for details about using repos and distros to create compute node images.
Creating Local Repositories without Internet#
When cw-install (and its underlying use of the dnf command)
do not have access to repositories that are accessible via the Internet,
then repositories must be set up on local storage.
Ensure that the appropriate base distribution repositories (for example, Red Hat RHEL or CentOS) are accessible locally without requiring Internet access. An initial install of ClusterWareAI has dependencies on various base distribution packages. A subsequent ClusterWareAI update may have dependencies on new or updated base distribution packages.
Obtain a pre-built ClusterWareAI ISO file that contains the desired software from the online repository.
Log into
https://repo.ice.penguinsolutions.com/clusterware/<version>/using your ClusterID as the username, leaving the password field blank.Select the EL8 or EL9 folder as desired. Within these folders are
isofolders, where pre-built ISOs can be downloaded.
Mount the ISO file, if not already mounted. For example, the ISO file
clusterware-13.0.0.isocontains ClusterWareAI release 13.0.0:sudo mount -o loop clusterware-13.0.0.iso /mnt/cw13.0.0
If this is an initial install, install the head node software, create an initial repo and distro, and create the default boot configuration.
Use a cluster configuration file that is described in Install ClusterWareAI. Execute the
cw-installscript that is embedded in the ISO to perform the basic first install of the ClusterWareAI platform. The basic install creates/etc/yum.repos.d/clusterware.repo, which points at the software in the ISO. For example, to install using a configuration file calledcluster-conf:/mnt/cw13.0.0/cw-install --config cluster-conf
The head node software is installed.
Create a repo that references the base distribution to be used by subsequent ClusterWareAI commands. For example, if the base distribution ISO is accessible at
http://<baseOSserver>/<baseOSiso>:cw-clusterctl repos create name=<baseOSrepo> iso=@</path/to/baseOSiso> \ --wait 180Use the
--waitoption when creating the repo. The ISO needs to be fully mounted for the distro created in the next step.Create a distro that references the new repo:
cw-clusterctl distros create name=<baseOSdistro> repos=<baseOSrepo>
See Creating Arbitrary Rocky Images or Creating Arbitrary RHEL Images for additional examples.
Complete the setup by creating the default image, boot configuration, and attribute group. The following command expects to find a single distro and one or more repo repositories:
cw-add-boot-config --make-defaults
If this is a software update of an existing install, rename the current
/etc/yum.repos.d/clusterware.repo, then execute the script to recreateclusterware.repowith the appropriate values:(cd /etc/yum.repos.d; sudo mv -f clusterware.repo clusterware.repo.bak) /mnt/cw13.0.0/cw-install
Important
If the local repo has been created in a manner other than
what is described above, then it is possible that
/etc/yum.repos.d/clusterware.repo uses baseurl of the form
file:/// (for example, baseurl=file:///var/www/html/cw13.0.0).
This may cause future problems when attempting to create an image. To
resolve the issue, edit this to a functionally equivalent
form http:// (for example, baseurl=http://localhost/cw13.0.0).