Skip to content

Commit 580b11d

Browse files
Merge branch 'main' into sonarqube-e2e
2 parents 5c02dde + 500cabd commit 580b11d

File tree

13 files changed

+491
-70
lines changed

13 files changed

+491
-70
lines changed

.ibm/pipelines/cluster/eks/aws.sh

Lines changed: 418 additions & 40 deletions
Large diffs are not rendered by default.

.ibm/pipelines/cluster/eks/eks-helm-deployment.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ initiate_rbac_eks_helm_deployment() {
4545

4646
local rbac_rhdh_base_url="https://${K8S_CLUSTER_ROUTER_BASE}"
4747
apply_yaml_files "${DIR}" "${NAME_SPACE_RBAC}" "${rbac_rhdh_base_url}"
48-
yq_merge_value_files "merge" "${DIR}/value_files/${HELM_CHART_RBAC_VALUE_FILE_NAME}" "${DIR}/value_files/${HELM_CHART_RBAC_EKS_DIFF_VALUE_FILE_NAME}" "/tmp/${HELM_CHART_RBAC_K8S_MERGED_VALUE_FILE_NAME}"
48+
envsubst < "${DIR}/value_files/${HELM_CHART_RBAC_EKS_DIFF_VALUE_FILE_NAME}" > "/tmp/${HELM_CHART_RBAC_EKS_DIFF_VALUE_FILE_NAME}"
49+
yq_merge_value_files "merge" "${DIR}/value_files/${HELM_CHART_RBAC_VALUE_FILE_NAME}" "/tmp/${HELM_CHART_RBAC_EKS_DIFF_VALUE_FILE_NAME}" "/tmp/${HELM_CHART_RBAC_K8S_MERGED_VALUE_FILE_NAME}"
4950
mkdir -p "${ARTIFACT_DIR}/${NAME_SPACE_RBAC}"
5051
cp -a "/tmp/${HELM_CHART_RBAC_K8S_MERGED_VALUE_FILE_NAME}" "${ARTIFACT_DIR}/${NAME_SPACE_RBAC}/" # Save the final value-file into the artifacts directory.
5152
echo "Deploying image from repository: ${QUAY_REPO}, TAG_NAME: ${TAG_NAME}, in NAME_SPACE: ${NAME_SPACE_RBAC}"

.ibm/pipelines/cluster/gke/gcloud.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ gcloud_ssl_cert_create() {
3131

3232
# Check the return status
3333
if [ $? -eq 0 ]; then
34-
echo "Certificate '${cert_name}' created successfully.\nThe test might fail if the certificate is not obtained from the certificate authority in time."
34+
echo "Certificate '${cert_name}' created successfully."
35+
echo "The test might fail if the certificate is not obtained from the certificate authority in time."
3536
else
3637
# Check if the error is due to certificate already existing
3738
if echo "$output" | grep -q "already exists"; then

.ibm/pipelines/env_variables.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,10 +121,10 @@ GKE_CERT_NAME=$(cat /tmp/secrets/GKE_CERT_NAME)
121121
GOOGLE_CLOUD_PROJECT=$(cat /tmp/secrets/GOOGLE_CLOUD_PROJECT)
122122

123123
# EKS variables
124-
EKS_INSTANCE_DOMAIN_NAME=$(cat /tmp/secrets/EKS_INSTANCE_DOMAIN_NAME)
125124
AWS_ACCESS_KEY_ID=$(cat /tmp/secrets/AWS_ACCESS_KEY_ID)
126125
AWS_SECRET_ACCESS_KEY=$(cat /tmp/secrets/AWS_SECRET_ACCESS_KEY)
127126
AWS_DEFAULT_REGION=$(cat /tmp/secrets/AWS_DEFAULT_REGION)
127+
AWS_EKS_PARENT_DOMAIN=$(cat /tmp/secrets/AWS_EKS_PARENT_DOMAIN)
128128

129129
# authentication providers variables
130130

.ibm/pipelines/jobs/eks-helm.sh

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,21 @@ handle_eks_helm() {
1515

1616
# Get cluster information
1717
aws_eks_get_cluster_info
18+
set -x
19+
20+
# Generate dynamic domain name
21+
echo "Generating dynamic domain name..."
22+
local dynamic_domain
23+
dynamic_domain=$(generate_dynamic_domain_name)
24+
25+
if [[ $? -ne 0 ]]; then
26+
echo "Error: Failed to generate dynamic domain name, using fallback"
27+
export EKS_INSTANCE_DOMAIN_NAME="eks-ci-fallback.${AWS_EKS_PARENT_DOMAIN}"
28+
else
29+
export EKS_INSTANCE_DOMAIN_NAME="${dynamic_domain}"
30+
fi
31+
32+
echo "Using domain name: ${EKS_INSTANCE_DOMAIN_NAME}"
1833

1934
K8S_CLUSTER_ROUTER_BASE=$EKS_INSTANCE_DOMAIN_NAME
2035
export K8S_CLUSTER_ROUTER_BASE
@@ -32,15 +47,15 @@ handle_eks_helm() {
3247

3348
cluster_setup_k8s_helm
3449

35-
get_eks_certificate "${EKS_INSTANCE_DOMAIN_NAME}"
50+
get_eks_certificate "${K8S_CLUSTER_ROUTER_BASE}"
3651

3752
initiate_eks_helm_deployment
38-
mock_eks_ingress_hosts "${NAME_SPACE}" "${RELEASE_NAME}-developer-hub"
53+
configure_eks_ingress_and_dns "${NAME_SPACE}" "${RELEASE_NAME}-developer-hub"
3954
check_and_test "${RELEASE_NAME}" "${NAME_SPACE}" "https://${K8S_CLUSTER_ROUTER_BASE}" 50 30
4055
delete_namespace "${NAME_SPACE}"
4156

4257
initiate_rbac_eks_helm_deployment
43-
mock_eks_ingress_hosts "${NAME_SPACE_RBAC}" "${RELEASE_NAME_RBAC}-developer-hub"
58+
configure_eks_ingress_and_dns "${NAME_SPACE_RBAC}" "${RELEASE_NAME_RBAC}-developer-hub"
4459
check_and_test "${RELEASE_NAME_RBAC}" "${NAME_SPACE_RBAC}" "https://${K8S_CLUSTER_ROUTER_BASE}" 50 30
4560
delete_namespace "${NAME_SPACE_RBAC}"
4661
}

.ibm/pipelines/jobs/eks-operator.sh

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,20 @@ handle_eks_operator() {
1818
# Get cluster information
1919
aws_eks_get_cluster_info
2020

21+
# Generate dynamic domain name
22+
echo "Generating dynamic domain name..."
23+
local dynamic_domain
24+
dynamic_domain=$(generate_dynamic_domain_name)
25+
26+
if [[ $? -ne 0 ]]; then
27+
echo "Error: Failed to generate dynamic domain name, using fallback"
28+
export EKS_INSTANCE_DOMAIN_NAME="eks-ci-fallback.${AWS_EKS_PARENT_DOMAIN}"
29+
else
30+
export EKS_INSTANCE_DOMAIN_NAME="${dynamic_domain}"
31+
fi
32+
33+
echo "Using domain name: ${EKS_INSTANCE_DOMAIN_NAME}"
34+
2135
K8S_CLUSTER_ROUTER_BASE=$EKS_INSTANCE_DOMAIN_NAME
2236
export K8S_CLUSTER_ROUTER_BASE
2337

@@ -36,15 +50,15 @@ handle_eks_operator() {
3650

3751
prepare_operator "3"
3852

39-
get_eks_certificate "${EKS_INSTANCE_DOMAIN_NAME}"
53+
get_eks_certificate "${K8S_CLUSTER_ROUTER_BASE}"
4054

4155
initiate_eks_operator_deployment "${NAME_SPACE}" "https://${K8S_CLUSTER_ROUTER_BASE}"
42-
mock_eks_ingress_hosts "${NAME_SPACE}" "dh-ingress"
56+
configure_eks_ingress_and_dns "${NAME_SPACE}" "dh-ingress"
4357
check_and_test "${RELEASE_NAME}" "${NAME_SPACE}" "https://${K8S_CLUSTER_ROUTER_BASE}" 50 30
4458
cleanup_eks_deployment "${NAME_SPACE}"
4559

4660
initiate_rbac_eks_operator_deployment "${NAME_SPACE_RBAC}" "https://${K8S_CLUSTER_ROUTER_BASE}"
47-
mock_eks_ingress_hosts "${NAME_SPACE_RBAC}" "dh-ingress"
61+
configure_eks_ingress_and_dns "${NAME_SPACE_RBAC}" "dh-ingress"
4862
check_and_test "${RELEASE_NAME}" "${NAME_SPACE_RBAC}" "https://${K8S_CLUSTER_ROUTER_BASE}" 50 30
4963
cleanup_eks_deployment "${NAME_SPACE_RBAC}"
5064
}

.ibm/pipelines/openshift-ci-tests.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,11 @@ main() {
112112
echo "Calling handle_ocp_pull"
113113
handle_ocp_pull
114114
;;
115+
*)
116+
echo "ERROR: Unknown JOB_NAME pattern: $JOB_NAME"
117+
echo "No matching handler found for this job type"
118+
save_overall_result 1
119+
;;
115120
esac
116121

117122
echo "Main script completed with result: ${OVERALL_RESULT}"

.ibm/pipelines/resources/config_map/app-config-rhdh-rbac.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ integrations:
3131
auth:
3232
environment: development
3333
session:
34-
secret: superSecretSecret
34+
secret: superSecretSecret
3535
providers:
3636
guest:
3737
dangerouslyAllowOutsideDevelopment: true

.ibm/pipelines/utils.sh

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -668,8 +668,8 @@ check_backstage_running() {
668668
local release_name=$1
669669
local namespace=$2
670670
local url=$3
671-
local max_attempts=$4
672-
local wait_seconds=$5
671+
local max_attempts=${4:-30}
672+
local wait_seconds=${5:-30}
673673

674674
if [ -z "${url}" ]; then
675675
echo "Error: URL is not set. Please provide a valid URL."
@@ -679,11 +679,12 @@ check_backstage_running() {
679679
echo "Checking if Backstage is up and running at ${url}"
680680

681681
for ((i = 1; i <= max_attempts; i++)); do
682+
# Check HTTP status
682683
local http_status
683684
http_status=$(curl --insecure -I -s -o /dev/null -w "%{http_code}" "${url}")
684685

685686
if [ "${http_status}" -eq 200 ]; then
686-
echo "Backstage is up and running!"
687+
echo "Backstage is up and running!"
687688
export BASE_URL="${url}"
688689
echo "BASE_URL: ${BASE_URL}"
689690
return 0
@@ -694,7 +695,8 @@ check_backstage_running() {
694695
fi
695696
done
696697

697-
echo "Failed to reach Backstage at ${BASE_URL} after ${max_attempts} attempts." | tee -a "/tmp/${LOGFILE}"
698+
echo "❌ Failed to reach Backstage at ${url} after ${max_attempts} attempts."
699+
oc get events -n "${namespace}" --sort-by='.lastTimestamp' | tail -10
698700
mkdir -p "${ARTIFACT_DIR}/${namespace}"
699701
cp -a "/tmp/${LOGFILE}" "${ARTIFACT_DIR}/${namespace}/"
700702
save_all_pod_logs "${namespace}"

.ibm/pipelines/value_files/diff-values_showcase-rbac_EKS.yaml

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -61,26 +61,31 @@ upstream:
6161
# could be changed to a [generic ephemeral volume](https://docs.openshift.com/container-platform/4.13/storage/generic-ephemeral-vols.html#generic-ephemeral-vols-procedure_generic-ephemeral-volumes).
6262
- name: dynamic-plugins-root
6363
emptyDir: {}
64-
- name: rbac-policy
65-
configMap:
66-
defaultMode: 420
67-
name: rbac-policy
68-
- name: rbac-conditions
69-
emptyDir: {}
7064
# Volume that will expose the `dynamic-plugins.yaml` file from the `dynamic-plugins` config map.
7165
# The `dynamic-plugins` config map is created by the helm chart from the content of the `global.dynamic` field.
7266
- name: dynamic-plugins
7367
configMap:
7468
defaultMode: 420
75-
name: dynamic-plugins
69+
name: '{{ printf "%s-dynamic-plugins" .Release.Name }}'
7670
optional: true
7771
# Optional volume that allows exposing the `.npmrc` file (through a `dynamic-plugins-npmrc` secret)
7872
# to be used when running `npm pack` during the dynamic plugins installation by the initContainer.
7973
- name: dynamic-plugins-npmrc
8074
secret:
8175
defaultMode: 420
8276
optional: true
83-
secretName: dynamic-plugins-npmrc
77+
secretName: '{{ printf "%s-dynamic-plugins-npmrc" .Release.Name }}'
78+
- name: dynamic-plugins-registry-auth
79+
secret:
80+
defaultMode: 416
81+
optional: true
82+
secretName: '{{ printf "%s-dynamic-plugins-registry-auth" .Release.Name }}'
83+
- name: rbac-policy
84+
configMap:
85+
defaultMode: 420
86+
name: rbac-policy
87+
- name: rbac-conditions
88+
emptyDir: {}
8489
extraEnvVarsSecrets:
8590
- rhdh-secrets
8691
podSecurityContext:

0 commit comments

Comments
 (0)