vania-janet/multiturn-rag-retrieval-data huggingface dataset:
: Yes, you can [create a custom storage class](https://cloud.ibm.com/docs/containers?topic=containers-file_storagefile-topology) for your PVC that includes the [volumeBindingMode: WaitForFirstConsumer](https://kubernetes.io/docs/concepts/storage/storage-classes/volume-binding-mode) field.

What options do I have to add File Storage for Classic to a stateful set?
: If you want to automatically create your PVC when you create the stateful set, use [dynamic provisioning](https://cloud.ibm.com/docs/containers?topic=containers-file_storagefile_dynamic_statefulset). You can also choose to [pre-provision your PVCs or use existing PVCs](https://cloud.ibm.com/docs/containers?topic=containers-file_storagefile_static_statefulset) with your stateful set.



 Creating the PVC when you create a stateful set by using dynamic provisioning 

Use this option if you want to automatically create the PVC when you create the stateful set.

Before you begin: [Log in to your account. If applicable, target the appropriate resource group. Set the context for your cluster.](https://cloud.ibm.com/docs/containers?topic=containers-access_cluster)



1. Verify that all existing stateful sets in your cluster are fully deployed. If a stateful set is still being deployed, you can't start creating your stateful set. You must wait until all stateful sets in your cluster are fully deployed to avoid unexpected results. List existing stateful sets in your cluster.

kubectl get statefulset --all-namespaces

Example output

NAME DESIRED CURRENT AGE
mystatefulset 3 3 6s
2. View the Pods Status of each stateful set to ensure that the deployment of the stateful set is finished.

kubectl describe statefulset <statefulset_name>

Example output

Name: nginx
Namespace: default
kubectl get nodes

Example output.

NAME STATUS ROLES AGE VERSION
10.111.1.11 Ready <none> 1d v1.26+IKS
5. Create a yaml file to deploy a pod onto the node. Make sure to specify the service account you created and the node IP address.

apiVersion: v1
kind: Pod
metadata:
name: testpod
spec:
nodeName: 10.111.1.111
containers:
- image: nginx
name: nginx
serviceAccountName: test-sa

kubectl apply -f <file_name>
6. Retrieve the service account token from within the pod.



1. Log in to the pod.

kubectl exec testpod -it -- bash
2. Run the following command to get the token. Note that there is no output.

token=$(cat /var/run/secrets/kubernetes.io/serviceaccount/token)



7. While you are still logged in to the pod, run the command to view the storage metrics. Make sure to specify the node IP address.

curl -k -H "authorization: bearer <token> https://<node_IP>:10250/metrics | grep kubelet_volume_stats
8. View the metrics in the terminal output. You may have to wait several minutes for the metrics to output. If you are still unable to view metrics, [open a support issue](https://cloud.ibm.com/docs/containers?topic=containers-get-helphelp-support).
9. After you have finished viewing the metrics, and determined whether the issue is related to dashboard or the metrics agent, delete the configurations and resources that you created in the previous steps.



Do not skip this step.



1. Exit the pod.

exit
2. Delete the pod.

kubectl delete pod testpod
3. Delete the clusterRoleBinding.
If you use a kubectl CLI version that does not match at least the major.minor version of your cluster, you might experience unexpected results. For example, [Kubernetes does not support kubectl client versions that are 2 or more versions apart from the server version (n +/- 2).



1. Show the kubectl CLI version that is installed in your cluster and your local machine.

kubectl version

Example output

Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.26", GitCommit:"641856db18352033a0d96dbc99153fa3b27298e5", GitTreeState:"clean", BuildDate:"2019-03-25T15:53:57Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.26+IKS", GitCommit:"e15454c2216a73b59e9a059fd2def4e6712a7cf0", GitTreeState:"clean", BuildDate:"2019-04-01T10:08:07Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}

The CLI versions match if you can see the same version in GitVersion for the client and the server. You can ignore the +IKS part of the version for the server.
2. If the kubectl CLI versions on your local machine and your cluster don't match, either [update your cluster](https://cloud.ibm.com/docs/containers?topic=containers-update) or [install a different CLI version on your local machine](/docs/containers?topic=containers-cli-install.



6.
For example, to work in the US-south region and in the default resource group, you need the following permissions:



Table 1. List of IAM policies

 Resource Scope of the access policy Role Region Information 

 Resource group Default Resource group Viewer us-south This policy is required to allow the user to see service instances in the Default resource group. 
 IBM Log Analysis service Resource group Editor us-south This policy is required to allow the user to provision and administer the IBM Log Analysis service in the Default resource group. 







 Provision an IBM Log Analysis instance 

To provision a service instance of IBM Log Analysis through the IBM Cloud console, see [Provisioning an instance](https://cloud.ibm.com/docs/log-analysis?topic=log-analysis-provision).







 Install NXLog 

Follow these steps to install NXLog.

You will need to run as a Windows Administrator for all command prompt or PowerShell steps.



1. The [Chocolately package manager](https://chocolatey.org/) is used to install NXLog. Run one of the following if you do not have the package manager already installed.

From a Windows command prompt (cmd.exe):

powershell -command "Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"

From a PowerShell prompt:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
2. Run the following command in PowerShell to install NXLog Community Edition.

choco install -y nxlog







 Configure NXLog
Functions 



  Creating functions 

You cannot create functions with the web console. Instead, you can use the dedicated command. For more information, see [CREATE {OR REPLACE} FUNCTION](https://www.ibm.com/docs/en/netezza?topic=npssr-create-replace-function-2).
If you use a kubectl CLI version that does not match at least the major.minor version of your cluster, you might experience unexpected results. For example, [Kubernetes does not support kubectl client versions that are 2 or more versions apart from the server version (n +/- 2).



1. Show the kubectl CLI version that is installed in your cluster and your local machine.

oc version

Example output

Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.26", GitCommit:"641856db18352033a0d96dbc99153fa3b27298e5", GitTreeState:"clean", BuildDate:"2019-03-25T15:53:57Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.26+IKS", GitCommit:"e15454c2216a73b59e9a059fd2def4e6712a7cf0", GitTreeState:"clean", BuildDate:"2019-04-01T10:08:07Z", GoVersion:"go1.11.5", Compiler:"gc", Platform:"linux/amd64"}

The CLI versions match if you can see the same version in GitVersion for the client and the server. You can ignore the +IKS part of the version for the server.
2. If the kubectl CLI versions on your local machine and your cluster don't match, either [update your cluster](https://cloud.ibm.com/docs/containers?topic=containers-update) or [install a different CLI version on your local machine](/docs/containers?topic=containers-cli-install.



6.
: Yes, you can [create a custom storage class](https://cloud.ibm.com/docs/openshift?topic=openshift-file_storagefile-topology) for your PVC that includes the [volumeBindingMode: WaitForFirstConsumer](https://kubernetes.io/docs/concepts/storage/storage-classes/volume-binding-mode) field.

What options do I have to add File Storage for Classic to a stateful set?
: If you want to automatically create your PVC when you create the stateful set, use [dynamic provisioning](https://cloud.ibm.com/docs/openshift?topic=openshift-file_storagefile_dynamic_statefulset). You can also choose to [pre-provision your PVCs or use existing PVCs](https://cloud.ibm.com/docs/openshift?topic=openshift-file_storagefile_static_statefulset) with your stateful set.



 Creating the PVC when you create a stateful set by using dynamic provisioning 

Use this option if you want to automatically create the PVC when you create the stateful set.

Before you begin: [Access your Red Hat OpenShift cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-access_cluster).



1. Verify that all existing stateful sets in your cluster are fully deployed. If a stateful set is still being deployed, you can't start creating your stateful set. You must wait until all stateful sets in your cluster are fully deployed to avoid unexpected results. List existing stateful sets in your cluster.

oc get statefulset --all-namespaces

Example output

NAME DESIRED CURRENT AGE
mystatefulset 3 3 6s
2. View the Pods Status of each stateful set to ensure that the deployment of the stateful set is finished.

oc describe statefulset <statefulset_name>

Example output

Name: nginx
Namespace: default
--type Type of the asset
--version Show version number
--git-provider Git service provider ("github")
--git-token-path Git token path to read the secret from
--git-api-url Github API url
--format Output format ("id", "json", default: "id")

Run the command:

cocoa locker asset get https://github.ibm.com/foo/bar.gitaaaaaaaabbbbbbbbccccccccddddddddeeeeeeee --format json

Example output:

{
"version": "1",
"id": "0000000011111111222222223333333344444444555555556666666677777777",
"uri": "docker://us.icr.io/foo/bar:v1.2.3@sha256:0000000011111111222222223333333344444444555555556666666677777777",
"origin": {
"toolchain_crn": "crn:v1:bluemix:public:toolchain:au-syd:a/111111111111c2f2222222222b22a7a63:ac2a22a2-2a2a-2222-aaa2-222aa22a2a2a::",
"pipeline_run_id": "f333b3bc-3333-3fea-3333-333d3a3b33b3",
"pipeline_id": "444aaa4a-b4c4-4444-4f4b-aa4444a444a4"
},
"details": {
"sha": "aaaaaaaabbbbbbbbccccccccddddddddeeeeeeee",
provenance URL pointing to the artifact (for example, built image) String Required 
 signature The artifact's signature String Required 
 environment The name of the environment where the entry is added. String master 
 git-provider* The Git version control service provider. String* github 
 git-token-path Git token path to read the secret from String 
 git-api-url Git API URL String 



Running the command:

$ cocoa inventory add --artifact=cocoa-script-cli --type=type --sha256=786800e8e48938664fe2397ca14ab8dabd48f34656ef5cfda4143b4519cb714f --signature=123123valid --name=cocoa-cli --repository-url=http://validURL.com --commit-sha=8e86dc4647ce28632103dce46b756c70d339349a --version=v4 --build-number=33 --pipeline-run-id=123123valid --git-token-path=./git-token --org=test --app-artifacts='{"app": "test", "some_value": "value"}' --repo=repository

$ cocoa inventory add --environment=environment --artifact=foo-helm-chart/foo/chart.yaml --repository-url=http://validURL.com --commit-sha=786800e8e48938664fe2397ca14ab8dabd48f34656ef5cfda4143b4519cb714f --build-number=33 --pipeline-run-id=123123valid --version=v4 --name=chart





 cocoa inventory get 

Gets an entry from the inventory repository. The target can be a specific version or an environment. Either use --version or --environment, and use only one of them. If the --property option is missing, the whole content of the inventory entry is printed.
These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
3. No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
4. The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
5. The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.



TERMINATION

This license becomes null and void if any of the above conditions are not met.

DISCLAIMER

THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
vlan-nic-tep-vmk10 vlan 400 vpc-tep-subnet false vmk10 dpg-tep 



If you are not using NSX-T, you do not need vlan-nic-tep-vmk10 interface.

If you are not using vSAN, you do not need vlan-nic-vsan-vmk3 interface.

The following diagram presents how PCI and VLAN interfaces, Distributed Virtual Switch and Distributed Port Groups are created and used with basic deployment architecture without NSX-T.

Zoom

![IBM Cloud bare metal server network interfaces and Distributed PortGroups](https://cloud.ibm.com/docs-content/v1/content/5bdb37c0149145723c5437e8176651928565e722/vmwaresolutions/images/vpc-ryo-diagrams-vpc-hosts-vmk.svg)

Figure 2. IBM Cloud bare metal server network interfaces and Distributed PortGroups

The following diagram presents how PCI and VLAN interfaces, Distributed Virtual Switch, and Distributed Port Groups are used with NSX-T based deployment architecture.

Zoom

![IBM Cloud bare metal server network interfaces and Distributed PortGroups with NSX-T](https://cloud.ibm.com/docs-content/v1/content/5bdb37c0149145723c5437e8176651928565e722/vmwaresolutions/images/vpc-ryo-diagrams-vpc-hosts-vmk-tep.svg)

Figure 3. IBM Cloud bare metal server network interfaces and Distributed PortGroups with NSX-T

When provisioning a host, make sure you provision the required VLAN interfaces for each, and that the PCI interface allowed VLANs lists include the used VLAN IDs.

As VMkernel adapters do not need to move between hosts, they are provisioned with Allow Float set to false.







 Related links
To avoid IP address conflicts, don't use IP addresses in the 10.0.0.0/14, 10.200.0.0/14, 10.198.0.0/15, and 10.254.0.0/16 blocks in your classic access VPC. Also, don't use addresses from your classic infrastructure subnets. To view the list of your classic infrastructure subnets, see [View all Subnets](https://cloud.ibm.com/docs/subnets?topic=subnets-view-all-subnets).





 Creating a classic access VPC 

You can create a classic access VPC by using the IBM Cloud console, CLI, or API.

A VPC must be set up for classic access when it is created: you cannot update a VPC to add or remove classic access.



 Using the IBM Cloud console to create a classic access VPC 

On the New virtual private cloud page, select Enable access to classic resource under Classic access.





 Using the CLI to create a classic access VPC 

Use the flag --classic-access when you create the VPC, for example:

ibmcloud is vpc-create my-access-vpc --classic-access





 Using the API to create a classic access VPC 

Pass in the classic_access parameter when you create the VPC, for example:

curl -X POST "$rias_endpoint/v1/vpcs?version=$api_version&generation=2" -H "Authorization: $iam_token" -d '{
"name": "my-access-vpc",
"classic_access": true
}'





 Classic access VPC default address prefixes 

Classic Virtual Servers aren't available in the Madrid MZR.

When a classic access VPC is created, the default address prefixes are assigned based on the zone as follows:



Table 1. Classic access VPC address prefixes by zone

 Zone Address Prefix 

 us-south-1 172.16.0.0/18 
 us-south-2 172.16.64.0/18 
 us-south-3 172.16.128.0/18
Verify the permissions of your container's mount path. In the example, the mount path is /var/jenkins_home.

ls -ln /var/jenkins_home

Example output

jenkins@mypod-123456789:/$ ls -ln /var/jenkins_home
total 12
-rw-r--r-- 1 1000 1000 102 Mar 9 19:58 copy_reference_file.log
drwxr-xr-x 2 1000 1000 4096 Mar 9 19:58 init.groovy.d
drwxr-xr-x 9 1000 1000 4096 Mar 9 20:16 war

This output shows that the GID and UID from your Dockerfile (in this example, 1000 and 1000) own the mount path inside the container.
Select the Run jobs only when this stage is run manually option for the [Input stage](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-deliverypipeline_aboutdeliverypipeline_stages) of your pipeline.

b. Verify that your pipelines can be [started manually](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-deliverypipeline_aboutdeliverypipeline_stages).





 Known limitations 

Backing up your toolchain creates a copy of the toolchain itself, but it does not copy all of the data that is referenced by the toolchain. Consider the following limitations when you back up a toolchain to a different region:



* You cannot back up and restore Tekton pipelines.
* You cannot back up and restore pipelines that use pipeline private workers.
* Pipeline logs and artifacts are not included in the copied toolchain.
* Tool configuration secrets that are stored in Key Protect or HashiCorp Vault are not included in the copied toolchain.
* DevOps Insights data is not included in the copied toolchain.



If your toolchain is subject to these limitations, you cannot use the script to back up and restore these aspects of your toolchain. Whenever the original toolchain is updated, you must keep the backup copy current.





 Using your backup toolchain 

Backup or alternative toolchains are intended to provide short-term continuity if issues exist in a particular region. Do not commit to target (alternative) repos directly or enable pipeline commit triggers on target pipelines. If you commit to the target repo directly and then return to using the source (primary) repo, you risk conflicts and inconsistencies because the repos are not synchronized. If you enable commit triggers and then return to using the source repo, both pipelines run when code is updated. To avoid these scenarios, run your pipelines manually and return to the source toolchain as soon as possible.
The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.5. The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.<-- </ol> -->TERMINATION This license becomes null and void if any of the above conditions are not met.DISCLAIMER THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.FONTAWESOME smartystreets/goconvey], OFL.TXT smartystreets/goconvey] ! ! ! !
To provision a service instance of IBM Log Analysis through the IBM Cloud console, see [Provisioning an instance](https://cloud.ibm.com/docs/log-analysis?topic=log-analysis-provision).







 Install NXLog 

Follow these steps to install NXLog.

You will need to run as a Windows Administrator for all command prompt or PowerShell steps.



1. The [Chocolately package manager](https://chocolatey.org/) is used to install NXLog. Run one of the following if you do not have the package manager already installed.

From a Windows command prompt (cmd.exe):

powershell -command "Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"

From a PowerShell prompt:

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
2. Run the following command in PowerShell to install NXLog Community Edition.

choco install -y nxlog







 Configure NXLog 



1. Provision a syslog port for NXLog.

To get the required port value, do the following:



1. Access the [IBM Log Analysis UI.](https://cloud.ibm.com/docs/log-analysis?topic=log-analysis-launchlaunch_cloud_ui)
2. Click the !
For more information about using Terraform with Continuous Delivery, see [Creating a Continuous Delivery service instance with Terraform](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-create_cd_service&interface=terraformcreate_cd_service_terraform), [Deleting a Continuous Delivery service instance with Terraform](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-delete_cd_service&interface=terraformdeleting_rg_terraform), and the [ibm_resource_instance resource documentation](https://registry.terraform.io/providers/IBM-Cloud/ibm/latest/docs/resources/resource_instance).

You cannot use Terraform to manage the list of authorized users for a Continuous Delivery service instance. You can manage the list of authorized users only by using the console. For information about authorized user management, see [Authorized users](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-limitations_usage&interface=uiauthorized_users).





 Can I manage Continuous Delivery service instances by using an API? 

You can use HTTP APIs or selected programming language SDKs to provision, update, and de-provision instances of the Continuous Delivery service. For more information about using Continuous Delivery with the API, see [Creating a Continuous Delivery service instance with the API](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-create_cd_service&interface=apicreate_cd_service_api) and [Deleting a Continuous Delivery service instance with the API](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-delete_cd_service&interface=apideleting_rg_api).

You cannot use APIs to manage the list of authorized users of a Continuous Delivery service instance. You can manage the list of authorized users only by using the console.
Aggregates 



  Creating aggregates 

You cannot create aggregates with the web console. Instead, use the [CREATE {OR REPLACE} AGGREGATE](https://www.ibm.com/docs/en/netezza?topic=npssr-create-replace-aggregate-2) command.