vania-janet/multiturn-rag-retrieval-data huggingface dataset:
* [Vault](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_cos_referenceVault)
* [Cold](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_cos_referencecold)
* [Flex](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_cos_referenceflex)







 Setting up Portworx 

[About Portworx](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_portworx_aboutstorage_portworx_about)



* [What is software-defined storage (SDS)?](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_portworx_aboutabout-px-sds)
* [How does Portworx work?](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_portworx_aboutabout-px-work)
* [What are the requirements to run Portworx?](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_portworx_aboutabout-px-requirments)
* [How can I make sure that my data is stored highly available?](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_portworx_aboutabout-px-ha)
* [What volume topology offers the best performance for my pods?](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_portworx_aboutabout-px-topology)
* [Can I install Portworx in a private cluster?]
* [File Storage for Classic for Classic clusters](https://cloud.ibm.com/docs/openshift?topic=openshift-file_storage)
* [File Storage for VPC](https://cloud.ibm.com/docs/openshift?topic=openshift-storage-file-vpc-install)
* [IBM Cloud Object Storage](https://cloud.ibm.com/docs/openshift?topic=openshift-storage-cos-understand)
* [OpenShift Data Foundation](https://cloud.ibm.com/docs/openshift?topic=openshift-ocs-storage-prep)
* [Portworx](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_portworx_about)
* [Storage class reference](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storageblock_storageclass_reference)



* [Bronze](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storagebronze-block)
* [Silver](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storagesilver-block)
* [Gold](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storagegold-block)
* [Custom](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storagecustom-block)



* [Sample customized storage classes](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storageblock_custom_storageclass)



* [Creating topology-aware storage](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storagetopology_yaml)
* [Specifying the zone and region](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storageblock_multizone_yaml)
* [Mounting block storage with an XFS file system](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storagexfs)



* [Removing persistent storage from a cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storagecleanup_block)



* [Understanding your storage removal options](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storagestorage_delete_options_block)
* [Cleaning up persistent storage](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storagestorage_remove_block)









 Setting up IBM Cloud Object Storage
* [Gold](https://cloud.ibm.com/docs/containers?topic=containers-block_storagegold-block)
* [Custom](https://cloud.ibm.com/docs/containers?topic=containers-block_storagecustom-block)



* [Sample customized storage classes](https://cloud.ibm.com/docs/containers?topic=containers-block_storageblock_custom_storageclass)



* [Creating topology-aware storage](https://cloud.ibm.com/docs/containers?topic=containers-block_storagetopology_yaml)
* [Specifying the zone and region](https://cloud.ibm.com/docs/containers?topic=containers-block_storageblock_multizone_yaml)
* [Mounting block storage with an XFS file system](https://cloud.ibm.com/docs/containers?topic=containers-block_storagexfs)



* [Removing persistent storage from a cluster](https://cloud.ibm.com/docs/containers?topic=containers-block_storagecleanup_block)



* [Understanding your storage removal options](https://cloud.ibm.com/docs/containers?topic=containers-block_storagestorage_delete_options_block)
* [Cleaning up persistent storage](https://cloud.ibm.com/docs/containers?topic=containers-block_storagestorage_remove_block)







 Setting up IBM Cloud Object Storage 

[Setting up IBM Cloud Object Storage](https://cloud.ibm.com/docs/containers?topic=containers-storage-cos-understandstorage-cos-understand)



* [Creating your object storage service instance](https://cloud.ibm.com/docs/containers?topic=containers-storage-cos-understandcreate_cos_service)
* [Creating IBM Cloud Object Storage service credentials](https://cloud.ibm.com/docs/containers?topic=containers-storage-cos-understandservice_credentials)
location = "global"
}

// Create a new bucket with objectlock and object versioning enabled.
resource "ibm_cos_bucket" "bucket" {
bucket_name = var.bucket_name
resource_instance_id = ibm_resource_instance.cos_instance.id
region_location = var.regional_loc
storage_class = var.standard_storage_class
object_versioning {
enable = true
}
object_lock = true
}

// Set object lock configuration on the bucket by providing the crn of the new COS bucket.
resource ibm_cos_bucket_objectlock_configuration "objectlock" {
bucket_crn = ibm_cos_bucket.bucket.crn
bucket_location = var.regional_loc
object_lock_configuration{
objectlockenabled = "Enabled"
objectlockrule{
defaultretention{
mode = "COMPLIANCE"
days = 6
}
}
}
}

// Upload an object to the COS bucket with objectlock retention and objectlock legalhold.
resource "ibm_cos_bucket_object" "object_object_lock" {
bucket_crn = ibm_cos_bucket.bucket.crn
bucket_location = ibm_cos_bucket.bucket.region_location
content = "Hello World 2"
key = "plaintext5.txt"
object_lock_mode = "COMPLIANCE"
object_lock_retain_until_date = "2023-02-15T18:00:00Z"
object_lock_legal_hold_status = "ON"
force_delete = true
}
Show more
* [Block Storage for Classic](https://cloud.ibm.com/docs/openshift?topic=openshift-debug_storage_block)
* [Object Storage](https://cloud.ibm.com/docs/openshift?topic=openshift-debug_storage_cos)
* [Portworx](https://cloud.ibm.com/docs/openshift?topic=openshift-debug_storage_px)







 07 June 2021 

Worker node versions
: Worker node fix pack update change log documentation is available for version [1.20.7_1542](https://cloud.ibm.com/docs/containers?topic=containers-changelog_1201207_1542), [1.19.11_1549](https://cloud.ibm.com/docs/containers?topic=containers-changelog_11911911_1549), [1.18.19_1554](https://cloud.ibm.com/docs/containers?topic=containers-118_changelog11819_1554), and [1.17.17_1565](https://cloud.ibm.com/docs/containers?topic=containers-117_changelog11717_1565).





 3 June 2021 

IBM Cloud Object Storage plug-in
: Version 2.0.8 of the IBM Cloud Object Storage plug-in is released. Update your clusters to use the latest version. For more information, see the [IBM Cloud Object Storage plug-in change log](https://cloud.ibm.com/docs/containers?topic=containers-cos_plugin_changelog).





 2 June 2021 

End of support for custom IBM Ingress image
: The custom IBM Cloud Kubernetes Service Ingress image is unsupported.
'Class B' requests are related to retrieving objects or their associated metadata or configurations from the system.

Deleting buckets or objects from the system does not incur a charge. For charges related to Multiple Deletes, see [Delete multiple objects](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-object-operationsobject-operations-multidelete).



Table 1. Request classes

 Class Requests Examples 

 Class A PUT, COPY, and POST requests, as well as GET requests used to list buckets and objects Creating buckets, uploading or copying objects, listing buckets, listing contents of buckets, setting ACLs, and setting CORS configurations 
 Class B GET (excluding listing), HEAD, and OPTIONS requests Retrieving objects and metadata 



Requests made using the Resource Configuration API are not charged for requests and do not accrue usage for billing purposes.





 Aspera transfers 

[Aspera high-speed transfer](https://cloud.ibm.com/docs/cloud-object-storage/basics?topic=cloud-object-storage-aspera) incurs extra egress charges. For more information, see the [pricing page](https://cloud.ibm.com/objectstorage/createpricing).





 Storage classes 

Not all data that is stored needs to be accessed frequently, and some archival data might be rarely accessed if at all. For less active workloads, buckets can be created in a different storage class and objects that are stored in these buckets incur charges on a different schedule than standard storage.

There are six classes:



* Smart Tier can be used for any workload, especially dynamic workloads where access patterns are unknown or difficult to predict. Smart Tier provides a simplified pricing structure and automatic cost optimization by classifying the data into "hot", "cool", and "cold" tiers based on monthly usage patterns. All data in the bucket is then billed at the lowest applicable rate. There are no threshold object sizes or storage periods, and there are no retrieval fees.
[Installing the IBM Cloud Object Storage plug-in on VPC and classic clusters](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_cos_installstorage_cos_install)



* [Updating the IBM Cloud Object Storage plug-in](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_cos_installupdate_cos_plugin)
* [Removing the IBM Cloud Object Storage plug-in](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_cos_installremove_cos_plugin)
* [Deciding on the object storage configuration](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_cos_installconfigure_cos)
* [Verifying your installation](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_cos_installcos-plugin-verify)



[Adding object storage to apps](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_cos_appsstorage_cos_apps)



* [Creating a deployment](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_cos_appscreate-cos-deployment-steps)
* [Using object storage in a stateful set](https://cloud.ibm.com/docs/openshift?topic=openshift-storage_cos_appscos_statefulset)



[Setting capacity quotas for apps that use IBM Cloud Object Storage](https://cloud.ibm.com/docs/openshift?topic=openshift-storage-cos-tutorial-quotastorage-cos-tutorial-quota)



* [Objectives](https://cloud.ibm.com/docs/openshift?topic=openshift-storage-cos-tutorial-quotastorage-cos-quota-objectives)
We see why later in the course, but for now, we can assume that the revision number increments with each update to a document.

Let's follow the lifecycle of an example IBM Cloudant document:

When a new document is created (whether with an auto-generated _id or user-supplied _id), it is allocated a revision 1. You are sent the token in the response to your API request. Normally, you can discard the rev (unless you intend to modify the document soon).

When we modify a document whose _rev is at revision 1, the document is saved and a revision 2 token is generated and returned to you in the API response. Notice that we change the name in the document from Liz to Elizabeth.

All simple enough so far.

If we delete the document later, a revision 3 is created.

Unlike almost any other database, IBM Cloudant keeps a reference for deleted documents. A deletion is just another document revision - a special one where _deleted: true replaces the document body.

In fact, the document's recent revision history (the tree of revisions - remember we could have more than one of each revision number) - is kept.

You can't use IBM Cloudant's revision tree as a version control system to retrieve or roll back to an older revision. Once a revision is superseded, the document body of the older revision is deleted, and its disk space is recovered in a process called compaction. Compaction occurs automatically in IBM Cloudant, so it's not safe to assume that old revisions are available to be retrieved.

To summarize, revision tokens are generated by the database on add, edit, and delete. (You never need to create your own revision tokens.) Generally, the revision number increases by one each time, but more complex scenarios are possible (we cover these scenarios later). Older document bodies are discarded or compacted (don't rely on being able to get them back). All IBM Cloudant operations that change a document need the document's _id and its _rev (this scenario is unlike most databases).

That's the end of this part. The next part is called Authentication.







 Authentication video
* [Getting Started with Object Storage](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-getting-started-cloud-object-storage)







 Next steps 

For more information about using portable storage volumes, see the following tasks:



* [Managing portable storage](https://cloud.ibm.com/docs/virtual-servers?topic=virtual-servers-accessing-portable-storageaccessing-portable-storage)
* [Editing a portable storage description](https://cloud.ibm.com/docs/virtual-servers?topic=virtual-servers-editing-a-portable-storage-descriptionediting-a-portable-storage-description)
See [Getting started with Content Delivery Network (CDN)](https://cloud.ibm.com/docs/CDN?topic=CDN-getting-started) for more details on CDN.





 Object storage 

IBM Cloud's Object Storage can be configured to use multiple geographic locations in various data centers to provide content. A geographically aware application can perform location lookups on the client request and return a URL to Object Storage that is close to the client. Object Storage also comes with a CDN front end, if needed, to provide additional caching services as noted above.

See [About IBM Cloud Object Storage](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-about-cloud-object-storageabout-cloud-object-storage) for more information and an introduction to Object Storage.
/cloud-object-storage/client-get-signed-url Action bucket, key, operation, expires, endpoint Obtain a signed URL to restrict the Write, Read, and Delete of an object from a bucket. 



To get a full list of the available entities, run ibmcloud fn package get cloud-object-storage.



 Package parameters for Object Storage 

The following package parameters are expected to be bound to the package, and are automatically available for all actions. It is also possible to specify these parameters when you invoke one of the actions.



Table 6. Package parameters for object storage

 Package parameter Description 

 apikey The apikey parameter is IAM API key for the IBM Cloud Object Storage instance. 
 cos_hmac_keys The cos_hmac_keys parameter is the IBM Cloud Object Storage instance HMAC credentials, which include the access_key_id and secret_access_key values. These credentials are used exclusively by the client-get-signed-url action. Refer to [Using HMAC Credentials](https://cloud.ibm.com/docs/cloud-object-storage/hmac?topic=cloud-object-storage-service-credentialsservice-credentials) for instructions on how to generate HMAC credentials for your IBM Cloud Object Storage instance. 







 Action parameters for Object Storage 

The following action parameters are specified when you invoke the individual actions. Not all these parameters are supported by every action. Refer to the [Available entities](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-pkg_obstoragepkg_obstorage_actions) table to see which parameters are supported by which action.



Table 7. Action parameters for object storage

 Action parameter Description 

 bucket The bucket parameter is the name of the IBM Cloud Object Storage bucket. 
 endpoint The endpoint parameter is the IBM Cloud Object Storage endpoint that is used to connect to your IBM Cloud Object Storage instance. You can locate your endpoint in the [IBM Cloud Object Storage documentation](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-endpoints).
Therefore, a bucket can have three states related to versioning: 1. Default (unversioned), 2. Enabled, or 3. Suspended.



 Getting started with versioning 

First, create a new bucket with object versioning enabled.



1. After navigating to your object storage instance, click on Create bucket.
2. Choose a region and resiliency, then look for Object versioning and toggle the selector to Enabled.



Zoom

![Enable versioning](https://cloud.ibm.com/docs-content/v1/content/63322f2f3a72050206eb05ba7f590fdcb741105c/cloud-object-storage/images/versioning_enable.png)

Figure 1. Enable versioning

Then create a versioned object.



1. Navigate your new bucket, and upload a file by dragging it onto the browser window.
2. After the object has uploaded successfully, upload another object with the same name. Instead of being overwritten, the file will be assigned a UUID and saved as a non-current version of the object.
3. Toggle View versions to see and interact with alternate versions of objects.



Zoom

![View versions](https://cloud.ibm.com/docs-content/v1/content/63322f2f3a72050206eb05ba7f590fdcb741105c/cloud-object-storage/images/versioning_objects.png)

Figure 2. View versions





 Terminology 

Delete marker: An 'invisible' object that allows for accessing versions of the deleted object.

Version ID: A Unicode, UTF-8 encoded, URL-safe, opaque string that indicates a unique version of an object and associated metadata, and is used to target requests to that particular version. Version IDs are a maximum of 1,024 bytes long.

'null': A special version ID assigned to objects that existed when versioning was enabled on a bucket.





 Consistency and data integrity
* [Decide on a pre-defined storage class](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storageblock_predefined_storageclass) or create a [customized storage class](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storageblock_custom_storageclass).



Looking to deploy block storage in a stateful set? For more information, see [Using block storage in a stateful set](https://cloud.ibm.com/docs/openshift?topic=openshift-block_storageblock_statefulset).

To add block storage:



1. Create a configuration file to define your persistent volume claim (PVC) and save the configuration as a .yaml file.



* Example for bronze, silver, gold storage classes: The following .yaml file creates a claim that is named block-storage-pvc of the "ibmc-block-silver" storage class, billed hourly, with a gigabyte size of 24Gi.

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: block-storage-pvc
labels:
billingType: "hourly"
region: us-south
zone: dal13
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 24Gi
storageClassName: ibmc-block-silver
* Example for using the custom storage class: The following .yaml file creates a claim that is named block-storage-pvc of the storage class ibmc-block-retain-custom, billed hourly, with a gigabyte size of 45Gi and IOPS of "300".

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: block-storage-pvc
labels:
billingType: "hourly"
region: us-south
zone: dal13
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 45Gi
iops: "300"
cloud-object-storage.object.copy_part_get_version Manager, Writer, Reader 
 cloud-object-storage.object.restore_version Manager, Writer 
 cloud-object-storage.object.put_tagging_version Manager, Writer, Object Writer 
 cloud-object-storage.object.get_tagging_version Manager, Writer, Reader 
 cloud-object-storage.object.delete_tagging_version Manager, Writer 







 Activity Tracker events 

Versioning will generate new events.



* cloud-object-storage.bucket-versioning.create
* cloud-object-storage.bucket-versioning.read
* cloud-object-storage.bucket-versioning.list



Management events for versioned buckets contain a requestData.versioning.state field, indicating whether versioning is enabled or suspended on a bucket.

The basic HEAD, GET, PUT, and DELETE actions that act on or create versions of objects will include a target.versionId field. The target.versionId field is also present when completing a multipart upload and when copying objects or parts, if a new version is created because of those actions.

A responseData.deleteMarker.created field is present when an object is deleted and a delete marker is created.





 Usage and accounting 

All versions are metered as if they were equal objects. This means that if a bucket contains a single object with five previous versions, the object_count field returned by the [Resource Configuration API](https://cloud.ibm.com/apidocs/cos/cos-configuration) will be 6, even though it will appear as if there is only a single object in the bucket. Likewise, accumulated versions contribute to total usage and are billable. In addition to the object_count field returned by the [Read Bucket Metadata API](https://cloud.ibm.com/apidocs/cos/cos-configuration), the API response body contains several new fields associated with versioning:



* noncurrent_object_count: Number of non-current object versions in the bucket in int64 format.
* noncurrent_bytes_used: Total size of all non-current object versions in the bucket in int64 format.
* [What information is stored with IBM when using IBM Cloud Kubernetes Service?](https://cloud.ibm.com/docs/containers?topic=containers-service-archpi-info)
* [How is my information stored and encrypted?](https://cloud.ibm.com/docs/containers?topic=containers-service-archpi-storage)
* [Where is my information stored?](https://cloud.ibm.com/docs/containers?topic=containers-service-archpi-location)
* [How can I remove my information?](https://cloud.ibm.com/docs/containers?topic=containers-service-archpi-removal)





[Protecting IBM Cloud Kubernetes Service resources with context-based restrictions](https://cloud.ibm.com/docs/containers?topic=containers-cbrcbr)



* [How IBM Cloud Kubernetes Service integrates with context-based restrictions](https://cloud.ibm.com/docs/containers?topic=containers-cbrcbr-overview)



* [Protecting IBM Cloud Kubernetes Service resources](https://cloud.ibm.com/docs/containers?topic=containers-cbrresources-types-cbr)
* [Protecting specific APIs](https://cloud.ibm.com/docs/containers?topic=containers-cbrprotect-api-types-cbr)
* [Allowing IBM Cloud Kubernetes Service to access other IBM Cloud resources by using CBR](https://cloud.ibm.com/docs/containers?topic=containers-cbrcbr-integrations)



* [Creating network zones](https://cloud.ibm.com/docs/containers?topic=containers-cbrcreate-cbr-network-zone-containers)



* [Creating network zones from the API](https://cloud.ibm.com/docs/containers?topic=containers-cbrcreate-network-zone-api)
(https://cloud.ibm.com/docs/containers?topic=containers-storage_portworx_aboutabout-px-requirments)
* [How can I make sure that my data is stored highly available?](https://cloud.ibm.com/docs/containers?topic=containers-storage_portworx_aboutabout-px-ha)
* [What volume topology offers the best performance for my pods?](https://cloud.ibm.com/docs/containers?topic=containers-storage_portworx_aboutabout-px-topology)
* [Can I install Portworx in a private cluster?](https://cloud.ibm.com/docs/containers?topic=containers-storage_portworx_aboutabout-px-private)
* [What's next?](https://cloud.ibm.com/docs/containers?topic=containers-storage_portworx_aboutabout-px-next)



[Planning your Portworx setup](https://cloud.ibm.com/docs/containers?topic=containers-storage_portworx_planstorage_portworx_plan)



* [Limitations](https://cloud.ibm.com/docs/containers?topic=containers-storage_portworx_planportworx_limitations)
* [Overview of the Portworx lifecycle](https://cloud.ibm.com/docs/containers?topic=containers-storage_portworx_planportowrx_lifecycle)
* [Creating a secret to store the KMS credentials](https://cloud.ibm.com/docs/containers?topic=containers-storage_portworx_planpx_create_km_secret)



[Preparing your cluster for Portworx](https://cloud.ibm.com/docs/containers?topic=containers-storage_portworx_preparingstorage_portworx_preparing)