Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion charts/provisioner-config-local/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ apiVersion: v2
name: provisioner-config-local
description: Platform Provisioner local config
type: application
version: "1.13.3"
version: "1.13.9"
appVersion: "2.0.1"
home: https://github.com/TIBCOSoftware/tp-helm-charts
maintainers:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ description: |
* Register a DP
* Config o11y service for a given DP
groups:
- title: "Chart Repository Configuration"
- title: "Automation Repository Configuration"
index: 1
description: |
## Chart repository configuration
## Automation repository configuration
* The GitHub token for DP to access private helm chart repo
* Matching CP version with automation version

Expand Down Expand Up @@ -64,13 +64,38 @@ groups:
---
options:
# groupIndex: 1 Chart Repository Configuration
- name: "Automation GitHub repo name"
groupIndex: 1
type: string
guiType: input
reference: "meta.guiEnv.GUI_TP_AUTO_GITHUB_REPO_NAME"
required: false
description: |
The automation GitHub location. Change to private repo if needed.
- name: "Automation GitHub repo path"
groupIndex: 1
type: string
guiType: input
reference: "meta.guiEnv.GUI_TP_AUTO_GITHUB_REPO_PATH"
required: false
description: |
The automation source code GitHub path.
- name: "Automation GitHub repo branch"
groupIndex: 1
type: string
guiType: input
reference: "meta.guiEnv.GUI_TP_AUTO_GITHUB_REPO_BRANCH"
required: false
description: |
The automation source code GitHub branch.
- name: "GitHub token"
groupIndex: 1
type: password
guiType: input
reference: "meta.guiEnv.GUI_GITHUB_TOKEN"
description: |
The GitHub token for DP to access private helm chart repo. If you deploy unreleased CP/DP; this GitHub token is a must.

# groupIndex: 3 Activation Server
- name: "Activation server IP"
groupIndex: 3
Expand Down Expand Up @@ -186,13 +211,7 @@ options:
reference: "meta.guiEnv.GUI_TP_AUTO_ENABLE_EMS"
description: |
Set to true to deploy EMS
- name: "Deploy Pulsar"
groupIndex: 6
type: boolean
guiType: checkbox
reference: "meta.guiEnv.GUI_TP_AUTO_ENABLE_PULSAR"
description: |
Set to true to deploy Pulsar

# groupIndex: 7 DNS and Port Forward
- name: "TP port forward"
groupIndex: 7
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ meta:

# CP automation
GUI_TP_AUTOMATION_DOCKER_IMAGE_REPO: "ghcr.io/tibcosoftware/platform-provisioner/platform-provisioner"
GUI_TP_AUTOMATION_DOCKER_IMAGE_TAG: 1.6.9-auto-on-prem-jammy
GUI_TP_AUTOMATION_DOCKER_IMAGE_TAG: 1.6.10-auto-on-prem-jammy

# flow control
GUI_TP_INSTALL_PROVISIONER_UI: false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ meta:

# CP automation
GUI_TP_AUTOMATION_DOCKER_IMAGE_REPO: "ghcr.io/tibcosoftware/platform-provisioner/platform-provisioner"
GUI_TP_AUTOMATION_DOCKER_IMAGE_TAG: 1.6.9-auto-on-prem-jammy
GUI_TP_AUTOMATION_DOCKER_IMAGE_TAG: 1.6.10-auto-on-prem-jammy

# flow control
GUI_TP_INSTALL_PROVISIONER_UI: false
Expand Down
32 changes: 26 additions & 6 deletions charts/provisioner-config-local/recipes/tp-deploy-bw5dm.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,17 @@ meta:
guiEnv:
note: "deploy-bw5dm"

# github
GUI_BW5_CHART_REPO: "https://raw.githubusercontent.com/tibco/cicinfra-integration/gh-pages/"
GUI_BW5_CHART_REPO_USER_NAME: "bw-dev"
# chart repo
GUI_BW5_CHART_REPO: "https://csgprdusw2reposaas.jfrog.io/artifactory/api/helm/tibco-platform-helm-dev-github"
GUI_BW5_CHART_REPO_USER_NAME: "tibco-platform-devops-read"
GUI_BW5_CHART_REPO_TOKEN: ""

# container registry
GUI_BW5_CONTAINER_REGISTRY: "csgprdusw2reposaas.jfrog.io"
GUI_BW5_CONTAINER_REGISTRY_REPOSITORY: "tibco-platform-docker-dev"
GUI_BW5_CONTAINER_REGISTRY_USERNAME: ""
GUI_BW5_CONTAINER_REGISTRY_PASSWORD: ""

