vania-janet/multiturn-rag-retrieval-data huggingface dataset:
Enter passphrase to use the private key '--admin-priv-key'>
OK

Starting to decrypt key '/Users/hexiaohu/.hpnet-cfg/hpnet-test1-83-92-b6-4b.priv'....

Connecting to the server hpnet-test1 [52.117.54.147] ...

The connecting server's certificate is valid and already confirmed in previous command
The certificate can be confirmed again by removing the HPVS instance from file /Users/hexiaohu/.hpnet-cfg/known_instances

Continue connecting to the server...

Initializing the node hpnet-test1 ...

OK
Node hpnet-test1 was initialized.
Show more



2. To set up the VPN Node for 'HPVS_B', complete the following steps:



* Export the following values which you will use in the following sections:

export VPN_IP_B=10.10.10.2

export HPVS_B="hpnet-test2"

export ADMIN_PRIV_KEY_B=/Users/hexiaohu/.hpnet-cfg/hpnet-test2-71-20-39-e8.priv
* To set up the VPN Node, run the following command:

ibmcloud hpnet node init --instance "$HPVS_B" --vpn-ip "$VPN_IP_B" --admin-priv-key "$ADMIN_PRIV_KEY_B"

Enter passphrase to use the private key '--admin-priv-key'>
OK

Starting to decrypt key '/Users/hexiaohu/.hpnet-cfg/hpnet-test2-71-20-39-e8.priv'....

Connecting to the server hpnet-test2 [52.117.54.138] ...

The connecting server's certificate is valid and already confirmed in previous command
rook-ceph-mon-d-5ff5d488b5-7v8xh 2/2 Running
0 4m8s
4. Verify that new OSD pods are running on the replacement node:

oc get pods -o wide -n openshift-storage| egrep -i <new_node_name> | egrep osd
5. Identify the crashcollector pod deployment.

oc get deployment --selector=app=rook-ceph-crashcollector,node_name=NODE-NAME -n openshift-storage
6. If there is an existing crashcollector deployment, delete it.

oc delete deployment --selector=app=rook-ceph-crashcollector,node_name=NODE-NAME -n openshift-storage
7. Delete the ocs-osd-removal-job.

oc delete -n openshift-storage job ocs-osd-removal-job

Example output:

job.batch "ocs-osd-removal-job" deleted







 Step 8: Update the OpenShift Data Foundation add-on 

Major



1. Check the existing version.

ibmcloud oc cluster addon ls --cluster CLUSTER
2. Update the add-on.

ibmcloud oc cluster addon update --addon openshift-data-foundation --cluster CLUSTER --version VERSION
3. Verify the add-on is updated.

ibmcloud oc cluster addon ls --cluster CLUSTER







 Step 9: Update your cluster resource 

Major



1. Get the name of your ocscluster resource.

oc get ocscluster

Example output

NAME AGE
ocscluster-vpc 19d
2. Run the following command to edit your ocscluster resource.

oc edit ocscluster OCS-CLUSTER-NAME
3. Set the ocsUpgrade parameter to true.

...
spec:
billingType: hourly
* [Before you begin](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-monitoring-prometheusibp-monitoring-prometheus-before)
* [Step one: Create a Sysdig identity to access nodes](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-monitoring-prometheusibp-monitoring-prometheus-sysdig)
* [Step two: Provision an IBM Cloud Monitoring instance](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-monitoring-prometheusibp-monitoring-prometheus-provision)
* [Step three: Configure the TLS secret](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-monitoring-prometheusibp-monitoring-prometheus-configure)
* [Step four: Configure Prometheus settings](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-monitoring-prometheusibp-monitoring-prometheus-configure-settings)
* [Step five: View Prometheus metrics](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-monitoring-prometheusstep-five-view-prometheus-metrics)







 Backing up and restoring components and networks 

