vania-janet/multiturn-rag-retrieval-data huggingface dataset:
The used variables e.g. $VMWARE_VPC, $VMWARE_VPC_ZONE, $VMWARE_BMS001 and $VMWARE_BMS001_PNIC are defined in the previous steps of this tutorial.





 Step 1: Create a IBM Cloud VPC prefix and a subnet for VMware Virtual machines 



 Create a IBM Cloud VPC prefix 

In this example, a new IBM Cloud VPC prefix for VMware VMs is created.



1. Create a prefix. 192.168.0.0/20 is used as the new prefix for IBM Cloud VPC.

VMWARE_PREFIX_VM_1=$(ibmcloud is vpc-address-prefix-create vmw-vm-prefix $VMWARE_VPC $VMWARE_VPC_ZONE 192.168.0.0/20)







 Create a IBM Cloud VPC subnet 

Next you will create a new IBM Cloud VPC subnet with a name vmw-vm-subnet-1.



1. Create a subnet using an IP subnet / CIDR block 192.168.0.0/24.

VMWARE_SUBNET_VM1=$(ibmcloud is subnetc vmw-vm-subnet-1 $VMWARE_VPC --ipv4-cidr-block 192.168.0.0/24 --zone $VMWARE_VPC_ZONE --json | jq -r .id)

This IBM Cloud VPC subnet will be used as the subnet for your initial virtual machines.









 Step 2: Allow new VLAN on PCI NICs 

VLAN 1000 is used as the VLAN ID for the subnet in this tutorial. You can customize the VLAN IDs based on your preferences.



1. Allow the Bare Metal Servers for VPC PCI NICs to use the VLAN ID.

ibmcloud is bm-nicu $VMWARE_BMS001 $VMWARE_BMS001_PNIC --allowed-vlans 100,200,300,1000
Read more about [network interfaces of Bare Metal Servers for IBM Cloud VPC with VMware vSphere](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-networkbm-vmware-nic-mapping).

The VLAN interface is a virtual network interface that is associated with a PCI interface via the VLAN ID. The VLAN interface automatically tags traffic that is routed through it with the VLAN ID. Inbound traffic tagged with a VLAN ID is directed to the appropriate VLAN interface, which is always associated with a IBM Cloud VPC subnet. Note that VLAN interfaces have only local significance inside the Bare Metal Servers for VPC, VLAN ID is not visible in the IBM Cloud VPC subnet, but to be able to communicate with a IBM Cloud VPC subnet you must use the correct VLAN ID and the IP address of the provisioned VLAN interface. In addition, PCI interface needs to have an allowed VLAN list of [e.g. 100, 200, 300] to allow network interfaces attached to vSphere Switches with the listed VLAN ID tags to communicate with IBM Cloud VPC.



 Objectives 

In this tutorial, you will learn how to:



* provision Bare Metal Servers for VPC for VMware deployment in IBM Cloud VPC
* provision baremetal network interfaces for VMkernel adapters



In this tutorial, PCI interface is used as the vSphere Switch uplink and its IP address is used as vmk0 for managing the host, and additional VLAN NICs are provisioned for other vSphere VMkernel adapters needs (such as vMotion and vSAN) as vmk1, vmk2 etc. as shown in the following diagram.

Zoom

!
Network ACLs 

A network ACL cannot be deleted if it is being used by a subnet, or if it is the default network ACL of a VPC. Before you delete the network ACL, detach the network ACL from all subnets, and make sure that the network ACL is not being used as the default network ACL of a VPC.

When any VPC is created, it requires a default network ACL. If an existing network ACL is not specified as the default when the VPC is created, a new network ACL is created and set as the default. This default network ACL is deleted automatically when the VPC is deleted, if the ACL is not in use anywhere else.

Unlike security groups, network ACLs can be assigned across VPCs. Therefore, deleting a VPC does not delete the network ACLs.







 Next steps 

The following topics provide more examples on how to delete VPC resources by using the IBM Cloud Console, CLI, or API.



