Installing Netcool Operations Insight on Red Hat OpenShift with cloudctl, the Operator Lifecycle Manager (OLM) UI and Container Application Software for Enterprises (CASE)

Use these instructions to install Netcool® Operations Insight® on Red Hat® OpenShift®, with the Container Application Software for Enterprises (CASE) and the Red Hat OpenShift Container Platform Operator Lifecycle Manager (OLM) UI. This installation method is similar to installing with the OLM UI, but CASE creates the Netcool Operations Insight catalog source and installs the Netcool Operations Insight Operator for you.

Before you begin

Note: Support for the cloudctl installation method is deprecated in this release. You can install cloud native Netcool Operations Insight components with the oc ibm-pak plug-in. For more information, see Installing Netcool Operations Insight on Red Hat OpenShift with the oc ibm-pak plug-in, Operator Lifecycle Manager (OLM) UI, and Container Application Software for Enterprises (CASE).
Ensure that you complete all the steps in Planning.

Online installations of Netcool Operations Insight on Red Hat OpenShift can be run entirely as a nonroot user and do not require users to have sudo access.

The operator images for Netcool Operations Insight on Red Hat OpenShift are in the freely accessible operator repository (icr.io/cpopen), and the operand images are in the IBM® Entitled Registry (cp.icr.io), for which you require an entitlement key. The CASE bundle is available from IBM cloudPaks.

For more information about the OLM, see Operator Lifecycle Manager (OLM) external link in the Red Hat OpenShift Container Platform documentation.

Procedure

Get the Netcool Operations Insight CASE.

  1. Download and install IBM® Cloud Pak CLI (cloudctl) version 3.22.0 from the cloud-pak-cli GitHub repository external icon. Version 3.22.0 is the maximum supported version for installing Event Manager.
    cloudctl verifies the integrity of the Netcool Operations Insight CASE's digital signature by default. If you want to verify the cloudctl binary, follow the instructions in Check Certificate/Key Validity external icon. Extract the cloudctl binary, give it executable permissions, and ensure that it is in your PATH.
  2. Note: If you want to install the previous 1.6.7 version, specify --version 1.7.0 in the cloudctl case save command. For more information, see the 1.6.7 documentation: Installing Netcool Operations Insight
    Download the Netcool Operations Insight CASE bundle (ibm-netcool-prod) to your Red Hat OpenShift Container Platform cluster.
    cloudctl case save --case ibm-netcool-prod --outputdir destination_dir --repo https://raw.githubusercontent.com/IBM/cloud-pak/master/repo/case
    Where destination_dir is a directory of your choosing, for example /tmp/cases.
  3. Run the following commands:
    export CASE_NAME=ibm-netcool-prod
    export CASE_VERSION=1.8.0
    export CASE_ARCHIVE=destination_dir/$CASE_NAME-$CASE_VERSION.tgz
    Where destination_dir is the directory that you downloaded the CASE bundle into in the previous step.

Install the Netcool Operations Insight Catalog and Operator.

  1. Install the catalog by using CASE.
    cloudctl case launch \
      --case $CASE_ARCHIVE \
      --inventory noiOperatorSetup \
      --action install-catalog \
      --namespace openshift-marketplace
    Where $CASE_ARCHIVE is specified in the previous step.
  2. Verify the catalog source.
    From the Red Hat OpenShift Container Platform OLM UI, go to Administration > Cluster Settings. Under Global Configuration > OperatorHub > Sources, verify that the ibm-operator-catalog CatalogSource object is present.
  3. Install the Netcool Operations Insight operator by using CASE.
    cloudctl case launch \
    --case $CASE_ARCHIVE \
    --namespace namespace \
    --inventory noiOperatorSetup \
    --action install-operator
    Where
    • namespace is the custom namespace to be used for your deployment.
  4. Verify the status of IBM Cloud Pak for Watson™ AIOps Event Manager.
    From the Red Hat OpenShift Container Platform OLM UI, go to Operators > Installed Operators, and verify that the status of IBM Cloud Pak for Watson AIOps Event Manager is Succeeded.

Create a Netcool Operations Insight instance.

  1. From the Red Hat OpenShift Container Platform OLM UI, go to Operators > Installed Operators, and select IBM Cloud Pak for Watson AIOps Event Manager. Under Provided APIs > NOI, select Create Instance.
  2. From the Red Hat OpenShift Container Platform OLM UI, use the YAML view or the Form view to configure the properties for the Netcool Operations Insight deployment. For more information about configurable properties for a cloud only deployment, see Cloud operator properties.
    CAUTION:
    Ensure that the name of the Netcool Operations Insight instance does not exceed 10 characters.
    Enter the following values:
    • Name: Specify the name that you want your Netcool Operations Insight instance to be called.
    • License: Expand the License section and read the agreement. Toggle the License Acceptance switch to True to accept the license.
    • Size: Select the size that you require for your Netcool Operations Insight installation.
    • storageClass: Specify the storage class. Check which storage classes are configured on your cluster by using the oc get sc command. For more information about storage, see Storage.

  3. Select Create.
  4. Under the All Instances tab, a Netcool Operations Insight instance appears.
    Go to Operators > Installed Operators and check that the status of your Netcool Operations Insight instance is Phase: OK. Select Netcool Operations Insight > All Instances to check it. This status means that IBM Cloud Pak for Watson AIOps Event Manager started and is starting up the various pods.
    To monitor the status of the installation, see Monitoring installation progress.
    Note:
    • Changing an existing deployment from a Trial deployment type to a Production deployment type is not supported.
    • Changing an instance's deployment parameters in the Form view is not supported post deployment.
    • If you update custom secrets in the OLM console, the crypto key is corrupted, and the command to encrypt passwords does not work. Update custom secrets only with the CLI. For more information about storing a certificate as a secret, see https://www.ibm.com/docs/en/SS9LQB_1.1.17/LoadingData/t_asm_obs_configuringsecurity.html external link

What to do next

To enable or disable an observer after installation, use the oc patch command, as in following example:
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/netDisco", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/aaionap", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/alm", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/ansibleawx", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/appdynamics", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/aws", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/azure", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/bigcloudfabric", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/bigfixinventory", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/cienablueplanet", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/ciscoaci", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/contrail", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/dns", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/docker", "value": 'true' }]'	
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/dynatrace", "value": 'true' }]'		
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/file", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/gitlab", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/googlecloud", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/hpnfvd", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/ibmcloud", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/itnm", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/jenkins", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/junipercso", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/kubernetes", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/newrelic", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/openstack", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/rancher", "value": 'true' }]'	
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/rest", "value": 'true' }]'						
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/sdconap", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/servicenow", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/sevone", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/taddm", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/viptela", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/vmvcenter", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/vmwarensx", "value": 'true' }]'
oc patch noi $noi_instance_name -n $NAMESPACE --type='json' -p='[{"op": "replace", "path": "/spec/topology/observers/zabbix", "value": 'true' }]'