[Backing up and restoring components and networks](https://cloud.ibm.com/docs/blockchain?topic=blockchain-backup-restorebackup-restore)



* [ Overview](https://cloud.ibm.com/docs/blockchain?topic=blockchain-backup-restorebackup-restore-overview)



* [Backup considerations for each node type](https://cloud.ibm.com/docs/blockchain?topic=blockchain-backup-restorebackup-restore-node-considerations)
"smoosh_channels/ratio_views",
"smoosh_channels/slack_views",
"smoosh_channels/upgrade_views",
"uptime",
"map_doc",
"wps",
"node_peak_cpu",
"rate/status_code",
"rate/verb",
"disk_use",
"node_mean_cpu",
"memory",
"os_proc_count",
"run_queue",
"node_disk_use_srv",
"process_count",
"response_time"
]
}
Show more





 Examples of monitoring requests 



 connections 

See an example of a connections monitoring request:

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/connections?cluster=myclustername&node=myloadbalancername&format=json"

The response includes a data series for the following connection states:

{
"end": 1512989500,
"start": 1512989170,
"target_responses": [
{
"datapoints":

0,
1512989170
]
],
"target": "myclustername.myloadbalancername Connections CLOSED"
},
{
"datapoints":

19,
1512989170
]
],
"target": "myclustername.myloadbalancername Connections CLOSE_WAIT"
},
{
"datapoints":

2,
1512989170
]
],
"target": "myclustername.myloadbalancername Connections CLOSING"
},
{
"datapoints":

280,
1512989170
]
],
"target": "myclustername.myloadbalancername Connections ESTABLISHED"
},
{
You must source this file before you use the sample commands in the remainder of the instructions.

For example, if you created a file that is named sap_envs.sh, run the following command on both nodes to set the environment variables.

source sap_envs.sh

Every time that you start a new terminal session, you must run the previous source command. As an alternative, you can move the environment variables file to the /etc/profile.d directory during the cluster configuration. In this example, the file is sourced automatically each time you log in to the server.





 Assigning virtual IP addresses 

Review the information in [Reserving virtual IP addresses](https://cloud.ibm.com/docs/sap?topic=sap-ha-vsiha-vsi-reserve-virtual-ip-addresses).

Check whether the virtual IP address for the SAP instance is present. Otherwise, you need to identify the correct network adapter to assign the IP address.

On both nodes, check the list of currently active IP addresses.

ip -o -f inet address show | '/scope global/ {print $2, $4}'

Sample output of the previous command.

 ip -o -f inet address show | awk '/scope global/ {print $2, $4}'
env2 10.51.0.66/24
env3 10.52.0.41/24
env4 10.111.1.28/24

The device name of the network adapter appears in the first column. The second column lists the active IP addresses and the number of bits that are reserved for the netmask - which are separated by a slash.

If the virtual IP address for the SAP instance is not present, make sure that it isn't erroneously set on another virtual server instance.

On NODE1, run the following command.

ping -c 3 ${ASCS_vh}

Sample output:

 ping -c 2 cl-sap-scs
PING cl-sap-scs (10.111.1.248) 56(84) bytes of data.
kubectl label nodes $1 "failure-domain.beta.kubernetes.io/zone"=$4
kubectl label nodes $1 "topology.kubernetes.io/region"=$3
kubectl label nodes $1 "topology.kubernetes.io/zone"=$4
}

function verify_node()
{
kubectl get nodes | grep $1
if (( $? == 0 ))
then
return 0
else
return 1
fi
}

if (( $ < 4 ))
then
help
fi

node=$1
instanceID=$2
region=$3
zone=$4

verify_node $node
if (( $? == 0 ))
then
apply_labels $node $instanceID $region $zone
else
echo "Node " '$node' " not found in the cluster, please check the node or passing correct parameters while executing script"
help
fi
Show more
3. Label your worker nodes by running the shell script and specifying the parameters that you retrieved earlier. Repeat this step for each worker node in your cluster.

sh setup.sh <node-name> <instanceID> <region-of-instanceID> <zone-of-instanceID>







 Retrieving IAM and VPC details 

To create the Kubernetes secret that is used in the Block Storage for VPC ConfigMap, you must retrieve your IAM and VPC details.



1. Retrieve the following configuration parameter values. These values are used to create the Kubernetes secret that is required for Block Storage for VPC.



* <g2_api_key> - The IAM API key. You can use your existing API key or you can create an API key by running the ibmcloud iam api-key-create NAME command.
* <g2_riaas_endpoint> - The VPC regional endpoint of your VPC cluster in the format https://<region>.iaas.cloud.ibm.com.
3. Display the file system size:

/usr/lpp/mmfs/bin/mmlsfs all -i
4. Display the file server details. This command can be used to validate file block size (node size in bytes):

/usr/lpp/mmfs/bin/mmlsfs fs1
5. Log in to the Symphony primary node by using SSH:

ssh -J root@52.116.122.64 root@10.240.128.41
6. Display the gpfs cluster setup on the compute nodes, which include the primary, secondary, management, and worker nodes:

/usr/lpp/mmfs/bin/mmlscluster
7. Create a file on the mount point path, for example, /gpfs/fs1, and verify on the other compute nodes that the file can be accessed.
{
"start": 1436194475,
"end": 1436194775,
"target_responses": [
{
"target": "myclustername Documents per second through map functions",
"datapoints":

0.0,
1436194480
],

0.5,
1436194495
],

0.4000000000005457,
1436194510
],
...

0.0,
1436194765
]
]
}
]
}
Show more





 network 

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/network?cluster=myclustername&node=myloadbalancername&format=json"