* [Deleting a VPC and its associated resources](https://cloud.ibm.com/docs/vpc?topic=vpc-deleting-a-vpc-and-its-associated-resources&interface=ui)
Use the [ibmcloud ce build update](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-build-update) command to update the build configuration to use the --context-dir or --dockerfile options as needed; for example,

ibmcloud ce build update --name <BUILD_NAME> [--context-dir <CONTEXT_DIR>] [--dockerfile <DOCKERFILE_NAME>]

b. Use the [ibmcloud ce buildrun submit](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-buildrun-submit) command to submit a new build run. For the buildrun submit command, you must specify the --build option to provide the name of your build configuration. You can optionally specify the --name option to provide the name for this build run. If you specify the --name option, make sure that you use a different build run name from the failed build run, or ensure that you delete the failed build run by using the [ibmcloud ce buildrun delete](https://cloud.ibm.com/docs/codeengine?topic=codeengine-clicli-buildrun-delete) command. For example,

ibmcloud ce buildrun submit --build <BUILD_NAME> --name <BUILDRUN_NAME>







 Resolution for IBM Cloud Container Registry quota limit is reached during build 

IBM Cloud Container Registry has two service plans, a free plan and a standard plan. For the free plan, IBM Cloud Container Registry applies strict limits, especially on the image size that can be stored in total (500 MB). For the standard plan, you can configure the quotas. For more information, see [About IBM Cloud Container Registry](https://cloud.ibm.com/docs/Registry?topic=Registry-registry_overview).



1. Take one of the following actions:



* Delete unused images from the IBM Cloud Container Registry namespace to increase the available space.
* Upgrade from the free plan to the standard plan.
[Provision NFS storage and attach to cluster](https://cloud.ibm.com/docs/solution-tutorials?topic=solution-tutorials-vpc-bm-vmware-nfs)Provision NFS storage and attach to cluster

In this tutorial, an NFS file share is created in IBM Cloud VPC and it is attached to a VMware cluster as a Datastore. This phase is optional, if you use vSAN as your preferred storage option.

Virtual Private Cloud (VPC) VMware Solutions



* 1 hour
* 2023-05-05



[Deploy NSX-T Managers ](https://cloud.ibm.com/docs/solution-tutorials?topic=solution-tutorials-vpc-bm-vmware-nsx-t-deploy)Deploy NSX-T Managers

In this tutorial, NSX-T will be deployed on the VMware Cluster. This includes deploying NSX-T managers, adding compute manager and adding host and edge transport nodes. This phase is optional, if you plan to use NSX-T for your Virtual Machine networking.

Virtual Private Cloud (VPC) VMware Solutions



* 1 hour
* 2023-05-05



[Configure routing for IBM Cloud VPC and NSX-T Logical Routers](https://cloud.ibm.com/docs/solution-tutorials?topic=solution-tutorials-vpc-bm-vmware-nsx-t-routing)Configure routing for IBM Cloud VPC and NSX-T Logical Routers

In this tutorial, a Bare Metal Servers for VPC VLAN interfaces will be created for your NSX-T Tier 0 logical router external uplinks. Tier 0 logical router or Gateway will be connected to one or more the IBM Cloud VPC subnets. When the interfaces are created, IP routing is configured between IBM Cloud VPC and the NSX-T overlay networks. This phase is optional, if you plan to use NSX-T for your Virtual Machine networking.

Virtual Private Cloud (VPC) VMware Solutions



* 1 hour
* 2023-05-05
}

In this example, the credentials for the Cloudant service, along with any other credentials for other service types belong to a parameter named __bx_creds. The action code can access the necessary information by getting the __bx_creds parameter.

For example, in nodejs, you can use the following code to get the API key for the Cloudant service in the previous sample.

function main(params) {
const apikey = params.__bx_creds.cloudantnosqldb.apikey;
// ...
return { message: 'Hello done.' };
}



For more information about passing parameters to an action or package, see [Binding parameters to actions](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-actionsactions_params).





 Binding Cloud Foundry based services 

Cloud Foundry based services do not expose credentials through a service key resource, but instead use Cloud Foundry based service keys.



1. Find the name of the service and the service instance that you want to bind to an action or package. In the example output, composer is the service and Composer-qp is the service instance name.

ibmcloud service list

Example output

name service plan bound apps last operation
Composer-qp composer free create succeeded
Composer-uc composer free create succeeded
Discovery-37 discovery lite create succeeded
2. Get the name of the credentials that are defined for a service instance.

ibmcloud service keys SERVICE_NAME
3. Bind the service to an action. The [ibmcloud fn service bind](https://cloud.ibm.com/docs/openwhisk?topic=cloud-functions-cli-plugin-functions-clicli_service_bind) command makes your IBM Cloud service credentials available to your Cloud Functions code at run time.

Example syntax

ibmcloud fn service bind SERVICE ACTION_NAME [--instance INSTANCE_NAME] [--keyname CREDENTIALS_NAME]

For example, to bind an IBM Watson Composer service to an action named hello, run the following command.
For example, VLAN interface that is created for vCenter can use VLAN tag 100 and this VLAN interface can be provisioned to a management subnet in VPC. When deploying a vCenter VM, it is attached to vSphere vSwitch and uses a port group that is defined with VLAN tag 100. When the vCenter uses the IP of the vLAN interface as provided by VPC, it is logically attached to a management subnet in VPC just like any other VPC Virtual Server.

You can set VLAN interfaces to be floatable. This action is important with VMware workloads that require vMotion between the IBM Cloud bare metal server. This capability is used with VMware management workloads such as vCenter or NSX managers to allow them to be moved between hosts for High Availability (HA) or Distributed Resource Scheduler (DRS).

Both PCI and VLAN interfaces can be attached to a VPC security group. A VLAN interface does not inherit the security groups of the PCI interface through which the VLAN interface traffic flows. Also, VPC ACLs can be used to control inbound and outbound traffic for a subnet to which these PCI and VLAN interfaces are attached.

For more information about the networking concepts, see [Networking overview for IBM Cloud bare metal server on VPC](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-network).





 Host management networks and VMkernel adapters 

As mentioned earlier, it is recommended to dedicate a separate VMkernel adapter for every VMware System Traffic Type. Also, to isolate this traffic in logical segments in the underlying network infrastructure and dedicate a Distributed Port Group in the Distributed Virtual Switch.

In IBM Cloud VPC, each IBM Cloud bare metal server is connected to a VPC subnet by using its primary PCI interface. This interface is used by the default management VMkernel adapter vmk0. For the other System Traffic Types in VMware, VLAN interfaces are used and one VLAN interface is created for each VMkernel adapter type.
To bust bureaucracy and transform government’s relationship with its constituency, they turned to open standards to build a platform for co-creation.



* OPEN DATA – data storage where citizens, government agencies, and businesses access, share, and enhance data freely
* OPEN APIs – a development platform where APIs are contributed by and reused with all community partners
* OPEN INNOVATION – a set of cloud services that allow developers to use plug-in innovation instead of manually coding it



To start, the government uses IBM Cloud Object Storage to store its public data in the cloud. This storage is free to use and reuse, shareable by anyone, and subject only to attribution and share alike. Sensitive data can be sanitized before it’s pushed to the cloud. Besides that, access controls are set up so that the cloud caps new data storage, where the community can demonstrate POCs of enhanced existing free data.

The government’s next step for the public-private partnerships was to establish an API economy that is hosted in IBM® API Connect. There, community and enterprise Developers make data easily accessible in API form. Their goals are to have publicly available REST APIs, to enable interoperability, and to accelerate app integration. They use IBM Secure Gateway to connect back to private data sources on-premises.

Finally, apps based on those shared APIs are hosted in Red Hat OpenShift on IBM Cloud, where it’s easy to spin up clusters. Then, Developers across the community, private sector, and the government can co-create apps easily. In short, Developers need to focus on coding instead of managing the infrastructure. Thus, they chose Red Hat OpenShift on IBM Cloud because IBM simplifies infrastructure management.



* Managing Kubernetes master, IaaS, and operational components, such as Ingress and storage
* Monitoring health and recovery for worker nodes
* Providing global compute, so Developers don’t have to stand up infrastructure in worldwide regions where they need workloads and data to be located



Moving compute workloads into the IBM Cloud isn't enough though. The government needs to go through a method transformation as well.
Pausing and resuming instances 

When you pause IBM® Netezza® Performance Server for IBM Cloud Pak® for Data as a Service instances, you shut down and free up all of the compute resources that are associated with a specified Netezza Performance Server instance. Pausing instances helps to save on the service cost. You usually pause instances if no workload exists on them. After an instance is paused, your Netezza Performance Server service is not available for executing new workloads.

Resuming Netezza Performance Server instances is the reverse of the pausing operation. When you resume instances the necessary compute resources are reprovisioned, the Netezza Performance Server service is brought back online, and it is ready for executing new workloads.

You can launch pause/resume by using the Netezza Performance Server web console. Pause/resume can be performed by the platform owner, administrator and editor only. For more infomation, see [Managing IAM access for Netezza Performance Server](https://cloud.ibm.com/docs/netezza?topic=netezza-iam-docs).

Depending on your requirements, you can also choose a scheduled pause/resume along with an on demand (ad hoc) pause/resume.



  Pasuing and resuming instances with the web console 

For more information, see [Pausing and resuming](https://cloud.ibm.com/docs/netezza?topic=netezza-patterns&interface=uipnr-console).
Review [Getting started with IBM Cloud Object Storage](https://cloud.ibm.com/docs/cloud-object-storage) for general information on IBM Cloud Object Storage.





 Provisioning Object Storage 

Use the steps in [Provision storage](https://cloud.ibm.com/docs/services/cloud-object-storage/basics?topic=cloud-object-storage-provision) to provision your Object Storage.

The service instance name for the following example is sdi_cos_k8. Choose a name that fits your needs when creating your service instance.





 Creating the bucket and the directory 



1. Use the steps under [Creating some buckets to store your data](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-getting-started-cloud-object-storagegs-create-buckets).
2. Choose Regional as your level of resiliency and select the same Location where your Red Hat OpenShift on IBM Cloud cluster is deployed. For this example, the location is eu-de.
3. Select the Storage Class of Standard that will meet your performance needs.

The bucket name in this example is sdi-cos-bucket.
4. Create the directory by uploading an empty folder from your desktop to the bucket. In the console, navigate to your bucket. Select Resource List > Storage > sdi_cos_k8 > sdi-cos-bucket and click Upload.
5. Select the empty folder and name it checkpoints.

The first time you upload, you may be required to install the free tool, Aspera Connect. Another option is to create the directory by using an S3 bucketcompatible tool. Using such tool is not covered in this topic.





 Creating the service instance and credentials for accessing the bucket 



1. Follow the steps under [Service credentials](https://cloud.ibm.com/docs/services/cloud-object-storage/iam?topic=cloud-object-storage-service-credentials) to create the service credentials for accessing the bucket that is handed over to the SAP Data Intelligence installation script.
IBM Cloud Hyper Protect DBaaS CLI plug-in 

Hyper Protect DBaaS is deprecated. As of 15 April 2023, you can't create new instances, and access to free instances will be removed. Existing paid instances are supported until 30 November 2023. Existing instances will be deleted on 1 March 2024.

This CLI version 2.0. requires the input parameter --output json to return JSON output in order to align with other CLI plugins. This may break running automations. If you still use version 1.x (which is deprecated), leave out this option in your commands. Another change in version 2.0 is that the command names no longer contain -list and -show (for example, ibmcloud dbaas cluster-show is now ibmcloud dbaas cluster). The old command names are deprecated, although they can still work.

Use the IBM Cloud® Hyper Protect DBaaS CLI plug-in to get information about your cluster, databases, users, and nodes, list and download log files, scale resources, update configurations, back up and restore your databases, and check task status.



 Prerequisites 



1. Install the [IBM Cloud CLI](https://cloud.ibm.com/docs/cli?topic=cli-getting-started). IBM Cloud CLI requires Java SDK 1.7.0. The prefix for running commands by using the IBM Cloud CLI is ibmcloud. In the terminal, you're notified when updates to the ibmcloud CLI and plug-ins are available. Be sure to keep your CLI up-to-date so that you can use all the available commands and flags.
2. Install the IBM Cloud Hyper Protect DBaaS CLI plug-in.
IBM® Enterprise Key Management Foundation - Web Edition (EKMF Web) and Unified Key Orchestrator share the same code base.

EKMF Web is an on-premises product for IBM Z14 or Z15 environments, running z/OS V2.3 or z/OS V2.4 and IBM Db2. Hyper Protect Crypto Services with Unified Key Orchestrator is a cloud native service in IBM Cloud, which offers key management and orchestration in a hybrid multicloud environment.
* What multizone regions is Hyper Protect Crypto Services with Unified Key Orchestrator available in?

Hyper Protect Crypto Services with Unified Key Orchestrator is available in all regions where Hyper Protect Crypto Services is available. Refer to [Regions and locations](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-regions) for a list of available regions of Hyper Protect Crypto Services.
* Can I still use Hyper Protect Crypto Services with Unified Key Orchestrator for key management even if Hyper Protect Crypto Services is not available in the IBM Cloud region that my service resides in?

Yes. You can choose a data center within your required data residency region and use Unified Key Orchestrator in any regions where Hyper Protect Crypto Services is available. Note that your encryption keys is managed in the regions where your Hyper Protect Crypto Services instances are available.
* How many keystores can be created for an instance of Hyper Protect Crypto Services with Unified Key Orchestrator?

There is an internal KMS keystore limit of 50, but there is no external keystore limit. The first five internal keystores and the very first external keystore are free of charge. Each additional internal or external keystore is charged with a tiered pricing starting at $225 USD per month. For keystores that are created or connected less than a month, the cost is prorated based on actual days within the month. For more information about pricing, see [the pricing sample](https://cloud.ibm.com/docs/hs-crypto?topic=hs-crypto-faq-pricingfaq-how-charge-hpcs-uko).



Key Protect



* How does pricing work for Key Protect?
vpc-tep-subnet TEP traffic Number of Hosts + <br>2 x Edge Nodes 



To be able to create subnets in VPC, you must create a VPC prefix. VPC prefixes are defined per zone. To simplify routing, it is recommended to allocate the recommended subnets from a single prefix. Which means that to be able to accommodate 5 subnets, you need one /21 prefix to cater addresses for about 120 hosts per zone. If you want to use a prefix with /22, you can add about 60 hosts per zone. By selecting a large enough prefix, it will leave you growth for scalability and future needs, such as dedicated VMKs for NFS replication and for NSX-T Tier-0 uplinks.



 Physical host connections in VPC 

The IBM Cloud bare metal server in IBM Cloud VPC uses SmartNICs to support all VPC network capabilities. Each physical host has a redundant 100 Gb network connection for network access to IBM Cloud VPC. The high availability for physical network connectivity is handled by IBM Cloud, and you do not have to configure anything special. All network interfaces are backed by two redundant physical ports that are on the TORs (top-of-rack) switch. IBM Cloud manages the aggregation, and you do not have to create multiple PCI interfaces for redundancy, for example. The 100 Gb bandwidth is shared by the network interfaces that are configured and currently active on the bare metal server.

A network interface in a IBM Cloud bare metal server is an abstract representation of a network interface card, and a network interface connects a IBM Cloud bare metal server to a VPC subnet.

In IBM Cloud VPC, you can create two types of network interfaces on a bare metal server:



* PCI (Peripheral Component Interconnect) interface represents a physical network interface. It is possible to include up to 8 PCI interfaces on a bare metal server.
* VLAN (Virtual LAN) interface represents an interface that is associated with a PCI interface through the VLAN ID. The VLAN interface automatically tags traffic that is routed through it with the VLAN ID. Inbound traffic that is tagged with a VLAN ID is directed to the appropriate VLAN interface.
Why does my Python app fail to deploy? 

  What’s happening 

When you build a Python app from source, the image builds and is visible in Container Registry. However, the app fails to deploy.

  Why it’s happening 

When you build Python from a buildpack, the buildpack does not provide a way to define a start process. By default, it sets the start process to python, which starts the correct version's REPL. To run a Python program, the Procfile mechanism can be used to override the default start process: web.

  How to fix it 

The following Procfile sets the entrypoint of the resulting image to main.py and must be present in the root of the context directory.

web: python main.py
There will be 0 guests. 
 Watson How many people will be dining? 
 You 0 
 Watson How many people will be dining? 



You will be stuck in this loop until you specify a number other than 0.
2. To ensure that the slot treats zeros properly, change the slot condition from @sys-number to @sys-number >= 0.
3. Open the slot to edit it by clicking the Edit slot![Edit slot](https://cloud.ibm.com/docs-content/v1/content/a2b18c153837bce00a5b4de496e4b4ca64bbf56e/assistant-data/images/edit-slot.png) icon. From the Options![More icon](https://cloud.ibm.com/docs-content/v1/content/a2b18c153837bce00a5b4de496e4b4ca64bbf56e/assistant-data/images/kabob.png) menu, open the JSON editor.
4. Change the context variable value.

The value will look like this:

{
"context": {
"guests": "@sys-number >= 0"
}
}

Change it to look like this:

{
"context": {
"guests": "@sys-number"
}
}
5. Save your changes.

You must edit the context variable value in the JSON editor. Do not edit the value in the slot's Check for field. The Check for field must remain set to @sys-number >= 0. When you edit the value in the JSON editor, you are effectively changing only what to save in the context variable. However, you do not want to change what to look for in the input. These two values will be different. That is how you want it to be. Do not edit the Check for field or even give it focus or you will undo the change you made by using the JSON editor to change the value that gets saved.
6.