# env
GUI_TP_CLUSTER_NAME: "on-prem"
GUI_TP_ACTIVATION_SERVER_IP: ""
Expand Down Expand Up @@ -44,10 +50,16 @@ meta:
PIPELINE_CHECK_DOCKER_STATUS: false

# github
TP_CHART_REPO: ${GUI_BW5_CHART_REPO:-https://raw.githubusercontent.com/tibco/cicinfra-integration/gh-pages/}
TP_CHART_REPO: ${GUI_BW5_CHART_REPO:-"https://csgprdusw2reposaas.jfrog.io/artifactory/api/helm/tibco-platform-helm-dev-github"}
TP_CHART_REPO_USER_NAME: ${GUI_BW5_CHART_REPO_USER_NAME}
TP_CHART_REPO_TOKEN: ${GUI_BW5_CHART_REPO_TOKEN}

# container registry
TP_CONTAINER_REGISTRY: ${GUI_BW5_CONTAINER_REGISTRY:-"csgprduswrepoedge.jfrog.io"}
TP_CONTAINER_REGISTRY_REPOSITORY: ${GUI_BW5_CONTAINER_REGISTRY_REPOSITORY:-"tibco-platform-docker-dev"}
TP_CONTAINER_REGISTRY_USERNAME: "${GUI_BW5_CONTAINER_REGISTRY_USERNAME}"
TP_CONTAINER_REGISTRY_PASSWORD: "${GUI_BW5_CONTAINER_REGISTRY_PASSWORD}"

TP_CLUSTER_NAME: ${GUI_TP_CLUSTER_NAME:-"on-prem"}

# BW5DM
Expand Down Expand Up @@ -80,7 +92,7 @@ meta:
tools:
yq: "4.40"
helmCharts:
- name: bw5dm-chart
- name: bw5-test
condition: true
version: ${BW5_CHART_VERSION}
namespace: ${TP_BWDM_NAMESPACE}
Expand All @@ -93,13 +105,17 @@ helmCharts:
values:
keepPrevious: true
content: |
githubToken: ${TP_CHART_REPO_TOKEN}
global:
containerRegistry: "${TP_CONTAINER_REGISTRY}"
containerRegistryUsername: "${TP_CONTAINER_REGISTRY_USERNAME}"
containerRegistryPassword: "${TP_CONTAINER_REGISTRY_PASSWORD}"
secret:
enabled: true
ems-server:
enabled: ${TP_DEPLOY_EMS_SERVER}
deployment:
image:
repository: "${TP_CONTAINER_REGISTRY}/${TP_CONTAINER_REGISTRY_REPOSITORY}/bw5-test"
tag: "${TP_BMDP_IMAGE_TAG_EMS}"
env:
- name: TIBEMS_LICENSE
Expand All @@ -108,6 +124,7 @@ helmCharts:
enabled: ${TP_DEPLOY_EMSDM}
deployment:
image:
repository: "${TP_CONTAINER_REGISTRY}/${TP_CONTAINER_REGISTRY_REPOSITORY}/bw5-test"
tag: "${TP_BMDP_IMAGE_TAG_BW5EMSDM}"
env:
- name: OTEL_TRACES_ENDPOINT
Expand All @@ -133,6 +150,7 @@ helmCharts:
enabled: ${TP_DEPLOY_RVDM}
deployment:
image:
repository: "${TP_CONTAINER_REGISTRY}/${TP_CONTAINER_REGISTRY_REPOSITORY}/bw5-test"
tag: "${TP_BMDP_IMAGE_TAG_BW5RVDM}"
env:
- name: OTEL_TRACES_ENDPOINT
Expand All @@ -151,11 +169,13 @@ helmCharts:
enabled: ${TP_DEPLOY_HAWKCONSOLE}
deployment:
image:
repository: "${TP_CONTAINER_REGISTRY}/${TP_CONTAINER_REGISTRY_REPOSITORY}/bw5-test"
tag: "${TP_BMDP_IMAGE_TAG_HAWKCONSOLE}"
bw6dm:
enabled: ${TP_DEPLOY_BW6DM}
deployment:
image:
repository: "${TP_CONTAINER_REGISTRY}/${TP_CONTAINER_REGISTRY_REPOSITORY}/bw5-test"
tag: "${TP_BMDP_IMAGE_TAG_BW6DM}"
cluster:
names:
Expand Down
53 changes: 47 additions & 6 deletions docs/recipes/automation/on-prem/update-recipe-tokens.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,11 @@ function set_github_token() {
echo "Update GitHub token for ${_recipe_file_name}..."
yq eval -i '(.meta.guiEnv.GUI_GITHUB_TOKEN = env(GITHUB_TOKEN))' ${_recipe_file_name}
fi

local _recipe_file_name="07-tp-bw5-stack.yaml"
if [[ -f "${CURRENT_PATH}/${_recipe_file_name}" ]]; then
echo "Update GitHub token for ${_recipe_file_name}..."
yq eval -i '(.meta.guiEnv.GUI_BW5_CHART_REPO_TOKEN = env(GITHUB_TOKEN))' ${_recipe_file_name}
fi

fi
}

Expand All @@ -69,7 +67,7 @@ function set_jfrog_token() {
fi

if [ -z "$GUI_CP_CONTAINER_REGISTRY" ]; then
read -rp "Enter JFrog Container Registry (Press Enter to skip): " GUI_CP_CONTAINER_REGISTRY
read -rp "Enter JFrog Container Registry for CP (Press Enter to skip): " GUI_CP_CONTAINER_REGISTRY
fi
if [ -n "$GUI_CP_CONTAINER_REGISTRY" ]; then
echo "Update jFrog token for ${_recipe_file_name}..."
Expand All @@ -78,7 +76,7 @@ function set_jfrog_token() {
fi

if [ -z "$GUI_CP_CONTAINER_REGISTRY_REPOSITORY" ]; then
read -rp "Enter JFrog Container Registry Repository (Press Enter to skip): " GUI_CP_CONTAINER_REGISTRY_REPOSITORY
read -rp "Enter JFrog Container Registry Repository for CP (Press Enter to skip): " GUI_CP_CONTAINER_REGISTRY_REPOSITORY
fi
if [ -n "$GUI_CP_CONTAINER_REGISTRY_REPOSITORY" ]; then
echo "Update jFrog token for ${_recipe_file_name}..."
Expand All @@ -87,7 +85,7 @@ function set_jfrog_token() {
fi

if [ -z "$GUI_CP_CONTAINER_REGISTRY_USERNAME" ]; then
read -rp "Enter JFrog Container Registry Username (Press Enter to skip): " GUI_CP_CONTAINER_REGISTRY_USERNAME
read -rp "Enter JFrog Container Registry Username for CP (Press Enter to skip): " GUI_CP_CONTAINER_REGISTRY_USERNAME
fi
if [ -n "$GUI_CP_CONTAINER_REGISTRY_USERNAME" ]; then
echo "Update jFrog token for ${_recipe_file_name}..."
Expand All @@ -96,13 +94,56 @@ function set_jfrog_token() {
fi

if [ -z "$GUI_CP_CONTAINER_REGISTRY_PASSWORD" ]; then
read -rp "Enter JFrog Container Registry Password (Press Enter to skip): " GUI_CP_CONTAINER_REGISTRY_PASSWORD
read -rp "Enter JFrog Container Registry Password for CP (Press Enter to skip): " GUI_CP_CONTAINER_REGISTRY_PASSWORD
fi
if [ -n "$GUI_CP_CONTAINER_REGISTRY_PASSWORD" ]; then
echo "Update jFrog token for ${_recipe_file_name}..."
export GUI_CP_CONTAINER_REGISTRY_PASSWORD
yq eval -i '(.meta.guiEnv.GUI_CP_CONTAINER_REGISTRY_PASSWORD = env(GUI_CP_CONTAINER_REGISTRY_PASSWORD))' "$_recipe_file_name"
fi

# update JFrog tokens for 07-tp-bw5-stack.yaml again to cover all fields
local _recipe_file_name="07-tp-bw5-stack.yaml"
if [[ ! -f "${CURRENT_PATH}/${_recipe_file_name}" ]]; then
echo "Recipe file ${_recipe_file_name} not found."
return 0
fi

if [ -z "$GUI_CP_CONTAINER_REGISTRY" ]; then
read -rp "Enter JFrog Container Registry for BW5 (Press Enter to skip): " GUI_CP_CONTAINER_REGISTRY
fi
if [ -n "$GUI_CP_CONTAINER_REGISTRY" ]; then
echo "Update jFrog token for ${_recipe_file_name}..."
export GUI_CP_CONTAINER_REGISTRY
yq eval -i '(.meta.guiEnv.GUI_BW5_CONTAINER_REGISTRY = env(GUI_CP_CONTAINER_REGISTRY))' "$_recipe_file_name"
fi

if [ -z "$GUI_CP_CONTAINER_REGISTRY_REPOSITORY" ]; then
read -rp "Enter JFrog Container Registry Repository for BW5 (Press Enter to skip): " GUI_CP_CONTAINER_REGISTRY_REPOSITORY
fi
if [ -n "$GUI_CP_CONTAINER_REGISTRY_REPOSITORY" ]; then
echo "Update jFrog token for ${_recipe_file_name}..."
export GUI_CP_CONTAINER_REGISTRY_REPOSITORY
yq eval -i '(.meta.guiEnv.GUI_BW5_CONTAINER_REGISTRY_REPOSITORY = env(GUI_CP_CONTAINER_REGISTRY_REPOSITORY))' "$_recipe_file_name"
fi

if [ -z "$GUI_CP_CONTAINER_REGISTRY_USERNAME" ]; then
read -rp "Enter JFrog Container Registry Username for BW5 (Press Enter to skip): " GUI_CP_CONTAINER_REGISTRY_USERNAME
fi
if [ -n "$GUI_CP_CONTAINER_REGISTRY_USERNAME" ]; then
echo "Update jFrog token for ${_recipe_file_name}..."
export GUI_CP_CONTAINER_REGISTRY_USERNAME
yq eval -i '(.meta.guiEnv.GUI_BW5_CONTAINER_REGISTRY_USERNAME = env(GUI_CP_CONTAINER_REGISTRY_USERNAME))' "$_recipe_file_name"
fi

if [ -z "$GUI_CP_CONTAINER_REGISTRY_PASSWORD" ]; then
read -rp "Enter JFrog Container Registry Password for BW5 (Press Enter to skip): " GUI_CP_CONTAINER_REGISTRY_PASSWORD
fi
if [ -n "$GUI_CP_CONTAINER_REGISTRY_PASSWORD" ]; then
echo "Update jFrog token for ${_recipe_file_name}..."
export GUI_CP_CONTAINER_REGISTRY_PASSWORD
yq eval -i '(.meta.guiEnv.GUI_BW5_CONTAINER_REGISTRY_PASSWORD = env(GUI_CP_CONTAINER_REGISTRY_PASSWORD))' "$_recipe_file_name"
fi
}

# set_ssl_cert sets the SSL certificate for TP
Expand Down
3 changes: 2 additions & 1 deletion docs/recipes/automation/tp-setup/bootstrap/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
## [12/02/2025 09:28]
## [12/02/2025 22:35]
### Fixed
- The automation support for 1.13 release
- Fix issue after activation URL UI changed
- Fix issue after BMDP BW5 domain UI changed

## [11/18/2025 13:06]
### Fixed
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,19 +110,34 @@ def check_bmdp_app_status_by_app_name(self, product_name, domain_name, app_name)
self.page.wait_for_timeout(1000)
# check bw5 application status
if product_name == "BW5":
app_row = self.page.locator("tr.pl-table__row", has=self.page.locator('td.pl-table__cell', has_text=domain_name))
if Util.check_dom_visibility(self.page, app_row.locator("td.pl-table__cell img[src*='/pl-icon-success.svg']"), 5, 120, True):
app_row.locator('td.pl-table__cell .text', has_text=app_name).click()
print(f"'{app_name}' is deployed and checking service instance status.")
ReportYaml.set_capability_app(ENV.TP_AUTO_K8S_BMDP_NAME, "BW5", f"{domain_name}.{app_name}")
print("Checking if new domain card layout is available...")
if self.page.locator(".domains-grid").is_visible():
print("New domain card layout detected.")
domain_card = self.page.locator(".domain-card", has=self.page.locator('.pl-card__header', has_text=domain_name))
if domain_card.is_visible():
domain_card.locator(".pl-card__footer", has_text="Go into Domain").click()
print(f"'{domain_name}' is deployed and checking application instance status.")
app_row = self.page.locator("tr.pl-table__row", has=self.page.locator('td.pl-table__cell', has_text=app_name))
if Util.check_dom_visibility(self.page, app_row.locator("td.pl-table__cell img[src*='/pl-icon-success.svg']"), 5, 120, True):
print(f"'{app_name}' is deployed and checking service instance status.")
ReportYaml.set_capability_app(ENV.TP_AUTO_K8S_BMDP_NAME, "BW5", f"{domain_name}.{app_name}")
ReportYaml.set_capability_app_info(ENV.TP_AUTO_K8S_BMDP_NAME, "BW5", f"{domain_name}.{app_name}", "Status", "Running")
else:
ColorLogger.warning(f"'{app_name}' is not deployed successfully or cannot be discovered by CT in domain '{domain_name}'.")
else:
ColorLogger.warning(f"'{app_name}' is not deployed successfully or cannot be discovered by CT in domain '{domain_name}'.")
service_instance_row = self.page.locator("tr.pl-table__row")
if Util.check_dom_visibility(self.page, service_instance_row.locator("td.pl-table__cell img[src*='/pl-icon-success.svg']"), 5, 120, True):
ColorLogger.success(f"'{app_name}' in domain '{domain_name}' instance is running.")
ReportYaml.set_capability_app_info(ENV.TP_AUTO_K8S_BMDP_NAME, "BW5", f"{domain_name}.{app_name}", "Status", "Running")
else:
ColorLogger.warning(f"'{app_name}' in domain '{domain_name}' instance is not running.")
app_row = self.page.locator("tr.pl-table__row", has=self.page.locator('td.pl-table__cell', has_text=domain_name))
if Util.check_dom_visibility(self.page, app_row.locator("td.pl-table__cell img[src*='/pl-icon-success.svg']"), 5, 120, True):
app_row.locator('td.pl-table__cell .text', has_text=app_name).click()
print(f"'{app_name}' is deployed and checking service instance status.")
ReportYaml.set_capability_app(ENV.TP_AUTO_K8S_BMDP_NAME, "BW5", f"{domain_name}.{app_name}")
else:
ColorLogger.warning(f"'{app_name}' is not deployed successfully or cannot be discovered by CT in domain '{domain_name}'.")
service_instance_row = self.page.locator("tr.pl-table__row")
if Util.check_dom_visibility(self.page, service_instance_row.locator("td.pl-table__cell img[src*='/pl-icon-success.svg']"), 5, 120, True):
ColorLogger.success(f"'{app_name}' in domain '{domain_name}' instance is running.")
ReportYaml.set_capability_app_info(ENV.TP_AUTO_K8S_BMDP_NAME, "BW5", f"{domain_name}.{app_name}", "Status", "Running")
else:
ColorLogger.warning(f"'{app_name}' in domain '{domain_name}' instance is not running.")
# check bw6 application status
if product_name == "BW6":
if Util.check_dom_visibility(self.page, self.page.locator(".pl-card--standard"), 2, 10):
Expand Down Expand Up @@ -179,21 +194,25 @@ def dp_config_bw6(self, agent_name):
self.page.fill("#agentUrl-text-input", ENV.TP_AUTO_K8S_BMDP_BW6DM_URL)
print(f"Filled BW6Agent URL: {ENV.TP_AUTO_K8S_BMDP_BW6DM_URL}")
# test connection and register bw6 agent
if Util.check_dom_visibility(self.page, self.page.locator(".pl-button.pl-button--mini.pl-button--secondary"), 2, 10):
self.page.locator(".pl-button.pl-button--mini.pl-button--secondary").click()
if Util.check_dom_visibility(self.page, self.page.locator("button", has_text="Test Connection"), 2, 4):
self.page.locator("button", has_text="Test Connection").click()
print("Clicked 'Test Connection' button")
if Util.check_dom_visibility(self.page, self.page.locator(".test-connection-success"), 2, 10):
if Util.check_dom_visibility(self.page, self.page.locator(".test-connection-success"), 2, 6):
ColorLogger.success("BW6Agent connection is successful.")
self.page.locator(".pcp-mr4").click()
self.page.locator("agent-config-modal button", has_text="Register").click()
print("Clicked 'Register' button")
self.page.wait_for_timeout(3000)
if self.page.locator(".pl-notification__message", has_text="successfully").is_visible():
agent_banner = self.page.locator(".pl-notification__message").inner_text()
ColorLogger.success(agent_banner)
else:
Util.warning_screenshot(f"May failed to register RV domain", self.page, "dp_config_bw6dm.png")
else:
Util.warning_screenshot(f"'{agent_name}' connection test failed.", self.page, "test_connection_bw6agent_error.png")
self.page.locator("agent-config-modal button", has_text="Cancel").click()
else:
Util.exit_error(f"'{agent_name}' is not deployed successfully or cannot be discovered by CT", self.page, "test_connection_bw6agent.png")
self.page.wait_for_timeout(5000)
agent_banner = self.page.locator(".pl-notification__message").inner_text()
if self.page.locator(".pl-notification__message", has_text="successfully").is_visible():
ColorLogger.success(agent_banner)
else:
Util.warning_screenshot(f"May failed to register RV domain due to: {agent_banner}", self.page, "dp_config_bw6dm.png")

else:
ColorLogger.info(f"Domain '{agent_name}' is already registered.")
self.check_domain_status(agent_name, "BW6")
Expand Down
Loading