Skip to content

Commit 25a6d56

Browse files
authored
Update prometheus images to avoid failures on local run (#4056)
* Update Prometheus images to avoid failures on local run
1 parent 7e23a5f commit 25a6d56

File tree

5 files changed

+142
-27
lines changed

5 files changed

+142
-27
lines changed

integration-tests/src/test/java/oracle/weblogic/kubernetes/TestConstants.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -291,8 +291,31 @@ public interface TestConstants {
291291
public static final String PROMETHEUS_REPO_NAME = "prometheus-community";
292292
public static final String PROMETHEUS_REPO_URL = "https://prometheus-community.github.io/helm-charts";
293293

294+
public static final String PROMETHEUS_IMAGE_NAME = TEST_IMAGES_REPO
295+
+ "/weblogick8s/test-images/prometheus/prometheus";
296+
public static final String PROMETHEUS_IMAGE_TAG = "v2.39.1";
297+
298+
public static final String PROMETHEUS_ALERT_MANAGER_IMAGE_NAME = TEST_IMAGES_REPO
299+
+ "/weblogick8s/test-images/prometheus/alertmanager";
300+
public static final String PROMETHEUS_ALERT_MANAGER_IMAGE_TAG = "v0.24.0";
301+
302+
public static final String PROMETHEUS_CONFIG_MAP_RELOAD_IMAGE_NAME = TEST_IMAGES_REPO
303+
+ "/weblogick8s/test-images/jimmidyson/configmap-reload";
304+
public static final String PROMETHEUS_CONFIG_MAP_RELOAD_IMAGE_TAG = "v0.5.0";
305+
306+
public static final String PROMETHEUS_PUSHGATEWAY_IMAGE_NAME = TEST_IMAGES_REPO
307+
+ "/weblogick8s/test-images/prometheus/pushgateway";
308+
public static final String PROMETHEUS_PUSHGATEWAY_IMAGE_TAG = "v1.4.3";
309+
310+
public static final String PROMETHEUS_NODE_EXPORTER_IMAGE_NAME = TEST_IMAGES_REPO
311+
+ "/weblogick8s/test-images/prometheus/node-exporter";
312+
public static final String PROMETHEUS_NODE_EXPORTER_IMAGE_TAG = "v1.3.1";
313+
294314
public static final String GRAFANA_REPO_NAME = "grafana";
295315
public static final String GRAFANA_REPO_URL = "https://grafana.github.io/helm-charts";
316+
public static final String GRAFANA_IMAGE_NAME = TEST_IMAGES_REPO
317+
+ "/weblogick8s/test-images/grafana/grafana";
318+
public static final String GRAFANA_IMAGE_TAG = "9.3.0";
296319

297320
// credentials
298321
public static final String ADMIN_USERNAME_DEFAULT = "weblogic";

integration-tests/src/test/java/oracle/weblogic/kubernetes/utils/MonitoringUtils.java

Lines changed: 68 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import oracle.weblogic.domain.Model;
3434
import oracle.weblogic.domain.MonitoringExporterSpecification;
3535
import oracle.weblogic.domain.ServerPod;
36+
import oracle.weblogic.kubernetes.TestConstants;
3637
import oracle.weblogic.kubernetes.actions.impl.Cluster;
3738
import oracle.weblogic.kubernetes.actions.impl.Grafana;
3839
import oracle.weblogic.kubernetes.actions.impl.GrafanaParams;
@@ -51,9 +52,13 @@
5152

5253
import static oracle.weblogic.kubernetes.TestConstants.ADMIN_PASSWORD_DEFAULT;
5354
import static oracle.weblogic.kubernetes.TestConstants.ADMIN_USERNAME_DEFAULT;
55+
import static oracle.weblogic.kubernetes.TestConstants.BASE_IMAGES_REPO_PASSWORD;
56+
import static oracle.weblogic.kubernetes.TestConstants.BASE_IMAGES_REPO_USERNAME;
5457
import static oracle.weblogic.kubernetes.TestConstants.DOMAIN_API_VERSION;
5558
import static oracle.weblogic.kubernetes.TestConstants.FAILURE_RETRY_INTERVAL_SECONDS;
5659
import static oracle.weblogic.kubernetes.TestConstants.FAILURE_RETRY_LIMIT_MINUTES;
60+
import static oracle.weblogic.kubernetes.TestConstants.GRAFANA_IMAGE_NAME;
61+
import static oracle.weblogic.kubernetes.TestConstants.GRAFANA_IMAGE_TAG;
5762
import static oracle.weblogic.kubernetes.TestConstants.GRAFANA_REPO_NAME;
5863
import static oracle.weblogic.kubernetes.TestConstants.GRAFANA_REPO_URL;
5964
import static oracle.weblogic.kubernetes.TestConstants.IMAGE_PULL_POLICY;
@@ -64,12 +69,24 @@
6469
import static oracle.weblogic.kubernetes.TestConstants.MONITORING_EXPORTER_WEBAPP_VERSION;
6570
import static oracle.weblogic.kubernetes.TestConstants.OKD;
6671
import static oracle.weblogic.kubernetes.TestConstants.OKE_CLUSTER;
72+
import static oracle.weblogic.kubernetes.TestConstants.PROMETHEUS_ALERT_MANAGER_IMAGE_NAME;
73+
import static oracle.weblogic.kubernetes.TestConstants.PROMETHEUS_ALERT_MANAGER_IMAGE_TAG;
74+
import static oracle.weblogic.kubernetes.TestConstants.PROMETHEUS_CONFIG_MAP_RELOAD_IMAGE_NAME;
75+
import static oracle.weblogic.kubernetes.TestConstants.PROMETHEUS_CONFIG_MAP_RELOAD_IMAGE_TAG;
76+
import static oracle.weblogic.kubernetes.TestConstants.PROMETHEUS_IMAGE_NAME;
77+
import static oracle.weblogic.kubernetes.TestConstants.PROMETHEUS_IMAGE_TAG;
78+
import static oracle.weblogic.kubernetes.TestConstants.PROMETHEUS_NODE_EXPORTER_IMAGE_NAME;
79+
import static oracle.weblogic.kubernetes.TestConstants.PROMETHEUS_NODE_EXPORTER_IMAGE_TAG;
80+
import static oracle.weblogic.kubernetes.TestConstants.PROMETHEUS_PUSHGATEWAY_IMAGE_NAME;
81+
import static oracle.weblogic.kubernetes.TestConstants.PROMETHEUS_PUSHGATEWAY_IMAGE_TAG;
6782
import static oracle.weblogic.kubernetes.TestConstants.PROMETHEUS_REPO_NAME;
6883
import static oracle.weblogic.kubernetes.TestConstants.PROMETHEUS_REPO_URL;
6984
import static oracle.weblogic.kubernetes.TestConstants.TEST_IMAGES_REPO_SECRET_NAME;
85+
import static oracle.weblogic.kubernetes.TestConstants.WLSIMG_BUILDER;
7086
import static oracle.weblogic.kubernetes.actions.ActionConstants.MONITORING_EXPORTER_DOWNLOAD_URL;
7187
import static oracle.weblogic.kubernetes.actions.ActionConstants.RESOURCE_DIR;
7288
import static oracle.weblogic.kubernetes.actions.TestActions.deleteSecret;
89+
import static oracle.weblogic.kubernetes.actions.TestActions.imageRepoLogin;
7390
import static oracle.weblogic.kubernetes.actions.TestActions.installGrafana;
7491
import static oracle.weblogic.kubernetes.actions.TestActions.installPrometheus;
7592
import static oracle.weblogic.kubernetes.actions.impl.primitive.Kubernetes.listSecrets;
@@ -357,15 +374,48 @@ public static PrometheusParams installAndVerifyPrometheus(String promReleaseSuff
357374
assertDoesNotThrow(() -> Files.copy(srcPromFile, targetPromFile,
358375
StandardCopyOption.REPLACE_EXISTING)," Failed to copy files");
359376
String oldValue = "regex: default;domain1";
360-
assertDoesNotThrow(() -> replaceStringInFile(targetPromFile.toString(),
361-
oldValue,
362-
prometheusRegexValue), "Failed to replace String ");
363-
assertDoesNotThrow(() -> replaceStringInFile(targetPromFile.toString(),
364-
"pvc-alertmanager",
365-
"pvc-alertmanager" + promReleaseSuffix), "Failed to replace String ");;
366-
assertDoesNotThrow(() -> replaceStringInFile(targetPromFile.toString(),
367-
"pvc-prometheus",
368-
"pvc-" + prometheusReleaseName),"Failed to replace String ");
377+
logger.info("copy the promvalues.yaml to staging location");
378+
assertDoesNotThrow(() -> {
379+
replaceStringInFile(targetPromFile.toString(),
380+
oldValue,
381+
prometheusRegexValue);
382+
replaceStringInFile(targetPromFile.toString(),
383+
"pvc-alertmanager",
384+
"pvc-alertmanager" + promReleaseSuffix);
385+
replaceStringInFile(targetPromFile.toString(),
386+
"pvc-prometheus",
387+
"pvc-" + prometheusReleaseName);
388+
replaceStringInFile(targetPromFile.toString(),
389+
"pushgateway_image",
390+
PROMETHEUS_PUSHGATEWAY_IMAGE_NAME);
391+
replaceStringInFile(targetPromFile.toString(),
392+
"pushgateway_tag",
393+
PROMETHEUS_PUSHGATEWAY_IMAGE_TAG);
394+
replaceStringInFile(targetPromFile.toString(),
395+
"prometheus_image",
396+
PROMETHEUS_IMAGE_NAME);
397+
replaceStringInFile(targetPromFile.toString(),
398+
"prometheus_tag",
399+
PROMETHEUS_IMAGE_TAG);
400+
replaceStringInFile(targetPromFile.toString(),
401+
"prometheus_alertmanager_image",
402+
PROMETHEUS_ALERT_MANAGER_IMAGE_NAME);
403+
replaceStringInFile(targetPromFile.toString(),
404+
"prometheus_alertmanager_tag",
405+
PROMETHEUS_ALERT_MANAGER_IMAGE_TAG);
406+
replaceStringInFile(targetPromFile.toString(),
407+
"prometheus_configmap_reload_image",
408+
PROMETHEUS_CONFIG_MAP_RELOAD_IMAGE_NAME);
409+
replaceStringInFile(targetPromFile.toString(),
410+
"prometheus_configmap_reload_tag",
411+
PROMETHEUS_CONFIG_MAP_RELOAD_IMAGE_TAG);
412+
replaceStringInFile(targetPromFile.toString(),
413+
"prometheus_node_exporter_image",
414+
PROMETHEUS_NODE_EXPORTER_IMAGE_NAME);
415+
replaceStringInFile(targetPromFile.toString(),
416+
"prometheus_node_exporter_tag",
417+
PROMETHEUS_NODE_EXPORTER_IMAGE_TAG);
418+
}, "Failed to create " + targetPromFile);
369419
if (webhookNS != null) {
370420
//replace with webhook ns
371421
assertDoesNotThrow(() -> replaceStringInFile(targetPromFile.toString(),
@@ -380,6 +430,9 @@ public static PrometheusParams installAndVerifyPrometheus(String promReleaseSuff
380430
int promServerNodePort = getNextFreePort();
381431
int alertManagerNodePort = getNextFreePort();
382432

433+
assertTrue(imageRepoLogin(TestConstants.BASE_IMAGES_REPO,
434+
BASE_IMAGES_REPO_USERNAME, BASE_IMAGES_REPO_PASSWORD), WLSIMG_BUILDER + " login failed");
435+
383436
// Helm install parameters
384437
HelmParams promHelmParams = new HelmParams()
385438
.releaseName(prometheusReleaseName)
@@ -516,6 +569,12 @@ public static GrafanaParams installAndVerifyGrafana(String grafanaReleaseName,
516569
StandardCopyOption.REPLACE_EXISTING)," Failed to copy files");
517570
assertDoesNotThrow(() -> replaceStringInFile(targetGrafanaFile.toString(),
518571
"pvc-grafana", "pvc-" + grafanaReleaseName));
572+
assertDoesNotThrow(() -> replaceStringInFile(targetGrafanaFile.toString(),
573+
"grafana_image",
574+
GRAFANA_IMAGE_NAME),"Failed to replace String ");
575+
assertDoesNotThrow(() -> replaceStringInFile(targetGrafanaFile.toString(),
576+
"grafana_tag",
577+
GRAFANA_IMAGE_TAG),"Failed to replace String ");
519578
if (!OKE_CLUSTER) {
520579
assertDoesNotThrow(() -> replaceStringInFile(targetGrafanaFile.toString(),
521580
"enabled: false", "enabled: true"));

integration-tests/src/test/resources/bash-scripts/images.properties

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,3 +101,8 @@ middleware/fmw-infrastructure_cpu:12.2.1.3-jdk8-ol8;weblogick8s/test-images/fmw-
101101
#ghcr.io/verrazzano/fluentd-kubernetes-daemonset:v1.14.5-20230131231729-f85741b;weblogick8s/test-images/fluentd-kubernetes-daemonset:v1.14.5
102102
#k8s.gcr.io/ingress-nginx/controller:v1.2.0;weblogick8s/test-images/ingress-nginx/controller:v1.2.0
103103
#public.ecr.aws/docker/library/traefik:v2.9.6;weblogick8s/test-images/traefik-ingress/traefik:v2.9.6
104+
#quay.io/prometheus/alertmanager:v0.24.0;weblogick8s/test-images/prometheus/alertmanager:v0.24.0
105+
#quay.io/prometheus/node-exporter:v1.3.1;weblogick8s/test-images/prometheus/node-exporter:v1.3.1
106+
#quay.io/prometheus/pushgateway:v1.4.3;weblogick8s/test-images/prometheus/pushgateway:v1.4.3
107+
#quay.io/image-mirror/docker.io/grafana/grafana:9.3.0;weblogick8s/test-images/grafana/grafana:9.3.0
108+
#quay.io/coreos/configmap-reload:v0.5.0;weblogick8s/test-images/jimmidyson/configmap-reload:v0.5.0

integration-tests/src/test/resources/exporter/grafanavalues.yaml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
1-
# Copyright (c) 2022, Oracle and/or its affiliates.
1+
# Copyright (c) 2022, 2023, Oracle and/or its affiliates.
22
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
33

4+
image:
5+
repository: grafana_image
6+
# Overrides the Grafana image tag whose default is the chart appVersion
7+
tag: "grafana_tag"
8+
sha: ""
9+
pullPolicy: IfNotPresent
10+
411
persistence:
512
enabled: true
613
existingClaim: pvc-grafana

integration-tests/src/test/resources/exporter/promvalues.yaml

Lines changed: 38 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (c) 2020, 2022, Oracle and/or its affiliates.
1+
# Copyright (c) 2020, 2023, Oracle and/or its affiliates.
22
# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
33
rbac:
44
create: true
@@ -10,20 +10,9 @@ serviceAccounts:
1010
pushgateway:
1111
create: false
1212

13-
pushgateway:
14-
enabled: false
15-
1613
alertmanager:
1714
enabled: true
1815

19-
## Use a ClusterRole (and ClusterRoleBinding)
20-
## - If set to false - we define a Role and RoleBinding in the defined namespaces ONLY
21-
## This makes alertmanager work - for users who do not have ClusterAdmin privs, but wants alertmanager to operate on their own namespaces, instead of clusterwide.
22-
useClusterRole: true
23-
24-
## Set to a rolename to use existing role - skipping role creating - but still doing serviceaccount and rolebinding to the rolename set here.
25-
useExistingRole: false
26-
2716
persistentVolume:
2817
existingClaim: pvc-alertmanager
2918
service:
@@ -33,16 +22,42 @@ alertmanager:
3322
# runAsNonRoot: false
3423
# runAsUser: 0
3524
image:
36-
repository: quay.io/prometheus/alertmanager
37-
tag: v0.23.0
25+
repository: prometheus_alertmanager_image
26+
tag: prometheus_alertmanager_tag
3827
pullPolicy: IfNotPresent
3928
securityContext:
4029
runAsUser: 65534
4130
runAsNonRoot: true
4231
runAsGroup: 65534
4332

44-
nodeExporter:
33+
#nodeExporter:
34+
prometheus-node-exporter:
4535
enabled: false
36+
## node-exporter container image
37+
##
38+
image:
39+
repository: prometheus_node_exporter_image
40+
tag: prometheus_node_exporter_tag
41+
pullPolicy: IfNotPresent
42+
43+
configmapReload:
44+
prometheus:
45+
## If false, the configmap-reload container will not be deployed
46+
##
47+
enabled: true
48+
49+
## configmap-reload container name
50+
##
51+
name: configmap-reload
52+
53+
## configmap-reload container image
54+
##
55+
image:
56+
repository: prometheus_configmap_reload_image
57+
tag: prometheus_configmap_reload_tag
58+
# When digest is set to a non-empty value, images will be pulled by digest (regardless of tag value).
59+
digest: ""
60+
pullPolicy: IfNotPresent
4661

4762
server:
4863
persistentVolume:
@@ -59,10 +74,16 @@ server:
5974
scrape_interval: 10s
6075
scrape_timeout: 5s
6176
image:
62-
repository: quay.io/prometheus/prometheus
63-
tag: v2.31.1
77+
repository: prometheus_image
78+
tag: prometheus_tag
6479
pullPolicy: IfNotPresent
6580

81+
prometheus-pushgateway:
82+
enabled: false
83+
image:
84+
repository: pushgateway_image
85+
tag: pushgateway_tag
86+
pullPolicy: IfNotPresent
6687
alertmanagerFiles:
6788
alertmanager.yml:
6889
global:

0 commit comments

Comments
 (0)