vania-janet/multiturn-rag-retrieval-data huggingface dataset:
* [number](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-elementssay-as-number)
* [ordinal](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-elementssay-as-ordinal)
* [vxml:boolean](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-elementsvxml-boolean)
* [vxml:currency](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-elementsvxml-currency)
* [vxml:date](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-elementsvxml-date)
* [vxml:digits](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-elementsvxml-digits)
* [vxml:phone](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-elementsvxml-phone)





 cardinal 

The cardinal value speaks the cardinal number for the numeral within the element. The following examples say Super Bowl forty-nine. The first is superfluous, since it does not change the service's default behavior.

Super Bowl <say-as interpret-as="cardinal">49</say-as>
Super Bowl <say-as interpret-as="cardinal">XLIX</say-as>





 date 

The date value speaks the date within the element according to the format given in the associated format attribute. The format attribute is required for the date value. If no format is present, the service still attempts to pronounce the date. The following examples speak the indicated dates in the specified formats, where d, m, and y represent day, month, and year.
--vault='{"id": "5295ad47-2ce9-43c3-b9e7-e5a9482c362b"}' 
--label='IBM CLOUD KEY' 
--tags='[{"name": "first-tag", "value": "for-IBM-CLOUD"}]' 
--output json
* Output

The command returns the output similar to the following example:

