Skip to content

Commit 4db1de0

Browse files
authored
Remove docker dependency for traefik installation (#3966)
* Remove docker dependency for traefik
1 parent 42ecaed commit 4db1de0

File tree

6 files changed

+42
-20
lines changed

6 files changed

+42
-20
lines changed

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

Lines changed: 13 additions & 2 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

44
package oracle.weblogic.kubernetes;
@@ -53,6 +53,8 @@
5353
import static oracle.weblogic.kubernetes.TestConstants.TEST_IMAGES_REPO;
5454
import static oracle.weblogic.kubernetes.TestConstants.TEST_IMAGES_REPO_SECRET_NAME;
5555
import static oracle.weblogic.kubernetes.TestConstants.TEST_NGINX_IMAGE_NAME;
56+
import static oracle.weblogic.kubernetes.TestConstants.TRAEFIK_INGRESS_IMAGE_NAME;
57+
import static oracle.weblogic.kubernetes.TestConstants.TRAEFIK_INGRESS_IMAGE_TAG;
5658
import static oracle.weblogic.kubernetes.TestConstants.WEBLOGIC_IMAGE_TAG;
5759
import static oracle.weblogic.kubernetes.TestConstants.WEBLOGIC_IMAGE_TAG_DEFAULT;
5860
import static oracle.weblogic.kubernetes.TestConstants.WEBLOGIC_IMAGE_TO_USE_IN_SPEC;
@@ -424,8 +426,17 @@ void testDomainLifecycleScripts() {
424426
void testTraefikIngressController() {
425427
Path testSamplePath = get(WORK_DIR, "wls-sample-testing", "traefik");
426428
setupSample(testSamplePath);
429+
Map<String, String> templateMap = new HashMap<>();
430+
templateMap.put("TRAEFIK_INGRESS_IMAGE_NAME", TRAEFIK_INGRESS_IMAGE_NAME);
431+
Path srcPropFile = Paths.get(RESOURCE_DIR, "traefik.template.properties");
432+
Path targetPropFile = assertDoesNotThrow(
433+
() -> generateFileFromTemplate(srcPropFile.toString(), "traefik.properties", templateMap));
434+
logger.info("Generated traefik.properties file at {0}", targetPropFile);
435+
427436
Path scriptBase = get(testSamplePath.toString(), "charts/util");
428-
setupLoadBalancer(scriptBase, "traefik", " -c -n " + traefikNamespace);
437+
setupLoadBalancer(scriptBase, "traefik", " -c -n " + traefikNamespace
438+
+ " -p " + targetPropFile.toString()
439+
+ " -v " + TRAEFIK_INGRESS_IMAGE_TAG);
429440
setupLoadBalancer(scriptBase, "traefik", " -d -n " + traefikNamespace);
430441
}
431442

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,17 +172,19 @@ public interface TestConstants {
172172
public static final String NGINX_REPO_NAME = "ingress-nginx";
173173
public static final String NGINX_CHART_NAME = "ingress-nginx";
174174
public static final String NGINX_CHART_VERSION = "4.0.17";
175-
public static final String NGINX_INGRESS_IMAGE_TAG = "v1.2.0";
176175
public static final String NGINX_INGRESS_IMAGE_DIGEST =
177176
"sha256:314435f9465a7b2973e3aa4f2edad7465cc7bcdc8304be5d146d70e4da136e51";
178177
public static final String TEST_NGINX_IMAGE_NAME = "weblogick8s/test-images/ingress-nginx/controller";
179-
public static final String GCR_NGINX_IMAGE_NAME = "k8s.gcr.io/ingress-nginx/controller";
178+
public static final String NGINX_INGRESS_IMAGE_TAG = "v1.2.0";
180179

181180
// Traefik constants
182181
public static final String TRAEFIK_REPO_URL = "https://helm.traefik.io/traefik";
183-
public static final String TRAEFIK_REPO_NAME = "traefik";
184182
public static final String TRAEFIK_RELEASE_NAME = "traefik-release" + BUILD_ID;
183+
public static final String TRAEFIK_REPO_NAME = "traefik";
185184
public static final String TRAEFIK_CHART_NAME = "traefik";
185+
public static final String TRAEFIK_INGRESS_IMAGE_NAME = TEST_IMAGES_REPO
186+
+ "/weblogick8s/test-images/traefik-ingress/traefik";
187+
public static final String TRAEFIK_INGRESS_IMAGE_TAG = "v2.9.6";
186188

187189
// Voyager constants
188190
public static final String APPSCODE_REPO_URL = "https://charts.appscode.com/stable/";

integration-tests/src/test/java/oracle/weblogic/kubernetes/actions/impl/TraefikParams.java

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2020, 2021, 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

44
package oracle.weblogic.kubernetes.actions.impl;
@@ -9,16 +9,23 @@
99

1010
import oracle.weblogic.kubernetes.actions.impl.primitive.HelmParams;
1111

12+
import static oracle.weblogic.kubernetes.TestConstants.TRAEFIK_INGRESS_IMAGE_NAME;
13+
import static oracle.weblogic.kubernetes.TestConstants.TRAEFIK_INGRESS_IMAGE_TAG;
14+
1215
// All parameters needed to install Traefik Operator
1316
public class TraefikParams {
1417

1518
// Adding some of the most commonly used params for now
1619
private int nodePortsHttp;
1720
private int nodePortsHttps;
1821
private HelmParams helmParams;
22+
private String traefikImage = TRAEFIK_INGRESS_IMAGE_NAME;
23+
private String traefikImageTag = TRAEFIK_INGRESS_IMAGE_TAG;
1924

2025
private static final String NODEPORTS_HTTP = "ports.web.nodePort";
2126
private static final String NODEPORTS_HTTPS = "ports.websecure.nodePort";
27+
private static final String TRAEFIK_IMAGE = "image.repository";
28+
private static final String TRAEFIK_IMAGE_TAG = "image.tag";
2229

2330
public TraefikParams nodePortsHttp(int nodePortsHttp) {
2431
this.nodePortsHttp = nodePortsHttp;
@@ -39,6 +46,16 @@ public HelmParams getHelmParams() {
3946
return helmParams;
4047
}
4148

49+
public TraefikParams traefikImage(String traefikImage) {
50+
this.traefikImage = traefikImage;
51+
return this;
52+
}
53+
54+
public TraefikParams traefikImageTag(String traefikImageTag) {
55+
this.traefikImageTag = traefikImageTag;
56+
return this;
57+
}
58+
4259
/**
4360
* Loads Helm values into a value map.
4461
*
@@ -54,6 +71,9 @@ public Map<String, Object> getValues() {
5471
values.put(NODEPORTS_HTTPS, nodePortsHttps);
5572
}
5673

74+
values.put(TRAEFIK_IMAGE, traefikImage);
75+
values.put(TRAEFIK_IMAGE_TAG, traefikImageTag);
76+
5777
values.values().removeIf(Objects::isNull);
5878
return values;
5979
}

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

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2021, 2022, Oracle and/or its affiliates.
1+
// Copyright (c) 2021, 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

44
package oracle.weblogic.kubernetes.utils;
@@ -40,7 +40,6 @@
4040
import static oracle.weblogic.kubernetes.TestConstants.APPSCODE_REPO_NAME;
4141
import static oracle.weblogic.kubernetes.TestConstants.APPSCODE_REPO_URL;
4242
import static oracle.weblogic.kubernetes.TestConstants.BASE_IMAGES_REPO_SECRET_NAME;
43-
import static oracle.weblogic.kubernetes.TestConstants.GCR_NGINX_IMAGE_NAME;
4443
import static oracle.weblogic.kubernetes.TestConstants.IMAGE_PULL_POLICY;
4544
import static oracle.weblogic.kubernetes.TestConstants.K8S_NODEPORT_HOST;
4645
import static oracle.weblogic.kubernetes.TestConstants.NGINX_CHART_NAME;
@@ -62,8 +61,6 @@
6261
import static oracle.weblogic.kubernetes.actions.TestActions.getPersistentVolume;
6362
import static oracle.weblogic.kubernetes.actions.TestActions.getPersistentVolumeClaim;
6463
import static oracle.weblogic.kubernetes.actions.TestActions.getServiceNodePort;
65-
import static oracle.weblogic.kubernetes.actions.TestActions.imagePull;
66-
import static oracle.weblogic.kubernetes.actions.TestActions.imageTag;
6764
import static oracle.weblogic.kubernetes.actions.TestActions.installApache;
6865
import static oracle.weblogic.kubernetes.actions.TestActions.installNginx;
6966
import static oracle.weblogic.kubernetes.actions.TestActions.installTraefik;
@@ -845,16 +842,6 @@ public static List<String> installVoyagerIngressAndVerify(String domainUid,
845842
return ingressHostList;
846843
}
847844

848-
private static Callable<Boolean> pullImageFromOcirAndTag(String localImage) {
849-
return (() -> {
850-
String nginxImage = GCR_NGINX_IMAGE_NAME + ":" + "v0.35.0";
851-
LoggingFacade logger = getLogger();
852-
logger.info("pulling image {0} from BASE_IMAGES_REPO, tag it as image {1} ",
853-
localImage, nginxImage);
854-
return imagePull(localImage) && imageTag(localImage, nginxImage);
855-
});
856-
}
857-
858845
/**
859846
* Check Voyager pod is running in the specified namespace.
860847
*

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,4 @@ middleware/fmw-infrastructure_cpu:12.2.1.3-jdk8-ol8;weblogick8s/test-images/fmw-
100100
#docker.elastic.co/elasticsearch/logstach:7.8.1;weblogick8s/test-images/docker/logstach:7.8.1
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
103+
#public.ecr.aws/docker/library/traefik:v2.9.6;weblogick8s/test-images/traefik-ingress/traefik:v2.9.6
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
--set image.repository=TRAEFIK_INGRESS_IMAGE_NAME

0 commit comments

Comments
 (0)