Skip to content

Commit caa48fa

Browse files
authored
Create base Coherence test image (#523)
1 parent da358a5 commit caa48fa

File tree

33 files changed

+673
-188
lines changed

33 files changed

+673
-188
lines changed

.github/workflows/build.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright 2019, 2022 Oracle Corporation and/or its affiliates. All rights reserved.
1+
# Copyright 2019, 2022, Oracle Corporation and/or its affiliates. All rights reserved.
22
# Licensed under the Universal Permissive License v 1.0 as shown at
33
# http://oss.oracle.com/licenses/upl.
44

@@ -95,7 +95,8 @@ jobs:
9595
kubectl version
9696
kubectl get nodes
9797
docker pull gcr.io/distroless/java
98-
docker pull gcr.io/distroless/java:11
98+
docker pull gcr.io/distroless/java11
99+
docker pull gcr.io/distroless/java17
99100
100101
- name: Code Review
101102
shell: bash

.github/workflows/coherence-matrix.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,8 @@ jobs:
127127
docker login container-registry.oracle.com -u "${{ secrets.OCR_DOCKER_USERNAME }}" -p "${{ secrets.OCR_DOCKER_PASSWORD }}"
128128
docker login "${{ secrets.OCI_REGISTRY }}" -u "${{ secrets.OCI_USERNAME }}" -p "${{ secrets.OCI_PASSWORD }}"
129129
docker pull gcr.io/distroless/java
130-
docker pull gcr.io/distroless/java:11
130+
docker pull gcr.io/distroless/java11
131+
docker pull gcr.io/distroless/java17
131132
docker pull ${{ matrix.coherence-image }}
132133
133134
- name: Coherence Certification Tests

.github/workflows/compatibility-tests.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,8 @@ jobs:
120120
kubectl version
121121
kubectl get nodes
122122
docker pull gcr.io/distroless/java
123-
docker pull gcr.io/distroless/java:11
123+
docker pull gcr.io/distroless/java11
124+
docker pull gcr.io/distroless/java17
124125
125126
- name: Build
126127
shell: bash

.github/workflows/istio-tests.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ jobs:
102102
kubectl version
103103
kubectl get nodes
104104
docker pull gcr.io/distroless/java
105-
docker pull gcr.io/distroless/java:11
105+
docker pull gcr.io/distroless/java11
106+
docker pull gcr.io/distroless/java17
106107
107108
- name: Build
108109
shell: bash

.github/workflows/k8s-matrix.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ jobs:
108108
kubectl version
109109
kubectl get nodes
110110
docker pull gcr.io/distroless/java
111-
docker pull gcr.io/distroless/java:11
111+
docker pull gcr.io/distroless/java11
112+
docker pull gcr.io/distroless/java17
112113
113114
- name: Certification Tests
114115
shell: bash

.github/workflows/release.yml

Lines changed: 3 additions & 2 deletions
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, 2022, Oracle and/or its affiliates.
22
# Licensed under the Universal Permissive License v 1.0 as shown at
33
# http://oss.oracle.com/licenses/upl.
44

@@ -52,7 +52,8 @@ jobs:
5252
kubectl version
5353
kubectl get nodes
5454
docker pull gcr.io/distroless/java
55-
docker pull gcr.io/distroless/java:11
55+
docker pull gcr.io/distroless/java11
56+
docker pull gcr.io/distroless/java17
5657
5758
- name: Release
5859
shell: bash

Makefile

Lines changed: 49 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,14 @@ COMPATIBLE_VERSION = 3.2.4
2929
# The selector to use to find Operator Pods of the COMPATIBLE_VERSION (do not put in double quotes!!)
3030
COMPATIBLE_SELECTOR = control-plane=coherence
3131

32+
# The GitHub project URL
33+
PROJECT_URL = https://github.com/oracle/coherence-operator
34+
3235
# ----------------------------------------------------------------------------------------------------------------------
3336
# The Coherence image to use for deployments that do not specify an image
3437
# ----------------------------------------------------------------------------------------------------------------------
35-
COHERENCE_VERSION ?= 21.12
36-
COHERENCE_IMAGE ?= ghcr.io/oracle/coherence-ce:21.12
38+
COHERENCE_VERSION ?= 21.12.1
39+
COHERENCE_IMAGE ?= ghcr.io/oracle/coherence-ce:21.12.1
3740
# This is the Coherence image that will be used in tests.
3841
# Changing this variable will allow test builds to be run against different Coherence versions
3942
# without altering the default image name.
@@ -76,19 +79,20 @@ OPERATOR_IMAGE := $(OPERATOR_IMAGE_REPO):$(VERSION)
7679
OPERATOR_IMAGE_DELVE := $(OPERATOR_IMAGE_REPO):delve
7780
OPERATOR_IMAGE_DEBUG := $(OPERATOR_IMAGE_REPO):debug
7881
UTILS_IMAGE ?= $(OPERATOR_IMAGE_REPO):$(VERSION)-utils
82+
TEST_BASE_IMAGE ?= $(OPERATOR_IMAGE_REPO)-test-base:$(VERSION)
7983
# The Operator images to push
80-
OPERATOR_RELEASE_REPO ?= $(OPERATOR_IMAGE_REPO)
81-
OPERATOR_RELEASE_IMAGE := $(OPERATOR_RELEASE_REPO):$(VERSION)
82-
UTILS_RELEASE_IMAGE := $(OPERATOR_RELEASE_REPO):$(VERSION)-utils
83-
BUNDLE_RELEASE_IMAGE := $(OPERATOR_RELEASE_REPO):$(VERSION)-bundle
84+
OPERATOR_RELEASE_REPO ?= $(OPERATOR_IMAGE_REPO)
85+
OPERATOR_RELEASE_IMAGE := $(OPERATOR_RELEASE_REPO):$(VERSION)
86+
UTILS_RELEASE_IMAGE := $(OPERATOR_RELEASE_REPO):$(VERSION)-utils
87+
TEST_BASE_RELEASE_IMAGE := $(OPERATOR_RELEASE_REPO)-test-base:$(VERSION)
88+
BUNDLE_RELEASE_IMAGE := $(OPERATOR_RELEASE_REPO):$(VERSION)-bundle
8489

8590
GPG_PASSPHRASE :=
8691

8792
# ----------------------------------------------------------------------------------------------------------------------
8893
# The test application images used in integration tests
8994
# ----------------------------------------------------------------------------------------------------------------------
9095
TEST_APPLICATION_IMAGE := $(RELEASE_IMAGE_PREFIX)operator-test:1.0.0
91-
TEST_APPLICATION_IMAGE_WITH_UTILS := $(RELEASE_IMAGE_PREFIX)operator-test-with-utils:1.0.0
9296
TEST_COMPATIBILITY_IMAGE := $(RELEASE_IMAGE_PREFIX)operator-test-compatibility:1.0.0
9397
TEST_APPLICATION_IMAGE_CLIENT := $(RELEASE_IMAGE_PREFIX)operator-test-client:1.0.0
9498
TEST_APPLICATION_IMAGE_HELIDON := $(RELEASE_IMAGE_PREFIX)operator-test-helidon:1.0.0
@@ -404,11 +408,27 @@ build-utils: build-mvn $(BUILD_BIN)/runner ## Build the Coherence Operator util
404408
docker build --no-cache --build-arg target=arm64 -t $(UTILS_IMAGE)-arm64 java/coherence-operator/target/docker
405409
docker tag $(UTILS_IMAGE)-$(IMAGE_ARCH) $(UTILS_IMAGE)
406410

411+
# ----------------------------------------------------------------------------------------------------------------------
412+
# Build the Operator base test image
413+
# ----------------------------------------------------------------------------------------------------------------------
414+
.PHONY: build-test-base
415+
build-test-base: export ARTIFACT_DIR := $(CURRDIR)/java/coherence-operator
416+
build-test-base: export VERSION := $(VERSION)
417+
build-test-base: export IMAGE_NAME := $(TEST_BASE_IMAGE)
418+
build-test-base: export AMD_BASE_IMAGE := gcr.io/distroless/java11
419+
build-test-base: export ARM_BASE_IMAGE := gcr.io/distroless/java11
420+
build-test-base: export PROJECT_URL := $(PROJECT_URL)
421+
build-test-base: export PROJECT_VENDOR := Oracle
422+
build-test-base: export PROJECT_DESCRIPTION := Oracle Coherence bease test image
423+
build-test-base: build-mvn $(BUILD_BIN)/runner ## Build the Coherence test base image
424+
cp -R $(BUILD_BIN)/linux java/coherence-operator/target/docker
425+
$(CURRDIR)/java/coherence-operator/run-buildah.sh BUILD
426+
407427
# ----------------------------------------------------------------------------------------------------------------------
408428
# Build the Operator images without the test images
409429
# ----------------------------------------------------------------------------------------------------------------------
410430
.PHONY: build-operator-images
411-
build-operator-images: $(BUILD_TARGETS)/build-operator build-utils ## Build all operator images
431+
build-operator-images: $(BUILD_TARGETS)/build-operator build-utils build-test-base ## Build all operator images
412432

413433
# ----------------------------------------------------------------------------------------------------------------------
414434
# Build the Operator Test images
@@ -430,7 +450,6 @@ build-test-images: build-mvn build-client-image build-basic-test-image ## Build
430450
.PHONY: build-basic-test-image
431451
build-basic-test-image: build-mvn ## Build the basic Operator test image
432452
./mvnw -B -f java/operator-test package jib:dockerBuild -DskipTests -Djib.to.image=$(TEST_APPLICATION_IMAGE) $(MAVEN_BUILD_OPTS)
433-
./mvnw -B -f java/operator-test-with-utils package jib:dockerBuild -am -nsu -DskipTests -Djib.to.image=$(TEST_APPLICATION_IMAGE_WITH_UTILS) $(MAVEN_BUILD_OPTS)
434453

435454
.PHONY: build-client-image
436455
build-client-image: ## Build the test client image
@@ -440,7 +459,7 @@ build-client-image: ## Build the test client image
440459
# Build all of the Docker images
441460
# ----------------------------------------------------------------------------------------------------------------------
442461
.PHONY: build-all-images
443-
build-all-images: $(BUILD_TARGETS)/build-operator build-utils build-test-images ## Build all images (including tests)
462+
build-all-images: $(BUILD_TARGETS)/build-operator build-utils build-test-base build-test-images ## Build all images (including tests)
444463

445464
# ----------------------------------------------------------------------------------------------------------------------
446465
# Build the operator linux binary
@@ -1568,6 +1587,24 @@ else
15681587
docker manifest push $(UTILS_RELEASE_IMAGE)
15691588
endif
15701589

1590+
# ----------------------------------------------------------------------------------------------------------------------
1591+
# Push the test base images
1592+
# ----------------------------------------------------------------------------------------------------------------------
1593+
.PHONY: push-test-base-images
1594+
push-test-base-images:
1595+
ifeq ($(TEST_BASE_RELEASE_IMAGE), $(TEST_BASE_IMAGE))
1596+
@echo "Pushing $(TEST_BASE_IMAGE)"
1597+
./mvnw -B -f java/coherence-operator package -P push-test-base-image -pl coherence-operator \
1598+
-DskipTests -Dimage.name=$(TEST_BASE_IMAGE)
1599+
else
1600+
@echo "Tagging $(TEST_BASE_IMAGE)-amd64 as $(TEST_BASE_RELEASE_IMAGE)-amd64"
1601+
docker tag $(TEST_BASE_IMAGE)-amd64 $(TEST_BASE_RELEASE_IMAGE)-amd64
1602+
@echo "Tagging $(TEST_BASE_IMAGE)-arm64 as $(TEST_BASE_RELEASE_IMAGE)-arm64"
1603+
docker tag $(TEST_BASE_IMAGE)-arm64 $(TEST_BASE_RELEASE_IMAGE)-arm64
1604+
./mvnw -B -f java/coherence-operator package -P push-test-base-image -pl coherence-operator \
1605+
-DskipTests -Dimage.name=$(TEST_BASE_RELEASE_IMAGE)
1606+
endif
1607+
15711608
# ----------------------------------------------------------------------------------------------------------------------
15721609
# Push the Operator JIB Test Docker images
15731610
# ----------------------------------------------------------------------------------------------------------------------
@@ -1603,13 +1640,13 @@ push-compatibility-image:
16031640
# Push all of the Docker images
16041641
# ----------------------------------------------------------------------------------------------------------------------
16051642
.PHONY: push-all-images
1606-
push-all-images: push-test-images push-utils-image push-operator-image
1643+
push-all-images: push-test-images push-test-base-images push-utils-image push-operator-image
16071644

16081645
# ----------------------------------------------------------------------------------------------------------------------
16091646
# Push all of the Docker images that are released
16101647
# ----------------------------------------------------------------------------------------------------------------------
16111648
.PHONY: push-release-images
1612-
push-release-images: push-utils-image push-operator-image
1649+
push-release-images: push-test-base-images push-utils-image push-operator-image
16131650

16141651
# ----------------------------------------------------------------------------------------------------------------------
16151652
# Install Prometheus

docs/about/04_coherence_spec.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
///////////////////////////////////////////////////////////////////////////////
22

3-
Copyright (c) 2020, 2021, Oracle and/or its affiliates.
3+
Copyright (c) 2020, 2022, Oracle and/or its affiliates.
44
Licensed under the Universal Permissive License v 1.0 as shown at
55
http://oss.oracle.com/licenses/upl.
66

docs/management/100_tmb_test.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
///////////////////////////////////////////////////////////////////////////////
22

3-
Copyright (c) 2020, Oracle and/or its affiliates.
3+
Copyright (c) 2020, 2022, Oracle and/or its affiliates.
44
Licensed under the Universal Permissive License v 1.0 as shown at
55
http://oss.oracle.com/licenses/upl.
66

@@ -54,7 +54,7 @@ spec:
5454
restartPolicy: Never
5555
containers:
5656
- name: coherence
57-
image: ghcr.io/oracle/coherence-ce:21.06.2 # <1>
57+
image: ghcr.io/oracle/coherence-ce:21.12.1 # <1>
5858
ports:
5959
- name: mbus
6060
containerPort: 8000
@@ -101,7 +101,7 @@ spec:
101101
restartPolicy: Never
102102
containers:
103103
- name: coherence
104-
image: ghcr.io/oracle/coherence-ce:21.06.2
104+
image: ghcr.io/oracle/coherence-ce:21.12.1
105105
command:
106106
- java # <1>
107107
- -cp

docs/metrics/020_metrics.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
///////////////////////////////////////////////////////////////////////////////
22

3-
Copyright (c) 2020, 2021, Oracle and/or its affiliates.
3+
Copyright (c) 2020, 2022, Oracle and/or its affiliates.
44
Licensed under the Universal Permissive License v 1.0 as shown at
55
http://oss.oracle.com/licenses/upl.
66

@@ -15,7 +15,7 @@ This would typically be used to expose metrics to something like Prometheus.
1515
1616
NOTE: The default metrics endpoint is *disabled* by default in Coherence clusters but can be enabled and configured by
1717
setting the relevant fields in the `Coherence` CRD.
18-
If your Coherence version is before CE 21.06.2 this example assumes that your application has included the
18+
If your Coherence version is before CE 21.12.1 this example assumes that your application has included the
1919
`coherence-metrics` module as a dependency.
2020
See the Coherence product documentation for more details on enabling metrics
2121
in your application.

0 commit comments

Comments
 (0)