vania-janet/multiturn-rag-retrieval-data huggingface dataset:
It could be considered as an alternative to the secure private network enclosure described in [this tutorial](https://cloud.ibm.com/docs/solution-tutorials?topic=solution-tutorials-secure-network-enclosuresecure-network-enclosure).



Alternatively consider a solution such as VMware NSX that implements a virtual overlay network in a layer over the IBM Cloud network. All BYOIP addresses in the virtual overlay are independent of IBM Cloud network address ranges. See [Getting started with VMware and IBM Cloud](https://cloud.ibm.com/docs/vmware?topic=vmware-vmware-getting-started).





 Pattern decision tree 

The decision tree here can be used to determine the appropriate implement pattern.

Zoom

![Pattern decision tree](https://cloud.ibm.com/docs-content/v1/content/d7287ec7418d843dbd7caf286d842c439df6979e/direct-link/includes/solution-tutorials/includes/solution-tutorials/images/solution37-byoip/byoipdecision.png)

Pattern decision tree

The following notes provide further guidance:



 Is NAT problematic for your applications? 

There are following two distinctive cases where NAT could be problematic. In these cases, NAT should not be used.



* Some applications such as Microsoft AD domain communication, and P2P applications could have technical problems with NAT.
* Where unknown servers need to communicate with the IBM Cloud or hundreds of bidirectional connections between IBM Cloud and on-premise servers are required. In this case all the mapping cannot be configured on the client router/NAT table because of an inability to identify the mapping beforehand.







 No address overlapping 

Is 10.0.0.0/8 used in the on-premises network?
* [Deploying apps through the CLI](https://cloud.ibm.com/docs/openshift?topic=openshift-deploy_appdeploy_apps_cli).
* [Deploying apps to specific worker nodes by using labels](https://cloud.ibm.com/docs/openshift?topic=openshift-deploy_appnode_affinity).



Need help? Check out [Troubleshooting apps and integrations](https://cloud.ibm.com/docs/openshift?topic=openshift-debug_apps).





 Test, log, and monitor 

While you conduct performance testing on your app, set up logging and monitoring to help you troubleshoot issues, gain visibility into your workloads, and improve the health and performance of your apps.

In a test environment, deliberately create various non-ideal scenarios, such as deleting all worker nodes in a zone to replicate a zonal failure. Review the logs and metrics to check how your app recovers.



1. Test access: Test access to your app by creating a public or private [NodePort](https://cloud.ibm.com/docs/openshift?topic=openshift-nodeport) on your worker nodes.
2. Understand logging and monitoring options: [Choose solutions for app and cluster logging, audit logging, and monitoring](https://cloud.ibm.com/docs/openshift?topic=openshift-healthoc_logmet_options) based on your needs.
3. Monitoring through the console: Open the [OpenShift web console](https://cloud.ibm.com/docs/openshift?topic=openshift-deploy_appopenshift_console) to view information about your app resources.
4.
* [IBM Cloud services and third-party integrations](https://cloud.ibm.com/docs/openshift?topic=openshift-ibm-3rd-party-integrations)
* [Cloud Paks](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_cloud_paks)
* [Operators](https://cloud.ibm.com/docs/openshift?topic=openshift-operators)



2. Add services to your cluster: Ask your cluster administrator to [add the integration to your cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-learning-path-adminadmin_integrate).
3. Access services from your app: Ensure that your app can access the service. For example, to access an IBM Cloud service instance from your app, you must [make the service credentials that are stored in the Kubernetes secret available to your app](https://cloud.ibm.com/docs/openshift?topic=openshift-service-bindingadding_app).



Need help? Check out [Troubleshooting apps and integrations](https://cloud.ibm.com/docs/openshift?topic=openshift-debug_worker_nodes). {: tip}f
To enable a managed add-on in your cluster from the CLI, use the [ibmcloud oc cluster addon enable command](https://cloud.ibm.com/docs/openshift?topic=openshift-kubernetes-service-clics_cluster_addon_enable). To enable a managed add-on in your cluster in the [Red Hat OpenShift clusters console](https://cloud.ibm.com/kubernetes/clusters?platformType=openshift), use the Add-ons pane of the cluster details page. When you enable the managed add-on, a supported version of the tool, including all Kubernetes resources are automatically installed in your cluster. Refer to the documentation of each managed add-on to find the prerequisites that your cluster must meet before you install the managed add-on.

For more information about the prerequisites for each add-on, see:



* [Block Storage for VPC](https://cloud.ibm.com/docs/openshift?topic=openshift-vpc-block)
* [Cluster Autoscaler](https://cloud.ibm.com/docs/openshift?topic=openshift-cluster-scaling-classic-vpc)
* [Diagnostics and Debug Tool](https://cloud.ibm.com/docs/openshift?topic=openshift-debug-tool)
* [HPCS Router](https://cloud.ibm.com/docs/openshift?topic=openshift-hpcs-router-changelog)
* [Image Key Synchronizer](https://cloud.ibm.com/docs/openshift?topic=openshift-imagesencrypted-images)
* [OpenShift Data Foundation](https://cloud.ibm.com/docs/openshift?topic=openshift-deploy-odf-vpc)
* [Static routes](https://cloud.ibm.com/docs/openshift?topic=openshift-static-routes)
* [Image Key Synchronizer](https://cloud.ibm.com/docs/openshift?topic=openshift-imagesencrypted-images)
* [OpenShift Data Foundation](https://cloud.ibm.com/docs/openshift?topic=openshift-deploy-odf-vpc)
* [Static routes](https://cloud.ibm.com/docs/openshift?topic=openshift-static-routes)







 Updating managed add-ons 

The versions of each managed add-on are tested by IBM Cloud and approved for use in Red Hat OpenShift on IBM Cloud. To update the components of an add-on to the most recent version supported by Red Hat OpenShift on IBM Cloud, use the following steps.

Review the following links for specific update steps for each add-on.



* [Block Storage for VPC](https://cloud.ibm.com/docs/openshift?topic=openshift-vpc-blockvpc-addon-update)
* [Cluster Autoscaler](https://cloud.ibm.com/docs/openshift?topic=openshift-cluster-scaling-install-addoncluster-scaling-update-addon)
* [HPCS Router](https://cloud.ibm.com/docs/openshift?topic=openshift-hpcs-router-changelog)
* [OpenShift Data Foundation](https://cloud.ibm.com/docs/openshift?topic=openshift-ocs-manage-deployment)







 Reviewing add-on states and statuses 

You can check the health state and status of a cluster add-on by running the following command.

ibmcloud oc cluster addon ls -c <cluster_name_or_ID>

Example output

Name Version Health State Health Status
debug-tool 2.0.0 normal Addon Ready

The Health State reflects the lifecycle of the add-on components. Each state is described in the following table.



Add-on health states

 Add-on health state Description
: For more information, see [Installing OpenShift Data Foundation on a private cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift-storage-odf-private).





 21 November 2022 

Worker node fix pack 4.11.13_1533_openshift, 4.10.41_1546_openshift, 4.9.51_1566_openshift, 4.8.52_1581_openshift, 4.7.60_1590_openshift
: For more information, see the change logs: [4.11.13_1533_openshift](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_changelog_411), [4.10.41_1546_openshift](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_changelog_410),[4.9.51_1566_openshift](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_changelog_49), [4.8.52_1581_openshift](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_changelog_48), [4.7.60_1590_openshift](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_changelog_47).





 17 November 2022 

Block Storage for VPC add-on versions 4.4.13_1712 and 5.0.2_1713
: For more information, see [the change log](https://cloud.ibm.com/docs/openshift?topic=openshift-vpc_bs_changelog).





 16 November 2022
Understand logging and monitoring options: [Choose solutions for app and cluster logging, audit logging, and monitoring](https://cloud.ibm.com/docs/openshift?topic=openshift-healthoc_logmet_options) based on your needs.
3. Monitoring through the console: Open the [OpenShift web console](https://cloud.ibm.com/docs/openshift?topic=openshift-deploy_appopenshift_console) to view information about your app resources.
4. Log Analysis and Monitoring: To monitor cluster health, forward logs to [IBM Log Analysis](https://cloud.ibm.com/docs/openshift?topic=openshift-healthopenshift_logging) and metrics to [IBM Cloud Monitoring](https://cloud.ibm.com/docs/openshift?topic=openshift-health-monitor).







 Update your app 

Perform rolling updates and rollbacks of apps without downtime for your users.



1. Update strategy: [Plan your strategy for keeping your app up-to-date](https://cloud.ibm.com/docs/openshift?topic=openshift-update_appupdating_apps).
2. Set up updates:



* Add a [rolling update to your deployment file](https://cloud.ibm.com/docs/openshift?topic=openshift-update_appapp_rolling)
* Set up [a continuous delivery pipeline for a cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-cicd).



3. Scaling: Enable [horizontal pod autoscaling](https://cloud.ibm.com/docs/openshift?topic=openshift-update_appapp_scaling) to automatically increase or decrease the number of instances of your apps based on CPU.







 Secure your app 

Use Kubernetes secrets to store confidential information, such as credentials or keys, and encrypt data in Kubernetes secrets to prevent unauthorized users from accessing sensitive app information.



1.
Before you enable the add-on, review the [change log](https://cloud.ibm.com/docs/openshift?topic=openshift-odf_addon_changelog) for the latest version information. Note that the add-on supports n+1 cluster versions. For example, you can deploy version 4.10.0 of the add-on to an OCP 4.9 or 4.11 cluster. If you have a cluster version other than the default, you must specify the --version option when you enable the add-on.
5. Review the add-on options.

ibmcloud oc cluster addon options --addon openshift-data-foundation --version 4.10.0

Add-on options for version 4.10.0.

Option Default Value
osdSize 250Gi
numOfOsd 1
clusterEncryption false
hpcsTokenUrl <Please provide HPCS token URL>
workerNodes all
hpcsEncryption false
hpcsBaseUrl <Please provide HPCS Base URL>
osdStorageClassName ibmc-vpc-block-metro-10iops-tier
hpcsInstanceId <Please provide HPCS Service ID>
autoDiscoverDevices false
hpcsServiceName <Please provide HPCS service name>
hpcsSecretName <Please provide the HPCS secret name>
odfDeploy true
osdDevicePaths <Please provide IDs of the disks to be used for OSD pods if using local disks or standard classic cluster>
ocsUpgrade false
billingType advanced
6. Enable the openshift-data-foundation add-on. If you want to override any of the default parameters, specify the --param "key=value" option for each parameter you want to override. If you don't want to create your storage cluster when you enable the add-on, you can enable the add-on first, then create your storage cluster later by creating a CRD.
: For more information, see the [change log](https://cloud.ibm.com/docs/openshift?topic=openshift-image-key-synchronizer-changelog).





 14 December 2022 

Master fix pack 4.7.60_1592_openshift, 4.8.54_1583_openshift, 4.9.52_1568_openshift, 4.10.43_1548_openshift, and 4.11.17_1535_openshift
: For more information, see the change logs: [4.11](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_changelog_411), [4.10](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_changelog_410), [4.9](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_changelog_49), [4.8](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_changelog_48), [4.7](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_changelog_47).

CLI version 1.0.480 change log update
: The [CLI change log](https://cloud.ibm.com/docs/openshift?topic=openshift-cs_cli_changelog) is updated for version 1.0.480.





 12 December 2022 

Changes to cluster config for Satellite clusters
: If you connect to your Satellite cluster by using the Link endpoint, for example --endpoint link in the CLI, you must follow the steps to set up a Source in your Location. This source allows access to your cluster APIs through the Link endpoint.
* [Prerequisites](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift-storage-odf-privateodf-private-prereq)
* [Create an additional subnet in your VPC and attach a Public Gateway](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift-storage-odf-privateodf-storage-private-vm)
* [Create a bastion host](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift-storage-odf-privateodf-storage-bastion)
* [Reserve a floating IP and bind it to your bastion host](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift-storage-odf-privateodf-floating-ip-bind)
* [Install the CLI tools](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift-storage-odf-privateodf-cli-install-bastion)
* [Log in to your cluster and disable the default OperatorHub sources](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift-storage-odf-privateodf-storage-disable-operatorhub)
* [Log in to your container registries](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift-storage-odf-privateodf-storage-login-registry)
* [Create a namespace in IBM Cloud Container Registry](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift-storage-odf-privateodf-private-registry-namespace-create)
Or, you might return to this section later if you need to make more portable IP addresses available for load balancer services that expose apps in your cluster.



* Connections to other networks and workloads: Set up VPN connectivity between your [classic cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-vpn) or [VPC cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-vpc-vpnaas) and remote network environments, other VPCs, and more.



* To route responses from your cluster back to your on-premises network in VPN solutions that preserve the request source IP address, add [custom static routes](https://cloud.ibm.com/docs/openshift?topic=openshift-static-routes) to worker nodes for on-premises subnets.



* Subnets and VLANs:



* Add or change the available subnets and IP addresses for your [classic cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-subnets) or [VPC cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-vpc-subnets).
* Classic clusters: Change the [VLAN connections for your worker nodes](https://cloud.ibm.com/docs/openshift?topic=openshift-cs_network_clusterchange-vlans).









 Secure your cluster 

Use built-in security features to protect your cluster infrastructure and network communication, isolate your compute resources, and ensure security compliance across your infrastructure components and container deployments.



1. Security strategy: Start by reviewing all [security options](https://cloud.ibm.com/docs/openshift?topic=openshift-security) that are available for your cluster.
2. Network security:



* Classic clusters:



1. To isolate networking workloads, you can restrict network traffic to [edge worker nodes](https://cloud.ibm.com/docs/openshift?topic=openshift-edge).
2.
(https://cloud.ibm.com/docs/openshift?topic=openshift-master_resource_limit).

IBM Cloud HPCS Router add-on
: The [IBM Cloud HPCS Router add-on](https://cloud.ibm.com/docs/openshift?topic=openshift-hpcs-router-changelog) version 4.5 is deprecated.

OpenShift Data Foundation
: The default behavior for the [ODF add-on](https://cloud.ibm.com/docs/openshift?topic=openshift-ocs-storage-prep) has changed. Previously, when you deployed the add-on by using the CLI, the default value of the odfDeploy parameter was false and so only the add-on was installed. However, now the default value of odfDeploy is true, so when you enable the add-on, the add-on automatically creates storage resources in your cluster.





 13 October 2021 

CLI change log
: The [CLI change log](https://cloud.ibm.com/docs/openshift?topic=openshift-cs_cli_changelog) is updated for version 1.0.331.





 11 October 2021 

Unsupported Red Hat OpenShift version 4.5
: Red Hat OpenShift version 4.5 is unsupported. To continue receiving important security updates and support, you must [update your cluster to a supported version](https://cloud.ibm.com/docs/openshift?topic=openshift-openshift_versions) immediately.

Worker node fix pack update
After your toolchain is set up and the Delivery Pipeline successfully completes, run the following steps to check your app:



* From the [Clusters](https://cloud.ibm.com/kubernetes/clusters) home page, click the Red Hat OpenShift cluster that you used to deploy your app.
* Click OpenShift web console.
* In the Workloads > Pod section, filter by the project or the cluster namespace, and verify that the pods are running.
* In the Networking > Routes section, filter by the project or the cluster namespace, and locate the app URL.
* Verify that the app is running.









 Looking for help? 

Get help from the IBM Cloud® Continuous Delivery development teams by joining us on [Slack](https://ic-devops-slack-invite.us-south.devops.cloud.ibm.com/).

For more support options, see [Getting help and support for Continuous Delivery](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-gettinghelp).
: Versions 4.8.0_1232, 4.7.0_1226, and 4.6.0_1227 of the [HPCS Router add-on](https://cloud.ibm.com/docs/openshift?topic=openshift-hpcs-router-changelog) are released.

Cloud Image Key Synchronizer add-on
: Version 1.0.0_834 of the [Cloud Image Key Synchronizer add-on](https://cloud.ibm.com/docs/openshift?topic=openshift-image-key-synchronizer-changelog) is released.





 24 January 2022 

IBM Cloud Object Storage plug-in
: Version 2.1.9 of the IBM Cloud Object Storage plug-in is released. For more information, see the [IBM Cloud Object Storage plug-in change log](https://cloud.ibm.com/docs/openshift?topic=openshift-cos_plugin_changelog).





 20 January 2022 

Cluster autoscaler add-on.
: [Version 1.0.4_403](https://cloud.ibm.com/docs/openshift?topic=openshift-ca_changelog) is released.

Block Storage for VPC add-on.
: [Version 4.1.1_827](https://cloud.ibm.com/docs/openshift?topic=openshift-vpc_bs_changelog) is released.

OpenShift Data Foundation
: New and updated parameters for OpenShift Data Foundation.
: Automatic disk discovery is now available for Classic clusters version 4.8 and later. Enable this feature by setting the autoDiscoverDevices parameter to true parameter. For more information, see [ODF using local disks](https://cloud.ibm.com/docs/openshift?topic=openshift-deploy-odf-classic).
: The monDevicePaths and monSize parameters are no longer required for add-on version 4.8 and later.





 18 January 2022
Common scripts 

Some stages run default scripts if they are not specified in the DevSecOps config YAML file.

These scripts are part of a commons library, which can be used as a source to copy code from and customize them for specific edge cases for adopters. This library also serves as an example of some pipeline mechanics.

Every script that is included in the commons library performs the following actions:



* Iterates over assets (repos or artifacts).
* Runs the scan / check job.
* Collects evidence by using the [collect-evidence script](https://cloud.ibm.com/docs/devsecops?topic=devsecops-devsecops-collect-evidence).



To see which script is running, examine the logs from a stage that is running a default script. For example, the default scripts that are running in scan-artifact:

=== Executing custom script for stage 'scan-artifact' ===

The custom script can be viewed using the following link: '<SCRIPT URL>'

You can customize this stage in your pipeline config. For more information, see [Custom scripts](/docs/devsecops?topic=devsecops-custom-scripts).

The script(s) used in this stage can be found at the following location(s):

- path: scan-artifact
repo: <REPO URL>
sha: b0fff29d715e0f9a33b3c84e649777cfb9d40738
- path: icr-va
repo: <REPO URL>
sha: de693814ba2bd992941b432fc71111efb54e2b27

Using the following defaults for stage "scan-artifact":

scan-artifact:
Custom scripts 

Custom scripts are extension points in the pipeline where adopters, teams, and users can provide scripts to run custom tasks that are required by their continuous integration and continuous deployment strategies.

Custom scripts control the pipeline stages. You can use a configuration file (pipeline-config.yaml) to configure the behavior of stages, script content, and the base image that runs the scripts. The scripts and configuration for pipeline stages are loaded from a Git repository (repo) that can either be the application (app) repo (similar to .travis.yml or Jenkinsfile) or a custom repo.

When any of the custom scripts are started, the complete URL of the custom script file, including the file name and the commit hash, is printed at the beginning of the pipeline logs as follows: The custom script can be viewed using the following link: 'https://<source repo url>/<organization name>/<repository name>/blob/<commit hash>/.pipeline-config.yaml'. This positioning improves traceability.



 Stages 

Stages in pull request, continuous integration, and continuous deployment pipelines run custom scripts.



* Pull request pipeline stages: setup, test, and finish. For more information, see [Pull request pipeline](https://cloud.ibm.com/docs/devsecops?topic=devsecops-cd-devsecops-pr-pipeline).
* Continuous integration pipeline stages: setup, peer-review, test, static-scan, containerize, sign-artifact, deploy, acceptance-test, scan-artifact, release, and finish. For more information, see [Continuous integration pipeline](https://cloud.ibm.com/docs/devsecops?topic=devsecops-cd-devsecops-ci-pipeline).
* continuous deployment pipeline stages: setup, verify-artifact, deploy, acceptance-test, and finish. For more information, see [continuous deployment pipeline](https://cloud.ibm.com/docs/devsecops?topic=devsecops-cd-devsecops-cd-pipeline).
* The transfer_ownership.sh script now requires a -c option to be included on the command line before the <custom_resource_name> argument.
* The transfer_ownership.sh script now requires a -v <version> option and argument to indicate the version to which ownership of resources is being transferred. Specify 35 for version 3.5 or 40 for version 4.0.x.
* The transfer_ownership.sh script now requires a -p option to be included on the command line before the <postgres_auth_secret_name> argument.
* The <postgres_auth_secret_name> argument provides the Kubernetes secret that is used to authenticate to the PostgreSQL datastore to which you are transferring ownership. You can omit the authentication secret if is the same as the default value (<custom-resource-name>-postgres-auth-secret for version 4.0.x, user-provided-postgressql for version 3.5). You must provide the secret if it is different from the default value.
* Both scripts now include a -h (--help) option to display information about the script and its usage.



For more information, see



* [Administering Watson Speech to Text](https://www.ibm.com/docs/en/cloud-paks/cp-data/4.0?topic=text-administering-watson-speech), specifically Importing and exporting data and Backing up and restoring data.
* [Upgrading Watson Speech to Text](https://www.ibm.com/docs/en/cloud-paks/cp-data/4.0?topic=text-upgrading-watson-speech), specifically Migrating data from IBM Cloud Pak for Data Version 3.5.



Updated recommendation for OpenShift Container Storage
: Starting with Speech services version 4.0.6, the recommended storage class for OpenShift Container Storage is ocs-storagecluster-ceph-rbd.