vania-janet/multiturn-rag-retrieval-data huggingface dataset:
This tutorial provides a simple example where a fully dedicated IBM Cloud® Virtual Private Cloud is created for the VMware deployment, but you may customise your network solution if you so wish. You may also use [IBM Cloud interconnectivity](https://cloud.ibm.com/docs/vpc?topic=vpc-interconnectivity) options. These are recommended for enterprise connectivity use cases.

You need to plan and decide your VMware deployments storage solution before you order the bare metal servers. If you use NFS backed IBM Cloud VPC file share as the primary storage, you can start with a minimum of 2 bare metal servers with and select a [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile) starting with bx2-, which includes a local SATA M.2 mirrored drive. If you plan to use vSAN, you need to select a minimum of 3 bare metal servers with and select a [profile](https://cloud.ibm.com/docs/vpc?topic=vpc-bare-metal-servers-profile) starting with bx2d-, which includes a local SATA M.2 mirrored drive and a number of NVMe U.2 SSDs.

Deploying VMware on IBM Cloud VPC requires multiple steps. Follow steps 1 through 4 below for an initial setup for your base VMware deployment. After vCenter and the base setup has been completed, you can create or attach shared storage for your cluster based on your preference by following either step 5 or 6.



1. [Provision a IBM Cloud VPC for VMware deployment](https://cloud.ibm.com/docs/solution-tutorials?topic=solution-tutorials-vpc-bm-vmware-vpcvpc-bm-vmware-vpc)
2. [Provision IBM Cloud DNS Services for VMware deployment](https://cloud.ibm.com/docs/solution-tutorials?topic=solution-tutorials-vpc-bm-vmware-dnsvpc-bm-vmware-dns)
3.
Before you continue, create an SSH public key that you can upload later to the region of your choice when you are creating the virtual server instance. Follow the steps that are [documented here](https://cloud.ibm.com/docs/vpc?topic=vpc-ssh-keys).

You use security groups to restrict access to and from IP ranges, protocols, and ports. Security groups aren't within the scope of this guidance, and the default security group that is deployed with your sample VPC can suffice. However, you might have to add extra ports for exceptions to the access restrictions, such as, the SAP Software Provisioning Manager and for the ports that are being used by your SAP NetWeaver based application.





 Step 2: Creating an IBM Cloud VPC and subnet 

IBM Cloud® compute resources are kept in a global region within a VPC. Use the following steps to create a VPC and its subnet.



1. Log in to the [IBM Cloud console](https://cloud.ibm.com) with your unique credentials.
2. Click Menu icon![Menu icon](https://cloud.ibm.com/docs-content/v1/content/icons/icon_hamburger.svg) > VPC Infrastructure > Network > VPCs and click New virtual private cloud > Create VPC for Gen 2.



Zoom

![Figure 2. Creating a VPC](https://cloud.ibm.com/docs-content/v1/content/f89cc64b006ca59b35404693959c83d5747fee3e/sap//images/quickstudy-intel-vs-gen2-image6.png)

Figure 2. Creating a VPC



1. Enter a unique Name for the VPC, for example, sap-test-inst.
2. Keep the default Resource group. Use resource groups to organize your account resources for access control and billing purposes.
VPC Virtual Connection 3: VPC name and ID
Show more

The Power Systems Virtual Server network autonomous system number (ASN) is the same as your Border Gateway Protocol (BGP) ASN. The IBM Cloud network team generates the IBM Cloud ASN and adds it to the IBM Cloud support case. The IBM Cloud network team also generates the IP addresses. Your private network name is your Power Systems Virtual Server private network subnet name.

The Power Systems Virtual Server support case is closed when the Direct Link Connect connection is configured to communicate with your Power Systems Virtual Server instance.







 Setting up high availability over Direct Link Connect 

Your Direct Link connections are location-specific. By default, IBM Cloud Direct Link is not a redundant service. You must order a separate Direct Link Connect instance for redundancy.

To set up a high availability through Direct Link Connect, complete the following steps:



1. Order two instances of Direct Link Connect. For instructions, see [Ordering Direct Link Connect](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-ordering-direct-link-connectorder-direct-link-connect-2.0).

In the BGP section, select a port from a separate port group for the redundant Direct Link Connect instance. Both Direct Link Connect instances must be on separate ports to connect to different Power Systems Virtual Server routers, thus, ensuring redundancy.

The following example shows the Direct Link Connect ports for the DAL12 data center. The ports that end with 1-1 and 1-2 belong to one port group, and the ports ending with 2-1 and 2-2 belong to another port group. If you select a port from the first port group, you must select a port from the second port group for the redundant Direct Link Connect instance. That is, if you select -1-1 for the first Direct Link Connect instance, you must select -2-1 or -2-2 for the second Direct Link Connect instance.

Zoom

!
For more information about viewing and managing your software credentials, see [Managing classic infrastructure access](https://cloud.ibm.com/docs/virtual-servers?topic=account-mngclassicinfra).





 Access your server on the private network 

The private network is the precursor to interacting with your devices through remote desktop (RDP) using SSH and KVM over IP. The VPN Access tool allows for private network connection to either the closest SSL VPN endpoint or to the endpoint of your choice. VPN access is also required to interact with several services that are offered. For more information, see [Getting started with Virtual Private Networks (VPN)](https://cloud.ibm.com/docs/iaas-vpn?topic=iaas-vpn-getting-started).







 Set up monitoring 

Monitoring is primarily used as a resource to check your server’s uptime, but it can also be useful for knowing when to scale. IBM Cloud Monitoring services are available to cover various monitoring needs. Standard Monitoring, sometimes referred to as “Basic Monitoring,” is generally used in the ping-and-respond method by using either a slow or service ping that is initiated by using the IBM Cloud console. IBM Cloud Monitoring keeps you aware of any issues with your devices. IBM Cloud Monitoring gives you insight into the performance and health of your applications, services, and platforms. Your administrators, DevOps teams, and developers have full stack telemetry with advanced features to help them monitor and troubleshoot, define alerts, and design custom dashboards. For more information, see [IBM Cloud Monitoring](https://cloud.ibm.com/docs/cloud-infrastructure?topic=cloud-infrastructure-monitoring-iaas).





 Configure security groups 

You can use security groups to limit network traffic on your virtual servers. Use security groups to enact a set of IP filter rules that define how to handle incoming and outgoing traffic to both the public and private interfaces of a virtual server instance. For more information, see [Getting started with security groups](https://cloud.ibm.com/docs/security-groups?topic=security-groups-getting-started).





 Configure firewalls
You can deploy Cloud Pak for Data on Virtual Private Cloud (VPC) Gen2 infrastructure. You can use either a single or multi zone deployment. For more information, see [Creating a VPC cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-getting-started&interface=uivpc-gen2-gs).

You must ensure that you have sufficient resources for the services that you plan to install. For more information, see the [prerequisites](https://cloud.ibm.com/catalog/content/ibm-cp-datacore-6825cc5d-dbf8-4ba2-ad98-690e6f221701-globalabout) for IBM Cloud Pak for Data.



 Roles 

To install IBM Cloud Pak® for Data on IBM Cloud, a user must have the following IBM Cloud Identity and Access Management (IAM) roles:



 Role Location Action 

 Platform Editor Manage > Account > Licenses and entitlements Assign a license. 
 Service Manager Manage > Access (IAM) > Roles > Kubernetes Service Run the preinstallation script. 
 Service Writer Manage > Access (IAM) > Roles > Kubernetes Service Run the installation script. 
 Service Manager in any resource group Schematics > Workspaces Create a workspace. 
 Classic Infrastructure > Services > Storage Manage , Classic Infrastructure > Account > Add/Upgrade Storage Manage > Access (IAM) > Users Modify the image registry volume. 



For more information, see [Setting up access to your cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-users).





 Storage 

You must ensure that your cluster has sufficient resources and is configured to use supported storage. You can choose one of the following storage options:



* Single zone VPC Gen2 cluster with storage OpenShift® Data Foundation
* Multi zone VPC Gen2 cluster with storage OpenShift® Data Foundation



You must also ensure that your cluster has sufficient resources and is configured to use supported storage.







 Step 1. Assign the license 

If you don't already have a license, you can:
Check out [Creating a VPC cluster](https://cloud.ibm.com/docs/openshift?topic=openshift-cluster-create-vpc-gen2).



1. Create a Virtual Private Cloud (VPC) on generation 2 compute.



1. Navigate to the [VPC create console](https://cloud.ibm.com/vpc/provision/vpc).
2. Give the VPC a name and select a resource group to deploy the VPC into.
3. Give the VPC subnet a name and select the location where you want to create the cluster.
4. Attach a public gateway to your subnet so that you can access public endpoints from your cluster. This public gateway is used later on to access default Red Hat OpenShift components like the web console, OperatorHub, and service catalog.
5. Click Create virtual private cloud.



2. From the [Red Hat OpenShift on IBM Cloud dashboard](https://cloud.ibm.com/kubernetes/landing?platformType=openshift), click Create cluster.
3. Configure your cluster's VPC environment.



1. Review the platform version details, Red Hat OpenShift 4.11.42.
2. If you see the OCP entitlement section: Leave the value set to Purchase additional licenses for this worker pool because you are not using an IBM Cloud Pak for this getting started cluster.
3. For the Infrastructure, select VPC.
4. From the Virtual private cloud drop-down menu, select the VPC that you created earlier.
5. From the Cloud Object Storage drop-down menu, select a standard IBM Cloud Object Storage instance to use for the internal Red Hat OpenShift container registry, or [create a standard IBM Cloud Object Storage instance](https://cloud.ibm.com/docs/cloud-object-storage/basics?topic=cloud-object-storage-provisionprovision-instance) to use.



4. Configure the Location details for your cluster.



1.
["Develop and deploy an app on IBM Cloud® Virtual Private Cloud by using deployment strategies" toolchain](http://cloud.ibm.com/devops/setup/deploy?repository=https://github.com/open-toolchain/simple-vsi-toolchain)<br><br>Available in Dallas, Washington, Toronto, Sao Paulo, Frankfurt, Tokyo, Sydney, Osaka, and London With this toolchain, you can develop and deploy an application to Virtual Server Instances (Virtual Machine) within your Virtual Private Cloud (VPC) that is managed by IBM Cloud. By default, the toolchain uses a sample Maven-based Java "Hello World" app, but you can link to your own Maven-based Java app instead. This toolchain is preconfigured with pipelines for continuous integration and continuous delivery with source control, issue tracking, and online editing.<br><br>Try the tutorial: [Develop and deploy an app on Virtual Private Cloud by using deployment strategies](https://cloud.ibm.com/docs/ContinuousDelivery?topic=ContinuousDelivery-tutorial-cd-vpc) IBM Cloud Object Storage bucket<br><br>Delivery Pipeline<br><br>IBM Cloud® DevOps Insights<br><br>Git Repos and Issue Tracking<br><br>Secrets Manager 
 ["Develop and deploy an application to a Virtual Machine" toolchain](https://cloud.ibm.com/devops/setup/deploy?repository=https%3A%2F%2Fgithub.com%2Fopen-toolchain%2Fsimple-vsi-toolchain)<br><br>Available in Dallas, Washington, Toronto, Sao Paulo, Frankfurt, Tokyo, Sydney, Osaka, and London With this toolchain, you can develop and deploy an application to Virtual Server Instances (Virtual Machine) within your Virtual Private Cloud (VPC) that is managed by IBM Cloud. By default, the toolchain uses a sample Maven-based Java "Hello World" app, but you can link to your own Maven-based Java app instead.
Post-provisioning steps for Citrix DaaS on Virtual Private Cloud 

After you provision your Citrix DaaS for IBM Cloud® with the Virtual Private Cloud (VPC), complete the following tasks:



1. Verify the status of provisioned servers and view network details.
2. Establish network connectivity for Active Directory topologies (Extended only)
3. Access the Active Directory, Cloud Connectors. (Extended only)
4. Create a custom image of virtual machine.
5. Customize IBM Log Analysis (Optional)
6. Make additional boot volume space accessible (Optional)





 Step 1: Verify the status of provisioned servers and view network details (Optional) 

Citrix DaaS provisions resources by using Terraform and Schematics. You can view the details of the IBM Cloud Schematics deployments and the IBM Cloud resources that you currently manage with IBM Cloud Schematics. For more information, see [Managing IBM Cloud resources with Schematics - Reviewing resource and deployment details](https://cloud.ibm.com/docs/schematics?topic=schematics-manage-lifecyclereview-logs).

Log in to citrix.cloud.com and verify that your Active Directory is listed under Domains and that your resource location is Green.





 Step 2. Establish network connectivity for Active Directory Topology 



 IBM Cloud 

If you chose IBM Cloud Active Directory topology and are using the Active Directory in IBM Cloud as your only domain controller, no further network configuration is required. The Cloud Connectors are joined to the Active Directory server domain and are configured to communicate with Citrix Cloud. You might have to create users with the necessary privileges. You can also create bulk users in Active Directory. For more information, see this step-by-step guide on how to [Create bulk users in Active Directory](https://activedirectorypro.com/create-bulk-users-active-directory/).





 Extended 



1. With an Extended setup, you must establish network connectivity between IBM Cloud and your on-premises location.

You can set up network connectivity by using any of the gateway appliances available in IBM Cloud.
: You can now create standard Kubernetes clusters in your [Gen 2 Virtual Private Cloud (VPC)](https://cloud.ibm.com/docs/vpc?topic=vpc-getting-started). VPC gives you the security of a private cloud environment with the dynamic scalability of a public cloud.
: For more information, check out the following links.



* [Overview of Classic and VPC infrastructure providers](https://cloud.ibm.com/docs/containers?topic=containers-infrastructure_providers)
* [Supported virtual machine flavors for VPC Gen 2 worker nodes](https://cloud.ibm.com/docs/containers?topic=containers-planning_worker_nodesvm)
* [New VPC Gen 2 commands for the CLI](https://cloud.ibm.com/docs/containers?topic=containers-kubernetes-service-cli)
* [VPC cluster limitations](https://cloud.ibm.com/docs/containers?topic=containers-limitationsks_vpc_gen2_limits)



: Ready to get started? Try out the [Creating a cluster in your VPC on generation 2 compute tutorial](https://cloud.ibm.com/docs/containers?topic=containers-vpc_ks_tutorial).





 19 May 2020 

Istio add-on
: [Version 1.5 of the Istio managed add-on](https://cloud.ibm.com/docs/containers?topic=containers-istio-changelog15) is released.





 18 May 2020 

Ingress ALB change log
: Updated the [nginx-ingress image build to 628](https://cloud.ibm.com/docs/containers?topic=containers-cluster-add-ons-changelogkube_ingress_changelog).





 14 May 2020 

Kubernetes version 1.18
: [Kubernetes 1.18 release](https://cloud.ibm.com/docs/containers?topic=containers-cs_versionsk8s_version_archive) is certified.





 11 May 2020 

New!
Managing VPN connections 

You can connect an on-premises virtual private network (VPN) gateway to an IBM Cloud™ VPN gateway that is created within a Power Systems Virtual Server VPN service. You can use the VPN to connect to the Power Virtual Server private networks, complete your work securely, and log out. This capability offers you site-to-site IP security (IPsec) VPN between your on-premises location and Power Systems Virtual Servers to enable low-cost secure connectivity.

With VPN access, you can:



* Ensure private and low-cost connectivity to IBM Cloud services.
* Access your Virtual Servers through the private IP address by using Secure Shell (SSH) and your other on-premises applications that are running on your on-premises host.



The Power Systems Virtual Server infrastructure consists of subnets and virtual server instances (VSIs). You can use VPN as a service with your existing VSIs and private networks. To create a VSI on a private network, see [Creating a Power Systems Virtual Server](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-creating-power-virtual-server) and [Configuring and adding a private network subnet](https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-configuring-subnet). You can use VPN to securely connect your Power Virtual Server workspace to an on-premises network through a VPN tunnel. For more information, see [Connecting to your on-premises network](https://cloud.ibm.com/docs/vpc?topic=vpc-vpn-onprem-example&interface=ui).

A maximum of four VPN connections are supported for one user account. A maximum of four policies (IKE and IPsec) for a VPN connection is supported on each data center. Currently, VPN for Power Systems Virtual Servers is supported in DAL12, DAL13, FRA04, FRA05, LON04, LON06, MON01, OSA21, SAO01, SYD04, SYD05, TOR01, and TOK04 data centers.
rule-7c5f6385-67e4-4edf-bec8-c722558b2dec - Check whether Virtual Private Cloud (VPC) security groups have no inbound rules that specify source IP 0.0.0.0/0 to SSH port
rule-9653d2c7-6290-4128-a5a3-65487ba40370 - Check whether Virtual Private Cloud (VPC) security groups have no inbound rules that specify source IP 0.0.0.0/0 to RDP port
rule-96527f89-1867-4581-b923-1400e04661e0 - Check whether Virtual Private Cloud (VPC) has no rules in the default security group
rule-216e2449-27d7-4afc-929a-b66e196a9cf9 - Check whether Flow Logs for VPC are enabled
rule-4f477e09-c9aa-4bfb-a6b1-eaeaca15c06a - Check whether Virtual Private Cloud (VPC) security groups have no inbound ports open to the internet (0.0.0.0/0)
rule-9407e5a8-ec51-4228-a01a-0f32364224a6 - Check whether Virtual Private Cloud (VPC) security groups have no outbound ports open to the internet (0.0.0.0/0)
rule-65f42d91-d537-4532-a2c8-c5cd377500a7 - Check whether all virtual server instances have at least one Virtual Private Cloud (VPC) security group attached
rule-9e16b8a4-1255-474e-a8a3-afed67de2627 - Check whether all network interfaces of a virtual server instance have at least one Virtual Private Cloud (VPC) security group attached
rule-9ecf7e84-aa51-42ad-875e-58e9522a5e65 - Check whether VPN for VPC has Internet Key Exchange (IKE) policy encryption that is not set to "triple_des"
Overview of network security options 

Virtual Private Cloud

This information is specific to VPC clusters. For network policy information for classic clusters, see [Classic: Controlling traffic with network policies](https://cloud.ibm.com/docs/openshift?topic=openshift-network_policies).

Control traffic to and from your cluster and traffic between pods in your cluster by creating network rules and policies.

Control traffic to and from your cluster with VPC access control lists (ACLs) and VPC security groups, and control traffic between pods in your cluster with Kubernetes network policies.



 Comparison of network security options 

The following table describes the basic characteristics of each network security option that you can use for your VPC cluster in Red Hat OpenShift on IBM Cloud.



Network security options for VPC clusters

 Policy type Application level Default behavior Use case Limitations 

 [VPC security groups](https://cloud.ibm.com/docs/openshift?topic=openshift-vpc-security-group) (Recommended) Worker node Version 4.5 and later: The default security groups for your cluster allow incoming traffic requests to the 30000 - 32767 port range on your worker nodes. You can add rules to the default security group that is applied to your worker nodes. However, because your worker nodes exist in a service account and are not listed in the VPC infrastructure dashboard, you can't add more security groups and apply them to your worker nodes. 
 [VPC security groups](https://cloud.ibm.com/docs/vpc?topic=vpc-alb-integration-with-security-groups) Load balancer If you don't specify a security group when you create a load balancer, then the default security group is used. Allow inbound traffic from all sources to the listener port on a public load balancer. None 
 [VPC access control lists (ACLs)](https://cloud.ibm.com/docs/openshift?topic=openshift-vpc-acls) (Not recommended) VPC subnet The default ACL for the VPC, allow-all-network-acl-<VPC_ID>, allows all traffic to and from your subnets.
"output": {
"generic": [
{
"values":
{
"text": "Here's a random number between 0 and @sys-number.literal: $answer."
}
],
"response_type": "text",
"selection_policy": "sequential"
}
]
}
}
Show more

See the [java.util.Random reference documentation](https://docs.oracle.com/javase/7/docs/api/java/util/Random.html) for information about other methods.

You can use standard methods of the following classes also:



* java.lang.Byte
* java.lang.Integer
* java.lang.Long
* java.lang.Double
* java.lang.Short
* java.lang.Float









 Objects 



 JSONObject.has(String) 

This method returns true if the complex JSONObject has a property of the input name.

For this Dialog runtime context:

{
"context": {
"user": {
"first_name": "John",
"last_name": "Snow"
}
}
}

Dialog node output:

{
"conditions": "$user.has('first_name')"
}

Result: The condition is true because the user object contains the property first_name.





 JSONObject.remove(String) 

This method removes a property of the name from the input JSONObject. The JSONElement that is returned by this method is the JSONElement that is being removed.

For this Dialog runtime context:

{
"context": {
"user": {
"first_name": "John",
"last_name": "Snow"
}
}
}

Dialog node output:

{
"context": {
"attribute_removed": "<?
JSONArray.get(Integer) 

This method returns the input index from the JSONArray.

For this Dialog runtime context which is set by a previous node or external application:

{
"context": {
"name": "John",
"nested": {
"array": [! "one", "two" ]
}
}
}

Dialog node or response condition:

$nested.array.get(0).getAsString().contains('one')

Result: True because the nested array contains one as a value.

Response:

"output": {
"generic" : [
{
"values":
{
"text" : "The first item in the array is <?$nested.array.get(0)?>"
}
],
"response_type": "text",
"selection_policy": "sequential"
}
]
}





 JSONArray.getRandomItem() 

This method returns a random item from the input JSONArray.

For this Dialog runtime context:

{
"context": {
"toppings_array": ["onion", "olives", "ham"]
}
}

Dialog node output:

{
"output": {
"generic" : [!
{
"values":
{
"text": "<? $toppings_array.getRandomItem() ?> is a great choice"
}
],
"response_type": "text",
"selection_policy": "sequential"
}
]
}
}

Result: "ham is a great choice!" or "onion is a great choice!" or "olives is a great choice!"

The resulting output text is randomly chosen.





 JSONArray.indexOf(value)