vania-janet/multiturn-rag-retrieval-data huggingface dataset:
After the volume is hydrated (fully provisioned), you can use the new boot or data volume. For more information about how performance is affected during restoration, see [Performance impact when backup snapshots are used](https://cloud.ibm.com/docs/vpc?topic=vpc-baas-vpc-restore&interface=uibaas-performance-considerations).

For best performance, use backups with fast restore. You can enable fast restore backup snapshots in multiple zones and use them to restore a volume that is fully provisioned when the volume is created. The fast restore feature can achieve a

recovery time objective(RTO) quicker than restoring from a regular backup snapshot. For more information, see [fast restore](https://cloud.ibm.com/docs/vpc?topic=vpc-snapshots-vpc-aboutsnapshots_vpc_fast_restore).

To restore a volume, the backup snapshot must be in a stable state.

You can't simultaneously restore a boot and a data volume.



 Restoring from a bootable backup 

When you restore from a bootable backup snapshot, you create a boot volume that you use to provision another instance. The boot volume uses a general-purpose profile and is limited to 250 GB. Because the bootable backup snapshot is not fully provisioned, in the beginning the performance is slower than when you use a regular boot volume. For more information, see [Performance impact](https://cloud.ibm.com/docs/vpc?topic=vpc-baas-vpc-restore&interface=uibaas-boot-perf).

You can restore a volume from a backup snapshot of a boot volume in multiple ways.



* You can restore a boot volume when you provision an instance to start the new instance.
* You can restore a boot volume as a stand-alone volume, and use it later to start a new instance. The restoration process starts when the boot volume is attached to the instance.







 Restoring from a nonbootable backup 

You can restore a volume from a backup snapshot of a data volume in multiple ways.
Installing services 

If you deploy IBM Cloud Pak for Data on IBM Cloud, you can install a subset of the services that are available in the Cloud Pak for Data services catalog.

You can install services by using two different methods. The supported methods depend on the services that you want to install:



* Some services can be installed from the [Cloud Pak for Data installation page](https://cloud.ibm.com/catalog/content/ibm-cp-datacore-6825cc5d-dbf8-4ba2-ad98-690e6f221701-global) in the IBM Cloud catalog.
* Some services can be installed by creating a catalog source and an operator subscription for each service. For general information and prerequisites, see [Installing IBM Cloud Pak for Data](https://www.ibm.com/docs/SSQNUZ_4.6.x/cpd/install/install.html). To use this method, you must:



* Use the Red Hat OpenShift command-line interface (oc CLI) to connect to the cluster. For more information, see [Connecting to the cluster from the CLI](https://cloud.ibm.com/docs/openshift?topic=openshift-access_clusteraccess_oc_cli).
* Create an operator subscription for each service that you plan to install. For more information, see [Creating OLM objects for an express installation](https://www.ibm.com/docs/SSQNUZ_4.6.x/cpd/install/install-platform-express-olm.html).





Use the links in the following table to learn how to install each of these services.



 Service Install from the Cloud Pak for Data installation page Install by using the CLI 

 [Analytics Engine Powered by Apache Spark](https://www.ibm.com/docs/SSQNUZ_4.6.x/svc-welcome/spark.html) ✓ ✓ 
 [Cognos Analytics](https://www.ibm.com/docs/SSQNUZ_4.6.x/svc-welcome/ca.html) ✓
HOME=/root
HOSTNAME=myapp-00001-deployment-6db6d89dc7-k6qc7
K_REVISION=myapp-00001
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PORT=8080
PWD=/
SHLVL=1

You submitted source code to Code Engine and created a container image that you then deployed in an application - all from one interface.

Go to [Building a container image](https://cloud.ibm.com/docs/codeengine?topic=codeengine-plan-build) to explore and try out more options for builds.





 Next steps for Code Engine 

Learn more about performing these Code Engine tasks from the console or with the [Code Engine CLI](https://cloud.ibm.com/docs/codeengine?topic=codeengine-install-cli).



* [Managing projects](https://cloud.ibm.com/docs/codeengine?topic=codeengine-manage-project)
* [Deploying applications](https://cloud.ibm.com/docs/codeengine?topic=codeengine-application-workloads)
* [Running jobs](https://cloud.ibm.com/docs/codeengine?topic=codeengine-job-plan)
* [Running Functions](https://cloud.ibm.com/docs/codeengine?topic=codeengine-fun-work)
* [Building container images](https://cloud.ibm.com/docs/codeengine?topic=codeengine-build-image)



Looking for more code examples? Check out the [Samples for IBM Cloud Code Engine GitHub repo](https://github.com/IBM/CodeEngine).
For more information, see [ibmcloud catalog offering get](https://cloud.ibm.com/docs/secure-enterprise?topic=secure-enterprise-manage-catalogs-pluginget-offering).

ibmcloud catalog offering get -c <CATALOGID> -o <OFFERINGID> --output json

Run the offering update command.

ibmcloud catalog offering update -c <CATALOGID> -o <OFFERINGID> --updated-offering <UPDATED_OFFERING.json>





 ibmcloud catalog offering version preinstall 

Run the following command to run the preinstallation script for a particular product.

ibmcloud catalog offering version preinstall --version-locator VERSION_NUMBER --cluster CLUSTER_ID --namespace NAME



 Command options 

--version-locator VERSION_NUMBER
: To get the version locator for this product, run the ibmcloud catalog offering list command and locate the specified product and version that you'd like to use.

--cluster CLUSTER_ID
: Provide the cluster ID of the cluster where you want to install the product.

--namespace NAME
: Provide the namespace that you'd like to use. You can specify a new one and it is automatically created as part of the preinstallation.





 Example 

Run the preinstallation script for a product with a version locator number of b636d651-8489-4425-bd6a-f30af1603577.18aad484-c78b-4269-808b-52027621abd4 in cluster with ID bn5ebho206o7fg45f2e0 in the namespace called test-namespace.

ibmcloud catalog offering version preinstall --version-locator b636d651-8489-4425-bd6a-f30af1603577.18aad484-c78b-4269-808b-52027621abd4 --cluster bn5ebho206o7fg45f2e0 --namespace test-namespace
For more information, see [ibmcloud catalog offering get](https://cloud.ibm.com/docs/cli?topic=cli-manage-catalogs-pluginget-offering).

ibmcloud catalog offering get -c <CATALOGID> -o <OFFERINGID> --output json

Run the offering update command.

ibmcloud catalog offering update -c <CATALOGID> -o <OFFERINGID> --updated-offering <UPDATED_OFFERING.json>





 ibmcloud catalog offering version preinstall 

Run the following command to run the preinstallation script for a particular product.

ibmcloud catalog offering version preinstall --version-locator VERSION_NUMBER --cluster CLUSTER_ID --namespace NAME



 Command options 

--version-locator VERSION_NUMBER
: To get the version locator for this product, run the ibmcloud catalog offering list command and locate the specified product and version that you'd like to use.

--cluster CLUSTER_ID
: Provide the cluster ID of the cluster where you want to install the product.

--namespace NAME
: Provide the namespace that you'd like to use. You can specify a new one and it is automatically created as part of the preinstallation.





 Example 

Run the preinstallation script for a product with a version locator number of b636d651-8489-4425-bd6a-f30af1603577.18aad484-c78b-4269-808b-52027621abd4 in cluster with ID bn5ebho206o7fg45f2e0 in the namespace called test-namespace.

ibmcloud catalog offering version preinstall --version-locator b636d651-8489-4425-bd6a-f30af1603577.18aad484-c78b-4269-808b-52027621abd4 --cluster bn5ebho206o7fg45f2e0 --namespace test-namespace
* anticipated sizing information for each product - this can be based on users, I/O or other metrics specific to each product
* URL's being requested
* Languages required
* Add On and/or Industry Solutions required
* location of the majority of users to determine optimal placement of the Suite in the proper IBM Cloud data center



If this information is missing or incorrect it can cause delays in the provisioning process while this information is being confirmed.





 Initial Provisioning 

The initial provisioning covers several key aspects of the TRIRIGA Application Suite deployment.

The base architecture is finalized regarding the size and number of OpenShift clusters needed. The provisioning of all based components and configuration is performed and the initial DNS registration for the TRIRIGA Application Suite done. A temporary license file is installed. The client will need to supply the final license file (described below).





 Provisioning of the Individual Products 

At this point, the products the client has selected is provisioned based on the sizing parameters that were specified. This includes deploying the appropriate containers within OpenShift and configuring the products to be available to the client. This includes the application, database, any network configuration required, DNS registrations and set up of client administration users.

At this stage, all operational configuration is finalized including ensuring backups are configured properly, monitoring in place and security scans completed. Alerting is configured and the sites added to the TAS-MS escalation process.





 Final Verification of the Provisioning 

A final review of the install is done to ensure what has been deployed meets the order and the additional information gathered. At this point, the order is marked complete.





 Welcome Letter sent to the client 

A welcome letter is then sent to the client which will include the URL's to access each environments, usernames and instructions on how to supply the license file the customer would have received when they purchased the TRIRIGA Application Suite product.

The letter will contain similar instructions to below:



* Some IBM products require license keys to use them.
See the [IBM open source and third-party policy](https://www.ibm.com/support/pages/node/737271).





 Why can't I install extra software like vulnerability scanning tools on my host? 

To add your own server as a host in your Satellite location, the host must meet certain [compute, storage, networking, and system requirements](https://cloud.ibm.com/docs/satellite?topic=satellite-host-reqs). These requirements specify the Red Hat software packages that must be installed on the Red Hat Enterprise Linux hosts. Other software packages that make modifications to the hosts, including vulnerability scanning tools such as McAfee or Qualys, cannot be installed on the hosts. But you can install read-only software such as OpenSCAP on the hosts before attaching them to your location.

The reasons that you cannot install extra software on the hosts relate to [IBM 's responsibilities](https://cloud.ibm.com/docs/satellite?topic=satellite-responsibilities) to manage multiple aspects of the Satellite hosts for you, such as installation, access, and maintenance.

Installation: The Satellite team tries to keep the host requirements to a minimal level so that many servers across infrastructure providers can meet the requirements to become Satellite hosts. By limiting the number of possible software packages, Satellite reduces instability and conflicts during installation tasks such as [bootstrapping](https://cloud.ibm.com/docs/satellite?topic=satellite-location-host) each host so that all hosts across Satellite locations have a consistent set of images and container platform software. This consistency also helps you develop applications and deploy Satellite-enabled IBM Cloud services that work across your environments.

Access: For security purposes, Satellite restricts external access to hosts, including SSH. Many extra software packages require access to or from the host, so extra software packages are not allowed to be installed.

Maintenance: IBM provides software updates that you choose when to apply to the host. Because IBM is responsible for providing these updates, you cannot install extra software that is not managed by IBM. Extra software also uses mores CPU, memory, and disk storage resources on the host, which impacts the amount available to your Satellite-enabled IBM Cloud services and applications that run on the hosts.
[Menu icon](https://cloud.ibm.com/docs-content/v1/content/icons/icon_hamburger.svg) > Resource List > Devices) for the status of the provisioning steps. Click the Device Name that matches your given hostname and Domain to see its status.





 Bring your own license 

If you have your own operating system license, you install it on your Bare Metal Servers based on the vendor's instructions. For more information, see [The no OS option](https://cloud.ibm.com/docs/bare-metal?topic=bare-metal-bm-no-osbm-no-os).





 Access your server 

Use a public IP for remote access so that you can connect to your servers through a Remote Desktop (RDP) client (for example, Windows’ MSTSC). The public IP addresses are displayed in the Device List (under the Device menu) for your device. The root passwords for your servers are also displayed. Click Show Password to see the passwords.





 Partitioning and file systems 

For the three-tier example, a 192 GB database server with one logical disk (on RAID10) and a 32 GB application server with one logical disk (on RAID 1) were ordered. Both servers come with one large file system equal to the total size of disks.

The server does not require any further installation steps for storage.





 Preparing your network for a three-tier setup 

If you are installing a three-tier setup, you need to prepare the network setup. For the sample setup, a 192 GB database server (named "sdb192") and a 32 GB application server (named "e2e1270") are deployed. The database server also hosts the ABAP SAP Central Services (ASCS) instance. Adding the IPs on the private network to your hosts file helps with the upcoming steps and ensures that SAP internal network traffic goes through the right network.

Zoom

![Figure 1.
In the next sections, you will use the script [test_provision.bash](https://github.com/IBM-Cloud/vpc-tutorials/blob/master/vpc-app-deploy/test_provision.bash) to confirm that the servers have been provisioned successfully, are able (or not) to access the Internet and that the uploaded.sh script was correctly executed.







 Step 2: Using the IBM Cloud CLI and shell scripts 

The IBM Cloud CLI provides commands to interact with all the resources you can create in the IBM Cloud. This section explains how to use these commands, but you are not going to create any resources. It is recommended to use Terraform to deploy full solutions.



 Before you begin 

Install the command line (CLI) tools by [following these steps](https://cloud.ibm.com/docs/cli?topic=cli-install-ibmcloud-cli)





 Provision virtual server instances and install software 

The CLI has a [plugin for all VPC-related functionality](https://cloud.ibm.com/docs/cli?topic=cli-vpc-reference), including compute and network resources.



1. Before working with VPC resources, set the current resource group and region:

ibmcloud target -g $TF_VAR_resource_group_name -r $TF_VAR_region
2. To provision a virtual server instance, run the ibmcloud is create-instance CLI command. In [shared/install.sh](https://github.com/IBM-Cloud/vpc-tutorials/blob/master/vpc-app-deploy/shared/install.sh) is the cloud-init file used to initialize the frontend and the backend servers. You can pass the script with the --user-data parameter like this:

ibmcloud is instance-create ... --user-data @shared/install.sh
3.
Save your choices and exit. For example, for this Bare Metal Server, click Save and Exit.
21. Save your changes and start the installation process. For example, for this Bare Metal Server, click Save Changes and Reset.



When you save and exit, RHCOS begins installing. The next time your system reboots, it boots RHCOS into memory.

Proceed with the following sections immediately to prevent memory overwriting and corruption.





 Step 2: Setting up public networking 

You must set up a public network connections for your bare metal machine to download your host attach script (RHCOS ignition file). Identify your private and public interfaces. RHCOS translates network interface names to eno or ens. For this Bare Metal Server, the public interface is eth1 and the private interface is eth0.

After RHCOS is booted into memory, the core@localhost prompt is available. Follow these steps to set up your network connectivity for your bare metal server.



1. At the core@localhost prompt, run ifconfig to determine which interface is your public interface. Depending on the flavor of the bare-metal, the setup of the wired connections may be different. In this set up, the public interfaces were wired connections 3 and 5 and the private interfaces were wired connections 2 and 4. You can find this information in the output of the ifconfig command.
2. At the core@localhost prompt, enter sudo nmtui.
3. Click Edit a Connection.
4. For each wired connection that you want to activate, click IPv4 Configuration > Manual.
5. Select Show.
6. Enter your CIDR for Addresses. The CIDR is the IP address and the subnet mask for that subnet.
7. Enter your gateway for Gateway.
8. Add DNS server information. For example, for this Bare Metal Server, these values are 8.8.8.8 and 4.4.4.4 for public interfaces; and 10.0.80.11 and 10.0.80.12 for private interfaces.
9.
Getting started with [Node.js](https://nodejs.org/en/about/)—once it's installed—usually involves configuration and invocation, like in [this example from Nodejs.org](https://nodejs.org/en/docs/guides/getting-started-guide/). We'll follow a similar model



 Initializing configuration 

const IBM = require('ibm-cos-sdk');

var config = {
endpoint: '<endpoint>',
apiKeyId: '<api-key>',
serviceInstanceId: '<resource-instance-id>',
signatureVersion: 'iam',
};

var cos = new IBM.S3(config);

Key Values



* <endpoint> - public endpoint for your cloud object storage (available from the [IBM Cloud Dashboard](https://cloud.ibm.com/resources)). For more information about endpoints, see [Endpoints and storage locations](https://cloud.ibm.com/docs/services/cloud-object-storage?topic=cloud-object-storage-endpointsendpoints).
* <api-key> - API key generated when creating the service credentials (write access is required for creation and deletion examples)
* <resource-instance-id> - resource ID for your cloud object storage (available through [IBM Cloud CLI](https://cloud.ibm.com/resources?topic=resources-crn) or [IBM Cloud Dashboard](https://cloud.ibm.com/resources))







 Creating a bucket 

A list of valid provisioning codes for LocationConstraint can be referenced in [the Storage Classes guide](https://cloud.ibm.com/docs/services/cloud-object-storage?topic=cloud-object-storage-classesclasses).

function createBucket(bucketName) {
console.log(Creating new bucket: ${bucketName});
return cos.createBucket({
Bucket: bucketName,
CreateBucketConfiguration: {
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'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/package.json'
npm WARN !invalid2 No description
npm WARN !invalid2 No repository field.
npm WARN !invalid2 No README data
npm WARN !invalid2 No license field.

up to date in 0.267s
found 0 vulnerabilities

INFO[0011] Taking snapshot of full filesystem...
INFO[0011] COPY server.js .
INFO[0011] Taking snapshot of files...
INFO[0011] EXPOSE 8080
INFO[0011] cmd: EXPOSE
INFO[0011] Adding exposed port: 8080/tcp
INFO[0011] CMD [ "node", "server.js" ]

mybuildrun-zg5rj-pod-z5gzb/step-image-digest-exporter-ngl6j:
2021/02/26 18:21:02 warning: unsuccessful cred copy: ".docker" from "/tekton/creds" to "/tekton/home": unable to open destination: open /tekton/home/.docker/config.json: permission denied
{"severity":"INFO","timestamp":"2021-02-26T18:21:26.372494581Z","caller":"logging/config.go:116","message":"Successfully created the logger."}
* [Prerequisites for NetApp ONTAP-SAN storage](https://cloud.ibm.com/docs/satellite?topic=satellite-storage-netapp-ontap-sannetapp-san-2104-pre)
* [Creating and assigning a configuration in the console](https://cloud.ibm.com/docs/satellite?topic=satellite-storage-netapp-ontap-sannetapp-ontap-san-config-create-console)
* [Creating a configuration in the CLI](https://cloud.ibm.com/docs/satellite?topic=satellite-storage-netapp-ontap-sannetapp-ontap-san-config-create-cli)
* [Creating a configuration in the API](https://cloud.ibm.com/docs/satellite?topic=satellite-storage-netapp-ontap-sannetapp-ontap-san-config-create-api)
* [Creating a storage assignment in the console](https://cloud.ibm.com/docs/satellite?topic=satellite-storage-netapp-ontap-sanstorage-netapp-ontap-san-include-assignment-create-console)
* [Creating an assignment in the CLI](https://cloud.ibm.com/docs/satellite?topic=satellite-storage-netapp-ontap-sanstorage-netapp-ontap-san-include-assignment-create-cli)
* [Creating a storage assignment in the API](https://cloud.ibm.com/docs/satellite?topic=satellite-storage-netapp-ontap-sanstorage-netapp-ontap-san-include-assignment-create-api)
* [Parameter reference](https://cloud.ibm.com/docs/satellite?topic=satellite-storage-netapp-ontap-sannetapp-ontap-san-parameter-reference)
This deployment uses an NGINX instance that runs on the bastion node. To install NGNIX, complete the following steps after you are connected to the bastion node and have root privileges:



1. Use a text editor such as vi to create the following file vi /etc/yum.repos.d/nginx.repo.
2. Type i to insert and paste the following information into the file:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/rhel/8/$basearch/
gpgcheck=0
enabled=1
3. Press Esc to get back to command mode and then type :wq to save the file and exit vi.
4. Use the yum command to install the NGINX package.

yum update
yum install -y nginx
5. Create the default configuration file vi /etc/nginx/conf.d/default.conf.
6. Type i to insert and paste the following information into the file:

server {
listen 80;
server_name localhost;

charset koi8-r;
access_log /var/log/nginx/host.access.log main;

location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
7. Press Esc to get back to command mode and then type :wq to save the file and exit vi.
8. Run the following commands to start NGINX.

systemctl enable nginx
systemctl start nginx
9. The Linux firewall needs to configured to enable HTTP by using the following firewall-cmd commands:

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload







 Generating an SSH private key and add it to the agent