Configure xCAT Software Repository

xCAT software and repo files can be obtained from: http://xcat.org/download.html

Internet Repository

Install xCAT-release to configure the core, distribution-specific dependency, and common dependency repositories and their signing key:

dnf install https://xcat.org/files/xcat/repos/yum/latest/xcat-core/xCAT-release-latest.noarch.rpm

The distribution-specific repository follows the operating-system release and architecture reported by DNF. The common repository carries packages that do not depend on the management-node distribution, including OpenEmbedded Genesis images. The installed repository files are marked as configuration files, so package upgrades preserve local changes.

Continue to the next section to install xCAT.

Local Repository

[xcat-core]

  1. Download xcat-core:

    # downloading the latest stable build, xcat-core-<version>-linux.tar.bz2
    mkdir -p ~/xcat
    cd ~/xcat/
    wget http://xcat.org/files/xcat/xcat-core/<version>.x_Linux/xcat-core/xcat-core-<version>-linux.tar.bz2
    
  2. Extract xcat-core:

    tar xcat-core-<version>-linux.tar.bz2
    
  3. Configure the local repository for xcat-core by running mklocalrepo.sh script in the xcat-core directory:

    cd ~/xcat/xcat-core
    ./mklocalrepo.sh
    

[xcat-dep]

Unless you are downloading xcat-dep to match a specific version of xCAT, it’s recommended to download the latest version of xcat-dep.

  1. Download xcat-dep:

    # downloading the latest stable version, xcat-dep-<version>-linux.tar.bz2
    mkdir -p ~/xcat/
    cd ~/xcat
    wget http://xcat.org/files/xcat/xcat-dep/2.x_Linux/xcat-dep-<version>-linux.tar.bz2
    
  2. Extract xcat-dep:

    tar jxvf xcat-dep-<version>-linux.tar.bz2
    
  3. Configure the local repository for xcat-dep by switching to the architecture and os subdirectory of the node you are installing on, then run the mklocalrepo.sh script:

    cd ~/xcat/xcat-dep/
    # On redhat 7.1 ppc64le: cd rh7/ppc64le
    cd <os>/<arch>
    ./mklocalrepo.sh
    

[xcat-dep common]

The xcat-dep archives do not contain the common repository. Mirror it on a connected host with dnf-plugins-core before disconnecting the installation network:

mkdir -p ~/xcat/xcat-dep/common
dnf reposync \
  --repofrompath=xcat-dep-common,https://xcat.org/files/xcat/repos/yum/latest/xcat-dep/common \
  --repoid=xcat-dep-common --download-metadata \
  --download-path ~/xcat/xcat-dep/common --norepopath
curl -fL -o ~/xcat/xcat-dep/common/repodata/repomd.xml.asc \
  https://xcat.org/files/xcat/repos/yum/latest/xcat-dep/common/repodata/repomd.xml.asc
curl -fL -o ~/xcat/xcat-dep/common/repodata/repomd.xml.key \
  https://xcat.org/files/xcat/repos/yum/latest/xcat-dep/common/repodata/repomd.xml.key

Copy the complete mirror to the management node.

Create the local DNF repository definition:

cat >/etc/yum.repos.d/xcat-dep-common.repo <<'EOF'
[xcat-dep-common]
name=xCAT common dependencies
baseurl=file:///root/xcat/xcat-dep/common
enabled=1
skip_if_unavailable=0
gpgcheck=1
repo_gpgcheck=1
gpgkey=file:///root/xcat/xcat-dep/common/repodata/repomd.xml.key
EOF
dnf clean metadata
dnf makecache --disablerepo='*' --enablerepo=xcat-dep-common