ETag
2022-05-26T14:18:10Z
{
"id": "3dab42dc-6941-4841-8d27-4dabcc5aa09e",
"vault": {
"id": "5295ad47-2ce9-43c3-b9e7-e5a9482c362b",
"name": "Test Vault Name",
"href": "https://uko.us-south.hs-crypto.cloud.ibm.com:9549/api/v4/vaults/5295ad47-2ce9-43c3-b9e7-e5a9482c362b"
},
"template": {
"id": "93777bca-baef-4070-b9b5-a2e6079df1b4",
"name": "IBM-CLOUD-EXAMPLE-TEMPLATE"
},
"description": "IBM CLOUD key template description",
"label": "IBM CLOUD KEY",
"state": "active",
"size": "256",
"algorithm": "aes",
"verification_patterns": [
{
"method": "enc-zero",
"value": "DDFA4A"
}
],
"activation_date": "2027-04-18",
"expiration_date": "2028-06-29",
"tags": [
{
The capability can be a user-provided service, such as with the services that are listed in the IBM Cloud catalog, or an internal architectural component critical to the IBM Cloud functionality.

The service-name segment indicates the service that the resource belongs to. The service-name segment must be alphanumeric, lowercase, and have no spaces or special characters other than -. If you're identifying a service name for a child service, you must have a period . that separates the parent service name from the child. For example, if you have a service that's called iam-service and a child of that is called micro, iam-service is the parent service and iam-service.micro is considered the child service.

For services that are registered into the IBM Cloud catalog, the service-name segment must correspond to one of the services that are registered to the IBM Cloud global catalog service. It is the name property that is returned by the IBM Cloud global catalog service API GET https://globalcatalog.cloud.ibm.com/api/v1/{id} for the corresponding resource instance or the service-name value that is displayed by the command-line interface (CLI): ibmcloud service offerings in the service column.





 location 

The cloud geography/region/zone/data center that the resource resides.

The location segment must be one of the location names listed by the [ibmcloud catalog locations](https://cloud.ibm.com/docs/cli?topic=cli-ibmcloud_catalogibmcloud_catalog_locations) CLI command.

Some resources do not require a region, as they can be considered global. In this case, the region segment is set to global.





 scope 

The scope segment identifies the containment or owner of the resource. Some resources do not require an owner (they can be considered global). In this case, the scope segment is empty (a blank string).

The value of the scope segment must be formatted as {scopePrefix}/{id}. The scopePrefix represents the format that is used to identify the owner or containment. The id represents the identity of the owner or containment in a format that is specific to the scopePrefix.
[Attach](https://cloud.ibm.com/docs/vpc?topic=vpc-attaching-block-storage) the volume to an available virtual server instance. 
 Delete. Delete the unattached volume. 







 Viewing details about a Block Storage for VPC volume 

To view details about a Block Storage for VPC volume, go to the list of all Block Storage for VPC volumes and select a volume. By default, the Overview tab is selected for volume details. Click the Snapshots and Backups tab to view a list of snapshots that were created manually or by a backup policy.

Next to the name of the volume is the [volume status](https://cloud.ibm.com/docs/vpc?topic=vpc-managing-block-storage&interface=uistatus) and tags that are associated with this volume. [User tags](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-about&interface=uistorage-about-user-tags) identify the resource and when associated with a backup policy, are used for creating [backup snapshots](https://cloud.ibm.com/docs/vpc?topic=vpc-backup-about) of the volume. With [Access management tags](https://cloud.ibm.com/docs/vpc?topic=vpc-block-storage-about&interface=uistorage-about-mgt-tags), you can create flexible resource groupings for managing access. For more information about these tags, see [Working with tags](https://cloud.ibm.com/docs/account?topic=account-tag).

The Actions menu on the volume details page shows the actions that you can take, depending on whether the volume is a boot or data volume, and attached or unattached. For more information, see Table 4.

The Block Storage for VPC volumes details page shows volume details, attached virtual server instances, and backup policies. Table 3 describes this information.



Table 3. Volume details

 Field Description 

 Volume details 
 Name Name of the volume you specified when you created the volume.
* ${application_version}: The version of this instance of the app, which takes the form of a UUID, such as b687ea75-49f0-456e-b69d-e36e8a854caa. This variable changes with each successive push of the app that contains new code or changes to the app artifacts.
* ${host}: The IP address of the app instance.
* ${application_uris}: A JSON-style array of the endpoints that can be used to access this app, for example: myapp.mydomain.com.
* ${start}: The time and date that the app was started, taking a form similar to 2013-08-22 10:10:18 -0400. Not set when running on Diego.







 Accessing information of bound services 

When you want to bind a service to your app, information about the service, such as connection credentials, is included in the [VCAP_SERVICES environment variable](https://docs.cloudfoundry.org/devguide/deploy-apps/environment-variable.htmlVCAP-SERVICES) that Cloud Foundry sets for the app. For [automatically configured services](https://cloud.ibm.com/docs/cloud-foundry-public?topic=cloud-foundry-public-auto_config), the Liberty buildpack generates or updates service binding entries in the server.xml file. The contents of the service binding entries can be in one of the following forms:



* cloud.services.<service-name>.<property>, which describes the information such as the name, type, and plan of the service.
* cloud.services.<service-name>.connection.<property>, which describes the connection information for the service.



The typical set of information is as follows:



* name: The name of the service, for example, mysql-e3abd.
* label: The type of the created service, for example, mysql-5.5.
* plan: The service plan, as indicated by the unique identifier for that plan, for example, 100.
/instance/volume_attachments/{id} type The type of volume attachment, boot or data. 
 /instance/volume_attachments/{id} volume The attached volume, which contains the CRN, ID, name, and deleted value, when the volume is deleted. 







 Summary of metadata for SSH keys 

Use the information in the Table 2 to understand the type of metadata returned for SSH keys.



Table 2. Metadata for SSH keys

 SSH Key URI path Metadata key Description of the metadata 

 /keys keys A collection of keys. See keys/{id} for details. 
 /keys/{id} created_at The date and time that the key was created. 
 /keys/{id} crn The Cloud Resource Name for the key. 
 /keys/{id} fingerprint The fingerprint for the key. The value is returned base64-encoded and prefixed with the hash algorithm (always SHA256). 
 /keys/{id} id The unique identifier for the key. 
 /keys/{id} length The length of the key, in bits. 
 /keys/{id} name The unique user-defined name for the key. If unspecified, the name is a hyphenated list of randomly selected words (for example, elderly-mountain-troop-opponent.) 
 /keys/{id} public_key The public SSH key. 
 /keys/{id} type The cryptosystem used by the key. 







 Summary of metadata for placement groups 

Use the information in the Table 3 to understand the type of metadata returned for placement groups.



Table 3. Metadata for placement groups

 Placement group URI path Metadata key Description of the metadata 

 /placement_groups placement_groups A collection of placement groups. See placement_groups/{id} for details. 
 /placement_groups/{id} created_at The date and time that the placement group was created. 
 /placement_groups/{id} crn The Cloud Resource Name for the placement group. 
 /placement_groups/{id} id The unique identifier for the placement group. 
 /placement_groups/{id} lifecycle_state The lifecycle state of the placement group.
hasMoney Indicates that an entity such as a person has or had Money. 
 instrumentOf Exists between an entity such as a Weapon and an Event that the entity is or was used to bring about. 
 locatedAt Exists between an entity and its physical location. 
 managerOf Exists between a Person and another entity such as a Person or Organization that he or she manages as his or her job. 
 measureOf Indicates a particular Measure such as the height or weight of an entity. 
 memberOf Exists between an entity such as a Person, Organization, or GeopoliticalEntity and another entity to which he, she, or it belongs. 
 near Exists between two entities that are located close to each other physically. 
 overlaps Indicates that two Times or Events overlap temporally. Marked only when the text clearly specifies the relation. 
 ownerOf Exists between an entity such as a Person, Organization, or GeopoliticalEntity and an entity that he, she, or it owns, either permanently or temporarily. 
 parentOf Exists between a Person or Animal and his, her, or its child or stepchild. 
 participantIn Exists between a participant such as a Person, Animal, Organization, or GeopoliticalEntity and an Event in which he, she, or it is participating or has participated. 
 partner Exists between two GeopoliticalEntities or Organizations that are engaged in economic cooperation. 
 partOf Exists between a smaller and a larger entity of the same type or related types in which the second entity subsumes the first. If the entities are Events, the first must occur within the time span of the second. 
 partOfMany Exists between smaller and larger entities of the same type or related types in which the second entity, which must be plural, subsumes the first, which can consist of one or more entities. 
 playsRoleOf Exists between a Person and a specific character that he or she plays or played in a performance. 
 populationOf Exists between a Cardinal and an entity such as an organization or country for which the number represents the entire population. 
 productOf Exists between a Product or TitleWork and the Organization that produced it. 
 quantityOf Indicates a Cardinal that is the quantity or amount of a second entity. 
 rateOf Exists between a Rate and an event whose frequency of occurrence it specifies.
The products value indicates an array of products with size one or more. If a catalog manifest file exists at the root of your repository, only the products within the file can be imported. Products are imported one at a time. The following values can be included at the products level:

label
: The product display name. The label that is listed in the catalog manifest must match the display name that you provide during onboarding.

name
: The programmatic name of the product.

version
: The version of the product in SemVer format, including the major version, minor version, and revision, for example, 1.0.0.

product_kind
: The kind of product that you are onboarding. Valid values are software, module, or solution.

tags
: An array of tags that can help users identify and learn more about your product.

keywords
: An array of works, phrases, and other key seaarch terms that can help users identify and learn more about your product.

short_description
: A concise summary of what your product is and its value.

long_description
: A detailed description of your product that explains the product's value and benefits to users.

provider_name
: Users can filter the catalog by the provider of a product. When you onboard a product to a private catalog, the provider name is set to Community by default. However, you can customize this field to display your company or organization name.

offering_docs_url
: A link to documentation about the product that users can access.

offering_icon_url
: A link to the icon that you want to appear on the product's catalog entry page.

support_details
: Support information in markdown format that can include support contacts, support locations, and support methods.

features
: Section header for details that highlight the processes, abilities, and results of the product.

title
: The name of the feature.

description
: A concise description of the feature.





 module_info 

The modules value indicates information about other products that the deployable architecture is compatible with. The following values can be included at the module_info level:
"default": "testvpcone",
"description": "",
"name": "vpc_name",
"type": "string"
},
{
"default": ""tag:test1", "tag:test2"]",
"description": "",
"name": "vpc_tags",
"type": "list(string)"
}
],
"variablestore":
{
"name": "sample_var",
"secure": true,
"value": "THIS IS IBM CLOUD TERRAFORM CLI DEMO",
"type": "",
"description": "Description of sample_var"
},
{
"name": "sleepy_time",
"secure": false,
"value": "15",
"type": "",
"description": ""
}
],
"has_githubtoken": false
}
],
"runtime_data": [
{
"id": "b44c147b-81fb-4e",
"engine_name": "terraform",
"engine_version": "v1.0.11",
"state_store_url": "https://us.schematics.cloud.ibm.com/v1/workspaces/us-east.workspace.testwspace03jan.cf74cc48/runtime_data/b44c147b-81fb-4e/state_store",
"log_store_url": "https://us.schematics.cloud.ibm.com/v1/workspaces/us-east.workspace.testwspace03jan.cf74cc48/runtime_data/b44c147b-81fb-4e/log_store"
}
],
"shared_data": {
--uko-vault=eb66ebbd-7230-4cde-89bf-17282cda5faa 
--if-match=2022-05-27T10:14:13Z 
--output json
* Output

The command returns the output similar to the following example:

ETag
2022-05-27T10:15:38Z
{
"id": "3dab42dc-6941-4841-8d27-4dabcc5aa09e",
"vault": {
"id": "5295ad47-2ce9-43c3-b9e7-e5a9482c362b",
"name": "Test Vault Name",
"href": "https://uko.us-south.hs-crypto.cloud.ibm.com:9549/api/v4/vaults/5295ad47-2ce9-43c3-b9e7-e5a9482c362b"
},
"template": {
"id": "93777bca-baef-4070-b9b5-a2e6079df1b4",
"name": "IBM-CLOUD-EXAMPLE-TEMPLATE"
},
"description": "IBM CLOUD key template description",
"label": "IBM CLOUD KEY",
"state": "active",
"size": "256",
"algorithm": "aes",
"verification_patterns": [
{
"method": "enc-zero",
"value": "DDFA4A"
}
],
"activation_date": "2027-04-18",
"expiration_date": "2028-06-29",
"tags": [
{
"name": "first-tag",
"value": "for-ibm"
}
],
{"level":"info","ts":1614363665.8331757,"caller":"git/git.go:169","msg":"Successfully cloned https://github.com/IBM/CodeEngine @ 8b514ce871e50d67cfea3e344b90cade4bd26e90 (grafted, HEAD, origin/main) in path /workspace/source"}
{"level":"info","ts":1614363666.82988,"caller":"git/git.go:207","msg":"Successfully initialized and updated submodules in path /workspace/source"}

mybuildrun-zg5rj-pod-z5gzb/step-build-and-push:
INFO[0002] Retrieving image manifest node:12-alpine
INFO[0002] Retrieving image node:12-alpine
INFO[0003] Retrieving image manifest node:12-alpine
INFO[0003] Retrieving image node:12-alpine
INFO[0003] Built cross stage deps: map[]
INFO[0003] Retrieving image manifest node:12-alpine
INFO[0003] Retrieving image node:12-alpine
INFO[0004] Retrieving image manifest node:12-alpine
INFO[0004] Retrieving image node:12-alpine
INFO[0004] Executing 0 build triggers
INFO[0004] Unpacking rootfs as cmd RUN npm install requires it.
INFO[0008] RUN npm install
INFO[0008] Taking snapshot of full filesystem...
INFO[0010] cmd: /bin/sh
INFO[0010] args: [-c npm install]
INFO[0010] Running: [/bin/sh -c npm install]
npm WARN saveError ENOENT: no such file or directory, open '/package.json'
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.
* A systemctl service is created for app.js
* The service is started



3. Optionally investigate the app.js contents. It has two particularly interesting sections. First, there is a /info link that returns a description of the instance running the app. ../common/user_data_app/app.js:

const server = http.createServer((req, res) => {
switch(req.url) {
case '/info':
res.statusCode = 200;
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify({
req_url: req.url,
os_hostname: os.hostname(),
ipArrays: ips()
}, null, 3));
break
case '/remote':
getRemote(req, res)
break

Second, the /remote link calls to a remote server IP and returns the description of that remote along with the remote_url and remote_ip addresses used to access the remote.

const IP='REMOTE_IP'

function getRemote(req, res) {
path = '/info'
remote_url = 'http://' + IP + ':3000' + path
http.get(remote_url, (resp) => {
let rawData = '';
resp.on('data', (chunk) => { rawData += chunk; });
To access the deployment delta in your deployment scripts, you can use the following commands:

 return a JSON file path with an array of inventory entries that were changed
get_env DEPLOYMENT_DELTA_PATH

 return a JSON file path with an array of inventory entries that were deleted
get_env DEPLOYMENT_DELTA_DELETIONS_PATH

 returns a JSON file path with an array of all inventory entries
get_env INVENTORY_ENTRIES_PATH





 Calculate deployment BOM 

The deployment Bill of Material (BOM) represents all of the artifacts that are deployed as part of a single change request. After the deployment delta is calculated, the pipeline creates the deployment BOM based on these items.





 Collect evidence summary 

An evidence summary is created from all of the evidence that was created during the relevant build that led to a deployment. Evidence that is created during the deployment itself is also added to the summary. The evidence summary is added to the change request's description.





 Prepare and create change request 

Everything that changes the [baseline](https://cloud.ibm.com/docs/devsecops?topic=devsecops-cd-devsecops-inventory) must be traced by way of a change request. These changes include updates to the existing code level, changes to the configuration, and updates of the worker nodes. Collection of [peer review compliance](https://cloud.ibm.com/docs/devsecops?topic=devsecops-cd-devsecops-peer-review) data is based on the data that is accessible in the inventory, the evidence locker, and the incident issue repo.

This step creates the change request by attaching the available compliance data based on the [promotion pull request](https://cloud.ibm.com/docs/devsecops?topic=devsecops-cd-devsecops-promotion-pipelinecd-devsecops-promotion-pipelinepr) fields.
subnet: 10.94.227.46/24
status:
nodeStatus:
- error: ""
hostname: 10.94.227.19
state:
gateway: 10.94.227.1
selectors:
- key: kubernetes.io/arch
operator: In
values:
- amd64
subnet: 10.94.227.46/24
- error: ""
hostname: 10.94.227.22
state:
gateway: 10.94.227.1
selectors:
- key: kubernetes.io/arch
operator: In
values:
- amd64
subnet: 10.94.227.46/24
Get the name of the persistent volume that is used for the Postgres backup:

oc get pv |grep $INSTANCE-store

This command returns the name of the persistent volume claim where the store backup is located, such as pvc-d2b7aa93-3602-4617-acea-e05baba94de3. The name is referred to later in this procedure as the $pv_name.
2. Find nodes where Portworx is running:

oc get pods -n kube-system -o wide -l name=portworx-api
3. Log in as the core user to one of the nodes where Portworx is running:

ssh core@<node hostname>
sudo su -
4. Make sure the persistent volume is in a detached state and that no store backups are scheduled to occur during the time you plan to transfer the backup files.

Remember, backups occur daily at 11 PM (in the time zone configured for the nodes) unless you change the schedule by editing the value of the postgres.backup.schedule configuration parameter. You can run the oc get cronjobs command to check the current schedule for the $RELEASE-backup-cronjob job. In the following command, $pvc_node is the name of the node that you discovered in the first step of this task:

pxctl volume inspect $pv_name |head -40
5. Attach the persistent volume to the host:

pxctl host attach $pv_name
6. Create a folder where you want to mount the node:

mkdir /var/lib/osd/mounts/voldir
7. Mount the node:

pxctl host mount $pv_name --path /var/lib/osd/mounts/voldir
8. Change directory to /var/lib/osd/mounts/voldir. Transfer backup files to a secure location. Afterwards, exit the directory. Unmount the volume:
Sample setting of the system_id_source parameter in /etc/lvm/lvm.conf:

system_id_source = "uname"

Verify that the LVM system ID for the node matches the uname -n output.

lvm systemid

uname -n

Sample output:

 lvm systemid
system ID: cl-nfs-1
 uname -n
cl-nfs-1





 Identifying the World Wide Names of shared storage volumes 

Identify the World Wide Names (WWN) for all volumes that are used in the shared volume group.



1. Log in to IBM Cloud® and go to the [Storage volumes](https://cloud.ibm.com/power/storage) view of Power Systems Virtual Server.
2. Select your workspace.
3. Filter for the volume prefix in the Storage volumes list, and identify all the World Wide Names of the volumes in scope (the World Wide Name is a 32-digit hexadecimal number).

Make sure that the attribute Shareable is On for those volumes.
4. In the [Virtual server instances](https://cloud.ibm.com/power/servers) view, go to both virtual server instances of the cluster and verify that in scope volumes are attached to both virtual server instances.









 Discovering new SAN volumes on cluster nodes 

When you attach a new storage volume to a virtual server instance, you need to rescan the SCSI bus to detect the new volume. Then, update the multipath configuration of the virtual server instance.

On the nodes with new storage volume attachments, run the following command.

rescan-scsi-bus.sh && sleep 10 && multipathd reconfigure

The WWN value of a volume can also be found with the pvs --all command.





 Preparing environment variables 

To simplify the setup, prepare the following environment variables for user ID root on both nodes. These environment variables are used in subsequent commands in the remainder of this document.

On both nodes, create a file with the environment variables. Then, adapt them to your configuration.