{
"end": 1512989748,
"start": 1512989450,
"target_responses": [
{
"datapoints":

20247725.5,
1512989450
]
],
"target": "myclustername Octets tx Per Second"
},
{
"datapoints":

17697329.3046875,
1512989450
]
],
"target": "myclustername Octets rx Per Second"
}
]
}
Show more

You must explicitly specify the load balancer in the request.





 rate/status_code 

See an example of a rate/status_code monitoring request:

curl "https://$ACCOUNT.cloudant.com/_api/v2/monitoring/rate/status_code?cluster=myclustername&format=json"

See example results (abbreviated) from a rate/status_code monitoring request:

{
"start": 1436194902,
"end": 1436195202,
"target_responses": [
{
* Run ibmcloud tg gateways to get the Transit Gateway ID for the transit gateway in question from the output, and then collect the output of these commands ibmcloud tg gateway GATEWAY_ID and ibmcloud tg connections GATEWAY_ID.
* In the output of the previous command, get the connection IDs for the connections to the relevant VPCs, and if relevant, the classic infrastructure connection. Also, collect the output of the following command against each connection ID: ibmcloud tg connection GATEWAY_ID CONNECTION_ID.
* Ping and trace results for connectivity issues.



2. Provide a network diagram with your specific setup. For example, see [Interconnectivity patterns](https://cloud.ibm.com/docs/transit-gateway?topic=transit-gateway-aboutpatterns).
3. List your source and destination IP addresses.
nz_dimension_or_fact
nz_find_32bit_udx
nz_find_control_chars_in_data
nz_find_non_integer_strings
nz_find_object
nz_find_object_orphans
nz_find_object_owners
nz_find_table_orphans
nz_fix_the_permissions
nz_frag
nz_genstats
nz_get
nz_get_acl
nz_get_admin
nz_get_aggregate_name
nz_get_aggregate_names
nz_get_aggregate_signatures
nz_get_column_attnum
nz_get_column_name
nz_get_column_names
nz_get_column_oid
nz_get_column_type
nz_get_database_name
nz_get_database_names
nz_get_database_objid
nz_get_database_owner
nz_get_database_table_column_names
nz_get_ext_table_name
nz_get_ext_table_names
nz_get_ext_table_objid
nz_get_ext_table_owner
nz_get_function_name
nz_get_function_names
nz_get_function_signatures
nz_get_group_name
nz_get_group_names
nz_get_group_objid
nz_get_group_owner
nz_get_group_users
nz_get_lastTXid
nz_get_library_name
nz_get_library_names
nz_get_mgmt_table_name
nz_get_mgmt_table_names
nz_get_mgmt_view_name
nz_get_mgmt_view_names
nz_get_model
nz_get_mview_basename
nz_get_mview_definition
nz_get_mview_matrelid
nz_get_mview_name
* [Presto health status](https://cloud.ibm.com/docs/watsonxdata?topic=watsonxdata-monitor_wxdibm_watsonx_data_presto_health)
* [Total number of active nodes](https://cloud.ibm.com/docs/watsonxdata?topic=watsonxdata-monitor_wxdibm_watsonx_data_active_nodes_total)
* [Total number of inactive nodes](https://cloud.ibm.com/docs/watsonxdata?topic=watsonxdata-monitor_wxdibm_watsonx_data_inactive_nodes_total)
* [Total number of nodes](https://cloud.ibm.com/docs/watsonxdata?topic=watsonxdata-monitor_wxdibm_watsonx_data_nodes_total)
* [List of roles](https://cloud.ibm.com/docs/watsonxdata?topic=watsonxdata-monitor_wxdibm_watsonx_data_roles_name)
* [List of tables](https://cloud.ibm.com/docs/watsonxdata?topic=watsonxdata-monitor_wxdibm_watsonx_data_table_total)





 HMS health status 



Table 2: HMS Health Status metric metadata

 Metadata Description 

 Metric Name ibm_watsonx_data_hms_health 
 Metric Type gauge 
 Value Type none 
 Segment By Service Instance, Resource group 
 Metric Description Checks the status of Postgres DB connection in HMS pod. 







 Number of total running queries 



Table 6: Number Of Total Running Queries metric metadata

 Metadata Description 

 Metric Name ibm_watsonx_data_queries_running_total 
 Metric Type gauge 
 Value Type none 
 Segment By Service Instance, Resource group 
 Metric Description Runs Query to get the total queries that are in Running state in Presto Server. 







 Number of total running tasks 



Table 7: Number Of Total Running Tasks metric metadata

 Metadata Description 

 Metric Name ibm_watsonx_data_tasks_running_total 
 Metric Type gauge 
 Value Type none
From the OpenShift installation directory /go/bin/terraform-ibm-openshift inside your container, log in to your Bastion node by using a secure shell.

ssh root@$(terraform output bastion_public_ip)
2. Enter yes to all security questions to proceed. You are now logged in to your Bastion node.

Example output:

root@bastion-ose-1a2b3c1234 
3. Remove any previous registration of the Bastion node.

subscription-manager unregister
4. Import the gpg public key for Red Hat by using the Red Hat Package Manager.

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
5. Register your Bastion node with the Red Hat Network. Enter the user name and password for your Red Hat account.

subscription-manager register --serverurl subscription.rhsm.redhat.com:443/subscription --baseurl cdn.redhat.com --username <redhat_username> --password <redhat_password>
6. Find your OpenShift Pool ID. For example, the pool ID in the following example is 1a2345bcd6789098765abcde43219bc3.

subscription-manager list --available --matches 'OpenShift Container Platform'

Example output:

+-------------------------------------------+
Available Subscriptions
+-------------------------------------------+
Subscription Name: 30 Day Self-Supported Red Hat OpenShift Container Platform, 2-Core Evaluation
Provides: Red Hat Ansible Engine
Red Hat Software Collections (for RHEL Server for IBM Power LE)
Red Hat OpenShift Enterprise Infrastructure
Red Hat JBoss Core Services
Red Hat Enterprise Linux Fast Data path
Verify that the OSD was removed successfully by checking the status of the ocs-osd-removal-job pod.

oc get pod -l job-name=ocs-osd-removal-job -n openshift-storage
5. Verify that the OSD removal is completed.

oc logs -l job-name=ocs-osd-removal-job -n openshift-storage --tail=-1 | egrep -i 'completed removal'

Example output

2023-03-10 06:50:04.501511 I | cephosd: completed removal of OSD 0







 Step 7: Add the new storage nodes 

Major

Minor



1. Wait for the OpenShift Data Foundation pods to deploy to the new worker. Verify that he OSD persistent volumes are created and that all pods are in a Running state.

oc get pv
oc get ocscluster
oc get pods -n openshift-storage
2. Verify that all other required OpenShift Data Foundation pods are in Running state.

oc get pod -n openshift-storage | grep mon

Example output:

rook-ceph-mon-a-cd575c89b-b6k66 2/2 Running
0 38m
rook-ceph-mon-b-6776bc469b-tzzt8 2/2 Running
0 38m
rook-ceph-mon-d-5ff5d488b5-7v8xh 2/2 Running
0 4m8s
3. Verify that new OSD pods are running on the replacement node:

oc get pods -o wide -n openshift-storage| egrep -i <new_node_name> | egrep osd
4. Identify the crashcollector pod deployment.

oc get deployment --selector=app=rook-ceph-crashcollector,node_name=NODE-NAME -n openshift-storage
5. If there is an existing crashcollector deployment, delete it.
* [View node logs](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-trackingibp-tracking-ibp-nodes)
* [View smart contract logs](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-trackingibp-tracking-ibp-smart-contract)



* [Summary](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-trackingibp-tracking-summary)



[IBM Cloud Monitoring](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-monitoringibp-monitoring)



* [Before you begin](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-monitoringibp-monitoring-before)
* [Step one: Provision an instance of the IBM Cloud Monitoring service](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-monitoringibp-monitoring-provision)
* [Step two: Configure the Open Dashboard for monitoring your IBM Blockchain Platform nodes](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-monitoringibp-monitoring-configure)
* [Step three: Create a new dashboard](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-monitoringibp-monitoring-configure-db)



* [Copy the Overview by Container dashboard](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-monitoringibp-monitoring-configure-create-new-db)
* [Configure panels to view CPU and Memory usage](https://cloud.ibm.com/docs/blockchain?topic=blockchain-ibp-monitoringibp-monitoring-configure-edit-CPU-and-mem)
1. Change directory, generate an API key in the local.env and become a member of the application1 access group:

team=application1
cd ../$team
echo export TF_VAR_ibmcloud_api_key=$(ibmcloud iam service-api-key-create $team $basename-$team --output json | jq .apikey) > local.env
cat local.env
source local.env

The application1 team resources are very similar to the shared team's. In fact, they are a little simpler since - it is not required to put records into the DNS Services. The application uses the address http://shared.widgets.example.com to access the shared microservice.
2. Optionally, investigate the source code that initializes the CentOS instance. It is has been captured in a terraform module shared by all the teams during this exploratory stage.

../common/user_data_app/main.tf:

locals {
shared_app_user_data_centos = <<EOS
!/bin/sh
curl -sL https://rpm.nodesource.com/setup_10.x | sudo bash -
yum install nodejs -y
cat > /app.js << 'EOF'
${file("${path.module}/app.js")}
EOF
cat > /lib/systemd/system/a-app.service << 'EOF'
${file("${path.module}/a-app.service")}
EOF
systemctl daemon-reload
systemctl start a-app
EOS
}

output user_data_centos {
value = replace(local.shared_app_user_data_centos, "REMOTE_IP", var.remote_ip)
}
Show more

Detailed explanation:



* Nodejs is installed with the curl and yum commands
* The nodejs application is put into /app.js.
Operating nodes with operations service 

ATTENTION!! IBM Blockchain Platform SaaS Edition is being replaced by IBM Support for Hyperledger Fabric!! IBM Blockchain Platform SaaS Edition will no longer be supported after July 31, 2023. Customers have been directed to migrate their networks by July 31, 2023. After this date, IBM Blockchain Platform SaaS networks that are not migrated to IBM Support for Hyperledger Fabric will be at risk for potential security vulnerabilities. A migration tool is provided from your console, and the disruption to your network is minimal. See [Migrating to IBM Support for Hyperledger Fabric](https://cloud.ibm.com/docs/blockchain?topic=blockchain-migrating-to-hlf-support) for details.

The IBM® Blockchain Platform includes an Operations Service feature that was introduced in Hyperledger Fabric v1.4.0. The feature provides a RESTful “operations” API for operators to perform node health checks, pull operational metrics from the peer and orderer nodes, and manage logging levels. The peer and the orderer nodes host an HTTP server that offers the RESTful “operations” API. For more information about the Operations Service provided by Hyperledger Fabric, see [The Operations Service](https://hyperledger-fabric.readthedocs.io/en/release-2.2/operations_service.html).



 Considerations and limitations 



* All peer and orderer nodes are configured with clientAuthRequired: false so that the health checker can be accessed. Because clientAuthRequired is set to false and also mutual TLS is enabled, when you access the REST server, you need to pass the TLS identities to be able to authenticate. This setting ensures that only users with the appropriate keys can see the corresponding logs.
* Only the metrics pulling model that is based on [Prometheus](https://hyperledger-fabric.readthedocs.io/en/release-2.2/operations_service.htmlprometheus) is supported for now.







 Before you begin 

You need to gather the following information from your peer and orderer.
[More options](https://cloud.ibm.com/docs-content/v1/content/a2b18c153837bce00a5b4de496e4b4ca64bbf56e/assistant-data/images/kabob.png) icon on the yes node, and then select Add node below.
31. Type true into the If assistant recognizes field of this node.

Do not add a response. Instead, you will redirect users to the branch that asks for the order number details that you created earlier.
32. In the And finally section, choose Jump to.

![Shows a true node that has no response, but has the jump to menu option selected.](https://cloud.ibm.com/docs-content/v1/content/a2b18c153837bce00a5b4de496e4b4ca64bbf56e/assistant-data/images/gs-ass-true-jump-to.png)
33. Select the Ask for order number node's condition.

![Shows choosing the Ask for order number node condition as the jump to target.](https://cloud.ibm.com/docs-content/v1/content/a2b18c153837bce00a5b4de496e4b4ca64bbf56e/assistant-data/images/gs-ass-true-jump-to-destination.png)
34. Click ![Close](https://cloud.ibm.com/docs-content/v1/content/a2b18c153837bce00a5b4de496e4b4ca64bbf56e/assistant-data/images/close.png) to close the edit view.
35. Move the Number provided node before the Ask for order number node. Click the More!
The directory name might be different.

scp -i /root/.ssh/id_rsa core@192.168.133.10:/var/log/pods/b2810e842791d83d48a4684295b7cd01/etcd-member/0.log 0.log





 Red Hat OpenShift 

Gets a list of nodes and their status:

oc get nodes

When you use kubectl, a preference takes effect while it determines which kubeconfig file is used.



* use the --kubeconfig flag, if specified.
* use the KUBECONFIG environment variable, if specified.
* use the $HOME/.kube/config file.



To export the kubeconfig that is created by the Red Hat OpenShift Installer to an environment variable, use the following command:

export KUBECONFIG=/opt/ocpinstall/auth/kubeconfig





 Deleting deployment 

If you encounter a problem with your Terraform deployment, you can delete your deployment with the following command.

terraform destroy

In some cases, you might have issues with Terraform to finish the automation. In these cases, you might need to delete your deployment manually by using vCenter and by deleting the Terraform state files.



1. Remove the ocp folder and its contents in vCenter.
2. Remove the ocp resource group.
3. Remove the rm /opt/ocpinstall/installer/upi/vsphere/terraform.tfstate Terraform state file.



After these steps, you can fix your deployment issue and redeploy the Red Hat OpenShift platform.





 Generating new ignition files 

Your ignition files are valid for 24 hours. You can generate the .ign files by completing the following steps:



1. Remove old state, configuration, and ign files:

cd /opt/ocpinstall
rm -R .openshift_install.log .openshift_install_state.json auth .ign metadata.json
2.