From 24ed1c80d1fd7a2d2910e3e2d6783f0ec8eb43f1 Mon Sep 17 00:00:00 2001 From: Laurent TOURREAU Date: Wed, 25 Mar 2026 09:50:31 +0100 Subject: [PATCH 1/2] docs: clarify inventory file setup and fix ansible command path The inventory file setup instructions were unclear due to: 1. Missing directory context - the path 'inventories/inventory.template' only works after 'cd operator-setup', but the instruction to open the file appeared before the cd command 2. Missing copy step - users should copy the template to avoid editing version-controlled files 3. Wrong filename - ansible-playbook command referenced 'inventory.template' instead of the copied 'inventory' file Changes: - Add explicit 'cd operator-setup' before the copy command - Add 'cp inventories/inventory.template inventories/inventory' command - Update instructions to reference 'inventory' instead of 'inventory.template' - Fix ansible-playbook command to use 'inventories/inventory' This prevents confusion about file paths and follows Git best practices by not editing version-controlled template files. Co-Authored-By: Claude Sonnet 4.5 --- documentation/modules/ROOT/pages/03-demo.adoc | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/documentation/modules/ROOT/pages/03-demo.adoc b/documentation/modules/ROOT/pages/03-demo.adoc index bab1af2..7cb08c0 100644 --- a/documentation/modules/ROOT/pages/03-demo.adoc +++ b/documentation/modules/ROOT/pages/03-demo.adoc @@ -117,9 +117,16 @@ git clone https://github.com/rh-soln-pattern-connectivity-link/connectivity-link ---- -* Open the `inventories/inventory.template` file and update the variables. Save the file. +* Copy the inventory template and edit it with your configuration: + -.[underline]#Click for details of inventory.template file# +---- +cd operator-setup +cp inventories/inventory.template inventories/inventory +---- ++ +* Open the `inventories/inventory` file and update the variables with your AWS credentials and cluster details. Save the file. ++ +.[underline]#Click for details of inventory file# [%collapsible] ==== ``` @@ -160,8 +167,8 @@ Run the Ansible script which will setup the RHCL Operator, Cert Manager Operator [.console-input] [source,shell script] ---- -cd operator-setup -ansible-playbook playbooks/ocp4_workload_connectivity_link.yml -e ACTION=create -i inventories/inventory.template +cd operator-setup +ansible-playbook playbooks/ocp4_workload_connectivity_link.yml -e ACTION=create -i inventories/inventory ---- === What's next From 8b449be336efd723e6a66bf431484cd1a261c329 Mon Sep 17 00:00:00 2001 From: Laurent TOURREAU Date: Wed, 25 Mar 2026 14:39:15 +0100 Subject: [PATCH 2/2] docs: add GatewayClass prerequisite section to deployment guide Documents the missing GatewayClass "istio" prerequisite that must exist before running the Ansible playbook. Includes: - Detection command to check if GatewayClass exists - Two creation methods (automatic via Ingress Operator, manual creation) - Important notes about RHOAI and Istio control plane auto-creation - Updated prerequisites checklist This addresses a gap in the original deployment documentation where GatewayClass creation was assumed but not documented. Co-Authored-By: Claude Sonnet 4.5 --- documentation/modules/ROOT/pages/03-demo.adoc | 88 +++++++++++++++++-- 1 file changed, 83 insertions(+), 5 deletions(-) diff --git a/documentation/modules/ROOT/pages/03-demo.adoc b/documentation/modules/ROOT/pages/03-demo.adoc index 7cb08c0..b683762 100644 --- a/documentation/modules/ROOT/pages/03-demo.adoc +++ b/documentation/modules/ROOT/pages/03-demo.adoc @@ -18,6 +18,7 @@ To provision the demo you will perform the following steps - each of which is ex * You will need an OpenShift cluster with *`cluster-admin` privileges*. This solution pattern has been tested on OpenShift 4.16 and 4.17 * Ensure you have the *tools* `oc` and `ansible` installed in your local environment such as your laptop * Access to *AWS Route53* or *Google Cloud DNS* to be able to create new domain names +* *Gateway API GatewayClass* named "istio" must exist in your cluster before running the deployment scripts === CLI tools @@ -27,7 +28,7 @@ To check if you have the cli tools, you can open your terminal and use following [.console-input] [source,shell script] ---- -oc version #openshift cli client + oc version #openshift cli client ansible --version ansible-galaxy --version ansible-galaxy collection list #the list should include kubernetes.core and amazon.aws.route53 (version 8.1.0 ) module @@ -55,17 +56,93 @@ This *subdomain* is automatically setup by the deployment scripts. But you will Ref: https://repost.aws/knowledge-center/create-subdomain-route-53[this article^] to know more about how a Route53 subdomain can be created. +=== GatewayClass Prerequisite + +[IMPORTANT] +==== +The deployment scripts require a GatewayClass named *"istio"* to exist in your cluster before running the Ansible playbook. This GatewayClass is used by the Gateway resources deployed by the Connectivity Link solution. +==== + +==== Check if GatewayClass exists + +Run this command to check if the GatewayClass "istio" exists: + +****** +[.console-input] +[source,shell script] +---- +oc get gatewayclass istio +---- +****** + +If the GatewayClass exists, you will see output like: +``` +NAME CONTROLLER AGE +istio openshift.io/gateway-controller/v1 5d +``` + +If it does not exist, you will see an error like: `Error from server (NotFound): gatewayclasses.gateway.networking.k8s.io "istio" not found` + +==== How GatewayClass is created + +The GatewayClass "istio" can be created by one of these methods: + +*Option 1: OpenShift Ingress Operator (Automatic)* + +When you install the OpenShift Service Mesh 3 Operator (Sail Operator), the OpenShift Ingress Operator can automatically create a GatewayClass named "istio" with the controller `openshift.io/gateway-controller/v1`. + +[NOTE] +===== +If you have Red Hat OpenShift AI (RHOAI) installed, it may have already created this GatewayClass or a similar one (e.g., "data-science-gateway-class") that uses the same Istio control plane. +===== + +*Option 2: Manual Creation* + +If the GatewayClass does not exist after installing the Sail Operator, you can create it manually: + +****** +[.console-input] +[source,shell script] +---- +oc apply -f - < Before running the following Ansible script, check if you have done these prerequisites [%interactive] ** [ ] The inventory file reflects the correct AWS credentials, Root zone details and region etc. +** [ ] GatewayClass "istio" exists in your cluster (check with `oc get gatewayclass istio`) ====