vania-janet/multiturn-rag-retrieval-data huggingface dataset:
What does this mean?](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-v2-troubleshootingibp-v2-troubleshooting-cluster-expired)
* [After I deploy a node in the console, I'm seeing a message in my Kubernetes cluster on IBM Cloud reporting that the pod has unbound immediate persistent volume claims. Is this an error?](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-v2-troubleshootingibp-v2-troubleshooting-unbound-persistent-volume-claim)
* [After I deploy a node, I'm seeing a message in my Kubernetes cluster on IBM Cloud reporting that the pod has hit a crash loop backoff. Is this an error?](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-v2-troubleshootingibp-v2-troubleshooting-crash-loop-backoff)







 Getting support 

[Getting support](https://cloud.ibm.com/docs/blockchain?topic=blockchain-blockchain-supportblockchain-support)



* [Security incidents](https://cloud.ibm.com/docs/blockchain?topic=blockchain-blockchain-supportblockchain-security-incidents)
* [General support](https://cloud.ibm.com/docs/blockchain?topic=blockchain-blockchain-supportblockchain-general-support)
* [Resources and support forums](https://cloud.ibm.com/docs/blockchain?topic=blockchain-blockchain-supportblockchain-support-resources)
* [Submitting support cases](https://cloud.ibm.com/docs/blockchain?topic=blockchain-blockchain-supportblockchain-support-cases)
Why is my Ingress in a warning state? 

 What’s happening 

When you look at the status of your Ingress setup, you see an error message similar to the following example.

ibmcloud ks ingress status --cluster <cluster_name_or_ID>

OK

Ingress Status: warning
Message: One or more routers are unhealthy. See http://ibm.biz/ingress-router-ts

When you describe the default Ingress controller, you see that the Ingress operator is in a degraded state.

oc describe ingresscontroller default -n openshift-ingress-operator

....
Message: One or more other status conditions indicate a degraded state: LoadBalancerReady=False (LoadBalancerPending: The LoadBalancer service is pending)
Reason: DegradedConditions
Status: True
Type: Degraded

 Why it’s happening 

By default, IBM Cloud Satellite sets up a default Red Hat OpenShift router in your cluster and exposes this router by using a load balancer service. Because Satellite does not own and control the host infrastructure, no load balancer can be created automatically, leading to the load balancer service to remain in a pending state and the Ingress operator to report a degraded state. However, Ingress functionality to your cluster continues to work.

A degraded Ingress operator can prevent you from installing or updating other Red Hat OpenShift operators in your cluster.

 How to fix it 

While you can't fix the warning state of your Ingress, you can update the Ingress controller so that it no longer reports a degraded state. You can then install or update other Red Hat OpenShift operators in your cluster.



1. Get the configuration for your existing Ingress controller in your cluster and save this configuration to a YAML file on your local machine.

oc get ingresscontroller default -n openshift-ingress-operator -o yaml > ingress.yaml
2. With your preferred editor, open the file and remove the following blocks:



* annotations
* creationTimestamp
* managedFields
* status
* finalizers
For more information, see the topic Monitoring the PostgreSQL datastore for Watson Speech services in the Administering section of [Watson Speech services on IBM Cloud Pak for Data](https://www.ibm.com/docs/en/cloud-paks/cp-data/4.6.x?topic=services-watson-speech).

Defect fix: PostgreSQL datastore is no longer installed if only runtime microservices are enabled
: Defect fix: The PostgreSQL datastore is no longer installed if only the runtime microservices are enabled. The datastore is now installed only if at least one of the sttAsync, sttCustomization, or ttsCustomization microservices is installed. PostgreSQL is not uninstalled if at a later date these microservices are disabled.

Prior to version 4.6.0, PostgreSQL was always installed with the Speech services. If you are an existing customer who used only the runtime microservices of the Speech services prior to version 4.6.0, PostgreSQL remains installed but is not used. In this case, installation of PostgreSQL persists across upgrades.

The MinIO datastore is always installed because the runtime microservices depend on it. The RabbitMQ datastore is installed only if the sttAsync microservice is installed.

For more information, see Datastore properties in Using the Watson Speech services custom resource in [Watson Speech services on IBM Cloud Pak for Data](https://www.ibm.com/docs/en/cloud-paks/cp-data/4.6.x?topic=services-watson-speech).

Defect fix: Creation of a Network Policy is no longer necessary for the PostgreSQL operator to monitor its operands
OS name: "linux", version: "5.10.104-linuxkit", arch: "amd64", family: "unix"

 gradle -version

Welcome to Gradle 7.5!

Here are the highlights of this release:
- Support for Java 18
- Support for building with Groovy 4
- Much more responsive continuous builds
- Improved diagnostics for dependency resolution

For more details see https://docs.gradle.org/7.5/release-notes.html

------------------------------------------------------------
Gradle 7.5
------------------------------------------------------------

Build time: 2022-07-14 12:48:15 UTC
Revision: c7db7b958189ad2b0c1472b6fe663e6d654a5103

Kotlin: 1.6.21
Groovy: 3.0.10
Ant: Apache Ant(TM) version 1.10.11 compiled on July 10 2021
JVM: 11.0.11 (Eclipse OpenJ9 openj9-0.26.0)
OS: Linux 5.10.104-linuxkit amd64

 oc version
Client Version: 4.10.23

 zip
Copyright (c) 1990-2008 Info-ZIP - Type 'zip "-L"' for software license.
This is Zip 3.0 (July 5th 2008), by Info-ZIP.

 unzip
UnZip 6.00 of 20 April 2009, by Debian. Original by Info-ZIP.

 git --version
git version 2.37.1

 curl
kubectl delete mutatingwebhookconfiguration NAME



2. If the service exists, but has no endpoints, check the health of the pods. First, get the pod labels from the service.

kubectl describe svc NAME -n NAMESPACE

Example output

Selector: app=my-webhook
3. List the pods that are using the labels. For example, the label in the following command is app=mywebhook.

kubectl get pods -n NAMESPACE -l app=my-webhook
4. Review the command output. If the pods are not healthy check the pod events, logs, worker node health, and other components to troubleshoot. For more information, see [Debugging app deployments](https://cloud.ibm.com/docs/openshift?topic=openshift-debug_apps).







 Disabling or removing a webhook 



1. Temporarily ignore connection and timeouts by setting the failure policy to Ignore. Edit the webhook by running the following commands.

kubectl edit validatingwebhookconfiguration NAME

kubectl edit mutatingwebhookconfiguration NAME
2. Search for failurePolicy and change the value to Ignore.
3. Save the configuration and exit the editor. If adjusting the failure policy doesn't resolve the issue, repeat the previous steps and change the value back to Fail.
4. Temporarily remove the webhook. Save the existing webhook configuration to a file before deleting it.

kubectl get validatingwebhookconfiguration NAME -o yaml > webhook-config.yaml

kubectl get mutatingwebhookconfiguration NAME -o yaml > webhook-config.yaml
5. Delete the webhook configuration.

kubectl delete validatingwebhookconfiguration NAME

kubectl delete mutatingwebhookconfiguration NAME
6.
If the additional PodSecurityPolicy is no longer in use, delete it. If there are additional pod security policies, [review the migration guide](https://cloud.ibm.com/docs/containers?topic=containers-pod-security-admission-migration).

kubectl delete podsecuritypolicies PSP
3. Retry the cluster upgrade.







 Could not get ClusterRoleBinding privileged-psp-user 

This message indicates the privileged-psp-user cluster role binding does not exist or that some other error prevented the upgrade operation from reading the resource.



1. List the resource.

kubectl get clusterrolebindings privileged-psp-user
2. If you get a NotFound error, create or update the privileged-psp-user[cluster role binding](https://cloud.ibm.com/docs/containers?topic=containers-ts-app-pod-securitycreate-privileged-psp-user).







 ClusterRoleBinding privileged-psp-user does not have expected roleRef 

This error indicates an unexpected change and that the cluster role binding is referencing the wrong cluster role.



1. Delete the cluster role binding.

kubectl delete clusterrolebinding privileged-psp-user
2. Create the privileged-psp-user[cluster role binding](https://cloud.ibm.com/docs/containers?topic=containers-ts-app-pod-securitycreate-privileged-psp-user).







 ClusterRoleBinding privileged-psp-user does not have expected subjects 

If this change was intentional, you must first determine whether your apps can run with the [cluster role binding](https://cloud.ibm.com/docs/containers?topic=containers-ts-app-pod-securitycreate-privileged-psp-user). If they can, Create or update restricted-psp-user [cluster role binding](https://cloud.ibm.com/docs/containers?topic=containers-ts-app-pod-securitycreate-restricted-psp-user).
* [CVE-2022-35252](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-35252)
* [usn-5587-1](https://ubuntu.com/security/notices/USN-5587-1)







 Change log for 1.15.0, released 15 September 2022 

Review the changes that are included in version 1.15.0 of the managed Istio add-on.

Previous version
: 1.14.3

Current version
: 1.15.0

Updates in this version
: See the Istio release notes for [Istio 1.15.0](https://istio.io/latest/news/releases/1.15.x/announcing-1.15/).
: Adds a 1 G memory limit and a 100 M memory request to the add-on-istio-operator deployment. This addition resolves an error in which a reconcile loop increased memory usage over time. Because of this change, your Istio operator pod might restart frequently. However, the frequent operator pod restarts do not affect Istio on the cluster and your Kubernetes deployment still matches what was specified in the IOPs.
: Resolves the following CVEs:



* [usn-5550-1](https://ubuntu.com/security/notices/USN-5550-1)
* [CVE-2021-4209](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-4209)
* [CVE-2022-2509](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2509)









 Unsupported: Version 1.14 

Version 1.14 of the managed Istio add-on is unsupported.



 Change log for 1.14.6, released 10 January 2023
--file file name to print the cr data to (optional, prints to stdout by default)
--service-environment service environment of the change, valid options: production, pre_prod
--service-environment-detail brief description of the service environment where change is deployed.

Running the command:

$ cocoa cr prepare --org=<github-organization> --repo=<github-repo-name> --pr=<pr number>





 cocoa change-request request-approval 

Requests approval for records in the new state with approval not requested. When running, the record follows the manual approval path.

Options:

--crid="<ID>"
 or
--change-request-id="<ID>"
--provider (Optional) Change Management service provider (choices: 'servicenow', 'servicenow-v3', default: 'servicenow')

Required Environment Variables, if you are using ServiceNow v1 or v2 provider:

SERVICENOW_TOKEN= ServiceNow API Token
SERVICENOW_URL= ServiceNow API URL

Required Environment Variables, if you are using ServiceNow v3 provider:

IAM_ACCESS_TOKEN= Access token obtained from the IAM service corresponding to pnp-ibmcloud-api-key.
SERVICENOW_URL= ServiceNow API URL

Running the command:

cocoa change-request request-approval --crid="<insert-change-request-id-here>"





 cocoa change-request task add 

This command is deprecated and will be removed in 2.0.0. Use cocoa change-request attachment add instead!

Adds a Change Task to a specific Change Request.

Options:

--description A more detailed description for the Change Task. [string]
--name Name of the Change Task. [string] [required]
--data Data for the Change Task or a path prefixed with @ to read the data from. [string] [default: "@/dev/stdin"]
There might be extra fields added in the future without a major version change. This means that any code that is processing notifications should be prepared to ignore the fields that it does not recognize.





 Adding webhooks to a distribution list 

To add webhooks to a distribution list, complete the following steps:



1. Go to Manage > Account > Notification distribution list in the IBM Cloud® console.
2. Click Add, and select Add webhook.
3. Enter a name identifier for your webhook and an endpoint URL, where the notifications about events are being sent, when the webhook is triggered. Set up the URL that will be your own custom endpoint.

Custom header and secure header fields are also available to set. You can specify these by clicking Add header or Add secure header. If you choose to add a secure header for credentials, they are passed encrypted with the private data. This type of header can be deleted, but cannot be edited later. You can easily edit and delete custom headers later.

If you no longer want to receive notifications, you can easily delete your webhook from the distribution list by clicking the Actions icon ![Actions icon](https://cloud.ibm.com/docs-content/v1/content/4d8c6eec891cff72b666dc24bd3211810c77fb42/icons/action-menu-icon.svg) > Delete in your webhook's row.

You can select which IBM Cloud account you use by clicking the account switcher in the console. Users in the selected account receive notifications about any events that affect the account.





 Sending test notifications to a webhook 

If you are ready with the previous steps and have a configured webhook, you can test it out easily. Send a test notification to your webhook and make sure that your webhook integration is working correctly and receives the notification.

Complete the following steps to send a test notification to a webhook:



1. Go to Manage > Account > Notification distribution list in the IBM Cloud console.
2.
If you created other priority classes in your cluster, you can check to make sure that they don't set a globalDefault by running oc describe priorityclass <name>. 
 description Optional: Tell users why to use this priority class. Enclose the string in quotations (""). 



4. Create the priority class in your cluster.

oc apply -f filepath/priorityclass.yaml
5. Verify that the priority class is created.

oc get priorityclasses



Great! You created a priority class. Let your team know about the priority class and which priority class, if any, that they must use for their pod deployments.





 Assigning priority to your pods 

Assign a priority class to your pod spec to set the pod's priority within your Red Hat OpenShift on IBM Cloud cluster.

Before you begin:



* [Access your Red Hat OpenShift cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-access_cluster).
* Ensure that you have the [Writer or Manager IBM Cloud IAM service access role](https://cloud.ibm.com/docs/openshift?topic=openshift-userschecking-perms) in the namespace that you want to deploy the pods to.
* [Understand how priority scheduling works](https://cloud.ibm.com/docs/openshift?topic=openshift-pod_prioritypriority_scheduling), as priority can preempt existing pods and affect how your cluster's resources are consumed.



Complete the following steps to check the importance of other deployed pods so that you can choose the correct priority class for your pods in relation to what already is deployed.



1. View the priority classes that other pods in the namespace use.

oc get pods -n <namespace> -o custom-columns=NAME:.metadata.name,PRIORITY:.spec.priorityClassName
2. Get the details of the priority class and note the value number. Pods with higher numbers are prioritized before pods with lower numbers. Repeat this step for each priority class that you want to review.
If the storage-template-version and your assignment version do not match, upgrade the storage assignment.

ibmcloud sat storage assignment upgrade --assignment <ASSIGNMENT_ID>







 Gather the mustachetemplate-controller pod logs 



1. List the pods in the razeedeploy namespace.

oc get pods -n razeedeploy
2. Get the mustachetemplate-controller pod logs and check for any configuration or assignment creation errors.

oc logs mustachetemplate-controller-xxx-xxx -n razeedeploy







 Get the storage driver pod logs 

Note that the namespaces and pod names are template specific. Te verify these details, refer to the [storage template](https://cloud.ibm.com/docs/satellite?topic=satellite-storage-template-ovstorage-template-ov-providers) page that you are using in your cluster.



1. Get the storage driver pods from the namespace where they are deployed.

oc get pods -n kube-system | grep POD-NAME
2. Get the storage driver pod logs.

oc get logs STORAGE-DRIVER-POD -n NAMESPACE







 Get the storage class details 



1. Get the storage class details for your template.

oc get sc







 Get the details of your persistent volume claims 



1. If you deployed apps that use storage, list your PVCs.

oc get pvc

NAME READY STATUS RESTARTS AGE
my-pvc 1/1 Running 0 2m58s







 Get the pod logs for your app 



1. Get a list of your app pods.

oc get pods -n NAMESPACE
2. Get the logs for the pod you want to troubleshoot.

oc logs POD -n NAMESPACE







 Review the details 

Review the error messages, logs, and details of your configurations and troubleshoot. Review the [troubleshooting documentation](https://cloud.ibm.com/docs/satellite?topic=satellite-sitemapsitemap_storage) for further debugging steps.





 Contact Support
--cert-domain eu-de.containers.cloud.ibm.com --image-pull-secret sdh-de-icr-io --enable-kaniko yes



The installation and the initialization of all pods may take a while to complete.







 Provide the Modeler's Access Credentials for the IBM Cloud Container Registry 

After installation has finished and the SAP Data Hub Launchpad is available, log in to SAP Data Hub, and provide the proper credentials for the Modeler in System Management.

Use the following commands to provide the modeler's access credentials to the IBM Cloud® Container Registry.



1. Retrieve your user's API key that you have created during step 7a in [Install the IBM Cloud and OpenShift client Command Line Interfaces (CLI)](https://cloud.ibm.com/docs/sap?topic=sap-rhos-set-up-clusterrhos-jump-host).

cat myAK4sdh_file
{
"name": "myAK4sdh",
"description": "This is your API Key for SAP Data Hub",
"apikey": "",
"createdAt": "2019-12-18T10:40+0000",
"locked": false,
"uuid": "ApiKey-----"
}
 copy the API key shown after "apikey".
2. Follow the instructions in [Provide Access Credentials for a Password Protected Container Registry](https://help.sap.com/viewer/e66c399612e84a83a8abe97c0eeb443a/2.7.latest/en-US/a1cbbc0acc834c0cbbe443f2e0d63ab9.html). Be sure to use the following parameters, including pasting the copied API key into the password field.

cat >/tmp/vsystem-registry-secret.txt <<EOF
username: "iamapikey"
password: ""
EOF





 Final Step
Check the Health Status field for the version that the add-on is updating to. 
 warning The add-on might not function properly due to cluster limitations. Check the Health Status field for more information. 



The Health Status provides details of what add-on operation is in progress. Each status is described in the following table.



Add-on health statuses

 Status code Add-on health status Description 

 H1500 Addon Ready The add-on is successfully deployed and is healthy. 
 H1501, H1502, H1503 Addon Not Ready Some or all the add-on components are unhealthy. Check whether all add-on component pods are running. For example, for the Istio add-on, check whether the pods in the istio-system and ibm-operators namespaces are in a Running state by running the kubectl get pods -n NAMESPACE command. 
 H1504, H1505, H1506, H1507, H1508 Failure determining health status. The add-on health can't be determined. [Open a support case](https://cloud.ibm.com/docs/get-support?topic=get-support-using-avatar). In the description, include the error code from the health status. 
 H1509 Addon Unsupported The add-on runs an unsupported version, or the add-on version is unsupported for your cluster version. [Update your add-on to the latest version](https://cloud.ibm.com/docs/containers?topic=containers-managed-addonsupdating-managed-add-ons), or see specific update steps for [Istio](https://cloud.ibm.com/docs/containers?topic=containers-istioistio_update). 
 H1510 Cluster resources low, not enough workers in Ready state. The add-on is not ready to be used for one of the following reasons:<br><br><br><br> * The cluster does not meet the size criteria for the add-on.
"title": "Incidunt qui porro sequi iste assumenda esse animi.",
"body": "Minus reprehenderit ut nisi. Aut earum qui est iure eos fuga."
},
"data": {
"name": "Willie Greenholt",
"description": "Voluptas voluptatem sed quia expedita error a at sit rerum. Numquam unde debitis incidunt qui impedit et necessitatibus. Cupiditate exercitationem enim ut laborum itaque et."
}
}
* FCM HTTP v1 API

{
"message": {
"android": {
"notification": {
"title": "Incidunt qui porro sequi iste assumenda esse animi.",
"body": "Minus reprehenderit ut nisi. Aut earum qui est iure eos fuga."
},
"data": {
"name": "Willie Greenholt",
"description": "Voluptas voluptatem sed quia expedita error a at sit rerum. Numquam unde debitis incidunt qui impedit et necessitatibus. Cupiditate exercitationem enim ut laborum itaque et."
}
}
}
}
* The subscribe API subscribes the device for a tag. After the device is subscribed to a particular tag, the device can receive notifications that are sent for that tag. Add the following code snippet to your web application to subscribe to a list of tags.

enPush.subscribe(tagName, function(response) {
alert(response.response)
})
* When the setup is complete, run your application and register for push notifications.







 Step 8: Send notifications to the Chrome web device 

Use the [Send notification API](https://cloud.ibm.com/apidocs/event-notifications/event-notificationssend-notifications) to send the push notification for the Chrome web device. You can use the [Node](https://github.com/IBM/event-notifications-node-admin-sdksend-notifications) or [Go](https://github.com/IBM/event-notifications-go-admin-sdksend-notifications) admin SDK instead of calling the API directly.

Received notification on the chrome website in MacOS.

Zoom

![Receive notifications](https://cloud.ibm.com/docs-content/v1/content/4c9a07fe500838e5e55e71e73131ef20b44a6c66/event-notifications/images/en-receive-chrome-notification.png)

Figure 3. Receive notifications
"notifyOnResolve": true,
"resolveOnOk": true,
"channel": "",
"emailRecipients": "",
"url" : "",
"apiKey": "",
"routingKey": "",
"account": "",
"serviceKey": "",
"serviceName": ""
}
}
}
Show more

Sww schema when you create, update, or delete a notification channel:

{
"notificationChannel": {
"id": 20,
"version": 1,
"type": "",
"enabled": true,
"name": "",
"options": {
"notifyOnOk": false,
"notifyOnResolve": true,
"resolveOnOk": true,
"channel": "",
"emailRecipients": "",
"url" : "",
"apiKey": "",
"routingKey": "",
"account": "",
"serviceKey": "",
"serviceName": ""
}
}
}
Show more





 Notifications schema: Response body 

{
"notificationChannel": {
"id": 20,
"version": 1,
"createdOn": 1466023669000,
"modifiedOn": 1466023669000,
"type": "",
"enabled": true,
"name": "",
"options": {
"notifyOnOk": false,
"notifyOnResolve": true,
"resolveOnOk": true,
"channel": "",
"emailRecipients": "",
"url" : "",
"apiKey": "",
"routingKey": "",