Prerequisites to install by using OLM

Last published : Jun 12, 2026
A few operators are needed to install InfoScale by using OLM. As air gapped/restricted networks are disconnected from the internet, operators must be mirrored to local registry. For mirroring, it requires a host having internet as well as local registry connection, named mirror-host.
Note: In the following steps,${LOCAL_REGISTRY}:5000is on the same network.LOCAL_REGISTRYis a system connected to Internet and has a registry setup. 5000 is an indicative port number.
Perform the following steps on the mirror host node
  1. Run the following commands to set the environment variable.
    export LOCAL_REGISTRY=<local_registry_host_name>:
                                        <local_registry_host_port>
    export REG_CREDS=${XDG_RUNTIME_DIR}/containers/auth.json
    export ARCHITECTURE='<platform>/<architecture>'
     \# Where ARCHITECTURE can be linux/amd64,
     \# linux/ppc64le, linux/s390x
    1. Authenticate your local registry and registry.redhat.io .
    podman login registry.redhat.io
    podman login ${LOCAL_REGISTRY}
  2. Run the following command to create manifests directories.
    mkdir ~/mirror-operator
    cd ~/mirror-operator
    1. The following steps are about mirroring the Red Hat operators - nfd, sro and cert-manager.
      • If the OCP version is 4.10. x
    export VTAG='v4.10'
    opm index prune \
    -f registry.redhat.io/redhat/redhat-operator-index:${VTAG}\
     -p nfd,openshift-special-resource-operator \
     -t ${LOCAL_REGISTRY}/catalog/redhat-operators:${VTAG}
  • If the OCP version is 4.9. x
    export VTAG='v4.9'
    opm index prune \
    -f registry.redhat.io/redhat/redhat-operator-index:${VTAG} \
     -p openshift-cert-manager-
              operator,nfd,openshift-special-resource-operator \
     -t ${LOCAL_REGISTRY}/catalog/redhat-operators:${VTAG}
    \# As openshift-cert-manager-operator is available in v4.10 only.
     \#  Let's use it for now.
    opm index prune \
     -f registry.redhat.io/redhat/redhat-operator-index:v4.10 \
     -p openshift-cert-manager-operator \
     -t ${LOCAL_REGISTRY}/catalog/redhat-operators:v4.10
    Note: Repeat steps 5 to 9 forlocal index : ${LOCAL_REGISTRY}/catalog/redhat-operators:v4.10.
    1. Run the following command to push the operator index images to your local registry.
    podman push ${LOCAL_REGISTRY}/catalog/redhat-operators:${VTAG}
  1. Run the following command to mirror the operators.
    oc adm catalog mirror \
     --index-filter-by-os=${ARCHITECTURE} \
     -a ${REG_CREDS} ${LOCAL_REGISTRY}/catalog/redhat-
        operators:${VTAG} \
     ${LOCAL_REGISTRY}/operators
    1. Verify the manifests directory that is generated.
    manifests-\<index_image_name\>-\<random_number\>

    \# It contains
    manifests-redhat-operator-index-1654068262
    ├── catalogSource.yaml
    ├── imageContentSourcePolicy.yaml
    └── mapping.txt
  2. Run the following command to customize the mapping.txt file with the local pull secret.
    oc image mirror \
    -f <path to manifest directory>/mapping.txt -a ${REG_CREDS}
    1. Optionally, you can append the following content to catalogSource.yaml.
    displayName: Redhat Operator Catalog
     publisher: Red Hat Enterprise
     updateStrategy:
     registryPoll:
     interval: 30m
You have successfully mirrored - nfd, sro and cert-manager.
  1. Prune the certified operators index for InfoScale-operator and InfoScale-licensing-operator, if you want to install by using OLM.
    opm index prune \
     -f registry.redhat.io/redhat/certified-operators:${VTAG}\
     -p infoscale-sds-operator,infoscale-licensing-operator \
     -t ${LOCAL_REGISTRY}/catalog/certified-operators:${VTAG}
    1. Run the following command to push the operator index images to your local registry.
    podman push ${LOCAL_REGISTRY}/catalog/certified-operators:${VTAG}
  2. Run the following command to mirror the operators.
    oc adm catalog mirror\
    --index-filter-by-os=${ARCHITECTURE} -a ${REG_CREDS}\
    ${LOCAL_REGISTRY}/catalog/certified-operators:${VTAG}\
    ${LOCAL_REGISTRY}/operators
    1. Verify the manifests directory that is generated. The format must be as under
    manifests-\<index_image_name\>-\<random_number\>
    ├── catalogSource.yaml
    ├── imageContentSourcePolicy.yaml
    └── mapping.txt
  3. Run the following command to customize the mapping.txt file with the local pull secret.
    oc image mirror -f \
    <path to manifest directory>/mapping.txt -a ${REG_CREDS}
    1. Optionally, append the following to catalogSource.yaml.
    displayName: Certified Operator Catalog
    publisher: Red Hat Enterprise
    updateStrategy:
    registryPoll:
    interval: 30m
  4. On the mirror host - Download and untar tools_8.0.100.tar from Veritas Download Center.
When you untar tools/setup_vtas_registry.sh is automatically created.
  1. Run the following commands on the mirror node.
    cd tools
    OS_VER=<OS Version> # eg: 'rhel8.4'
    KERNEL=<Kernel Version of worker>' # eg: 4.18.0-305.45.1.el8_4.x86_64'
    ./setup_vtas_registry.sh --airgap -o $OS_VER -k $KERNEL
    A folder infoscale_operand_images.tar is automatically created.
    Run the following commands on the bastion node
    1. Copy downloaded images and files from mirror host. Run the following commands.
    scp -r <IP address of the mirror node>:~/mirror ~/
    cd ~/mirror
    1. Load infoscale images onto local registry
    OS_VER=\<OS Version\> # eg: 'rhel8.4'
    KERNEL=\<Kernel Version of worker\>' # eg: 4.18.0-305.45.1.el8_4.x86_64'
    podman login ${LOCAL_REGISTRY}
    ./setup_vtas_registry.sh --airgap -o $OS_VER -k $KERNEL \
                                      -c ${LOCAL_REGISTRY}/veritas -t

    infoscale_operand_images.tar
  2. To disable the sources for default catalogs
oc patch OperatorHub cluster --type json -p '[{"op": "add", "path": "/spec/disableAllDefaultSources", "value": true}]'
  1. Apply imageContentSourcePolicy.yaml for each operator-index mirrored. Run the following commands.
    \# imageContentSourcePolicy for redhat operator index
    oc create -f manifests-redhat-operators-*/imageContentSourcePolicy.yaml
    \# imageContentSourcePolicy for certified operator index
    oc create -f manifests-certified-operators-*/imageContentSourcePolicy.yaml
    1. For each operator index mirrored, apply catalogSource.yaml.Run the following commands.
    \# catalogSource for redhat operator index
    oc create -f manifests-redhat-operators-*/catalogSource.yaml
\# catalogSource for certified operator index
oc create -f manifests-certified-operator-*/catalogSource.yaml
  1. For each catalogsource created, verify whether the following resources are created successfully.
oc get catalogsource -n openshift-marketplace
oc get pods -n openshift-marketplace
oc get packagemanifest -n openshift-marketplace
\# Wait For READY State: Example: opertaor name:- redhat-operator-catalog
oc get catsrc \<operator name\> \
-n openshift-marketplace -ojsonpath=
    "{.status.connectionState.lastObservedState}"
  1. Login to the OpenShift web console and check whether the mirrored operators are displayed in Operators > OperatorHub as under:
    image