Skip to content

Commit 5ad2b55

Browse files
Merge pull request #421 from openshift-bot/synchronize-upstream
NO-ISSUE: Synchronize From Upstream Repositories
2 parents 9963614 + b637c4b commit 5ad2b55

File tree

193 files changed

+3777
-895
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

193 files changed

+3777
-895
lines changed

.bingo/OWNERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
approvers:
2+
- ci-approvers

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@ cover.out
2121
# Release output
2222
/dist/**
2323
/operator-controller.yaml
24+
/operator-controller-experimental.yaml
2425
/default-catalogs.yaml
2526
/install.sh
27+
/install-experimental.sh
2628

2729
# vendored files
2830
vendor/
@@ -42,3 +44,6 @@ site
4244
.tiltbuild/
4345
.catalogd-tmp/
4446
.vscode
47+
48+
# Tmporary files and directories
49+
/test/regression/convert/testdata/tmp/*

.goreleaser.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,8 +124,10 @@ release:
124124
disable: '{{ ne .Env.ENABLE_RELEASE_PIPELINE "true" }}'
125125
mode: replace
126126
extra_files:
127-
- glob: '{{ .Env.RELEASE_MANIFEST }}'
128-
- glob: '{{ .Env.RELEASE_INSTALL }}'
127+
- glob: '{{ .Env.STANDARD_RELEASE_MANIFEST }}'
128+
- glob: '{{ .Env.STANDARD_RELEASE_INSTALL }}'
129+
- glob: '{{ .Env.EXPERIMENTAL_RELEASE_MANIFEST }}'
130+
- glob: '{{ .Env.EXPERIMENTAL_RELEASE_INSTALL }}'
129131
- glob: '{{ .Env.RELEASE_CATALOGS }}'
130132
header: |
131133
## Installation

Makefile

Lines changed: 35 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,10 @@ KUSTOMIZE_STANDARD_E2E_OVERLAY := config/overlays/standard-e2e
7676
KUSTOMIZE_EXPERIMENTAL_OVERLAY := config/overlays/experimental
7777
KUSTOMIZE_EXPERIMENTAL_E2E_OVERLAY := config/overlays/experimental-e2e
7878

79-
export RELEASE_MANIFEST := operator-controller.yaml
80-
export RELEASE_INSTALL := install.sh
79+
export STANDARD_RELEASE_MANIFEST := operator-controller.yaml
80+
export STANDARD_RELEASE_INSTALL := install.sh
81+
export EXPERIMENTAL_RELEASE_MANIFEST := operator-controller-experimental.yaml
82+
export EXPERIMENTAL_RELEASE_INSTALL := install-experimental.sh
8183
export RELEASE_CATALOGS := default-catalogs.yaml
8284

8385
# List of manifests that are checked in
@@ -172,15 +174,9 @@ generate: $(CONTROLLER_GEN) #EXHELP Generate code containing DeepCopy, DeepCopyI
172174
$(CONTROLLER_GEN) --load-build-tags=$(GO_BUILD_TAGS) object:headerFile="hack/boilerplate.go.txt" paths="./..."
173175

174176
.PHONY: verify
175-
verify: k8s-pin kind-verify-versions fmt generate manifests crd-ref-docs generate-test-data #HELP Verify all generated code is up-to-date. Runs k8s-pin instead of just tidy.
177+
verify: k8s-pin kind-verify-versions fmt generate manifests crd-ref-docs #HELP Verify all generated code is up-to-date. Runs k8s-pin instead of just tidy.
176178
git diff --exit-code
177179

178-
# Renders registry+v1 bundles in test/convert
179-
# Used by CI in verify to catch regressions in the registry+v1 -> plain conversion code
180-
.PHONY: generate-test-data
181-
generate-test-data:
182-
go run test/convert/generate-manifests.go
183-
184180
.PHONY: fix-lint
185181
fix-lint: $(GOLANGCI_LINT) #EXHELP Fix lint issues
186182
$(GOLANGCI_LINT) run --fix --build-tags $(GO_BUILD_TAGS) $(GOLANGCI_LINT_ARGS)
@@ -209,7 +205,7 @@ verify-crd-compatibility: $(CRD_DIFF) manifests
209205
#SECTION Test
210206

211207
.PHONY: test
212-
test: manifests generate fmt lint test-unit test-e2e #HELP Run all tests.
208+
test: manifests generate fmt lint test-unit test-e2e test-regression #HELP Run all tests.
213209

214210
.PHONY: e2e
215211
e2e: #EXHELP Run the e2e tests.
@@ -223,14 +219,14 @@ E2E_REGISTRY_NAME := docker-registry
223219
E2E_REGISTRY_NAMESPACE := operator-controller-e2e
224220

225221
export REG_PKG_NAME := registry-operator
226-
export LOCAL_REGISTRY_HOST := $(E2E_REGISTRY_NAME).$(E2E_REGISTRY_NAMESPACE).svc:5000
227-
export CLUSTER_REGISTRY_HOST := localhost:30000
222+
export CLUSTER_REGISTRY_HOST := $(E2E_REGISTRY_NAME).$(E2E_REGISTRY_NAMESPACE).svc:5000
223+
export LOCAL_REGISTRY_HOST := localhost:30000
228224
export E2E_TEST_CATALOG_V1 := e2e/test-catalog:v1
229225
export E2E_TEST_CATALOG_V2 := e2e/test-catalog:v2
230-
export CATALOG_IMG := $(LOCAL_REGISTRY_HOST)/$(E2E_TEST_CATALOG_V1)
231-
.PHONY: test-ext-dev-e2e
232-
test-ext-dev-e2e: $(OPERATOR_SDK) $(KUSTOMIZE) $(KIND) #HELP Run extension create, upgrade and delete tests.
233-
test/extension-developer-e2e/setup.sh $(OPERATOR_SDK) $(CONTAINER_RUNTIME) $(KUSTOMIZE) $(KIND) $(KIND_CLUSTER_NAME) $(E2E_REGISTRY_NAMESPACE)
226+
export CATALOG_IMG := $(CLUSTER_REGISTRY_HOST)/$(E2E_TEST_CATALOG_V1)
227+
.PHONY: extension-developer-e2e
228+
extension-developer-e2e: $(OPERATOR_SDK) $(KUSTOMIZE) #EXHELP Run extension create, upgrade and delete tests.
229+
test/extension-developer-e2e/setup.sh $(OPERATOR_SDK) $(CONTAINER_RUNTIME) $(KUSTOMIZE) ${LOCAL_REGISTRY_HOST} ${CLUSTER_REGISTRY_HOST}
234230
go test -count=1 -v ./test/extension-developer-e2e/...
235231

236232
UNIT_TEST_DIRS := $(shell go list ./... | grep -v /test/)
@@ -252,6 +248,12 @@ test-unit: $(SETUP_ENVTEST) envtest-k8s-bins #HELP Run the unit tests
252248
$(UNIT_TEST_DIRS) \
253249
-test.gocoverdir=$(COVERAGE_UNIT_DIR)
254250

251+
COVERAGE_REGRESSION_DIR := $(ROOT_DIR)/coverage/regression
252+
.PHONY: test-regression
253+
test-regression: #HELP Run regression test
254+
rm -rf $(COVERAGE_REGRESSION_DIR) && mkdir -p $(COVERAGE_REGRESSION_DIR)
255+
go test -count=1 -v ./test/regression/... -cover -coverprofile ${ROOT_DIR}/coverage/regression.out -test.gocoverdir=$(COVERAGE_REGRESSION_DIR)
256+
255257
.PHONY: image-registry
256258
E2E_REGISTRY_IMAGE=localhost/e2e-test-registry:devel
257259
image-registry: export GOOS=linux
@@ -274,34 +276,30 @@ image-registry: ## Build the testdata catalog used for e2e tests and push it to
274276
test-e2e: SOURCE_MANIFEST := $(STANDARD_E2E_MANIFEST)
275277
test-e2e: KIND_CLUSTER_NAME := operator-controller-e2e
276278
test-e2e: GO_BUILD_EXTRA_FLAGS := -cover
277-
test-e2e: run image-registry prometheus e2e e2e-metrics e2e-coverage kind-clean #HELP Run e2e test suite on local kind cluster
279+
test-e2e: COVERAGE_NAME := e2e
280+
test-e2e: run image-registry prometheus e2e e2e-coverage kind-clean #HELP Run e2e test suite on local kind cluster
278281

279282
.PHONY: test-experimental-e2e
280283
test-experimental-e2e: SOURCE_MANIFEST := $(EXPERIMENTAL_E2E_MANIFEST)
281284
test-experimental-e2e: KIND_CLUSTER_NAME := operator-controller-e2e
282285
test-experimental-e2e: GO_BUILD_EXTRA_FLAGS := -cover
283-
test-experimental-e2e: run image-registry prometheus experimental-e2e e2e e2e-metrics e2e-coverage kind-clean #HELP Run experimental e2e test suite on local kind cluster
286+
test-experimental-e2e: COVERAGE_NAME := experimental-e2e
287+
test-experimental-e2e: run image-registry prometheus experimental-e2e e2e e2e-coverage kind-clean #HELP Run experimental e2e test suite on local kind cluster
284288

285289
.PHONY: prometheus
286290
prometheus: PROMETHEUS_NAMESPACE := olmv1-system
287291
prometheus: PROMETHEUS_VERSION := v0.83.0
288292
prometheus: #EXHELP Deploy Prometheus into specified namespace
289293
./hack/test/install-prometheus.sh $(PROMETHEUS_NAMESPACE) $(PROMETHEUS_VERSION) $(KUSTOMIZE) $(VERSION)
290294

291-
# The output alerts.out file contains any alerts, pending or firing, collected during a test run in json format.
292-
.PHONY: e2e-metrics
293-
e2e-metrics: ALERTS_FILE_PATH := $(if $(ARTIFACT_PATH),$(ARTIFACT_PATH),.)/alerts.out
294-
e2e-metrics: #EXHELP Request metrics from prometheus; place in ARTIFACT_PATH if set
295-
curl -X GET http://localhost:30900/api/v1/alerts | jq 'if (.data.alerts | length) > 0 then .data.alerts.[] else empty end' > $(ALERTS_FILE_PATH)
296-
297-
.PHONY: extension-developer-e2e
298-
extension-developer-e2e: KIND_CLUSTER_NAME := operator-controller-ext-dev-e2e
299-
extension-developer-e2e: export INSTALL_DEFAULT_CATALOGS := false
300-
extension-developer-e2e: run image-registry test-ext-dev-e2e kind-clean #EXHELP Run extension-developer e2e on local kind cluster
295+
.PHONY: test-extension-developer-e2e
296+
test-extension-developer-e2e: KIND_CLUSTER_NAME := operator-controller-ext-dev-e2e
297+
test-extension-developer-e2e: export INSTALL_DEFAULT_CATALOGS := false
298+
test-extension-developer-e2e: run image-registry extension-developer-e2e kind-clean #HELP Run extension-developer e2e on local kind cluster
301299

302300
.PHONY: run-latest-release
303301
run-latest-release:
304-
curl -L -s https://github.com/operator-framework/operator-controller/releases/latest/download/$(notdir $(RELEASE_INSTALL)) | bash -s
302+
curl -L -s https://github.com/operator-framework/operator-controller/releases/latest/download/$(notdir $(STANDARD_RELEASE_INSTALL)) | bash -s
305303

306304
.PHONY: pre-upgrade-setup
307305
pre-upgrade-setup:
@@ -319,7 +317,7 @@ test-upgrade-e2e: kind-cluster run-latest-release image-registry pre-upgrade-set
319317

320318
.PHONY: e2e-coverage
321319
e2e-coverage:
322-
COVERAGE_OUTPUT=./coverage/e2e.out ./hack/test/e2e-coverage.sh
320+
COVERAGE_NAME=$(COVERAGE_NAME) ./hack/test/e2e-coverage.sh
323321

324322
#SECTION KIND Cluster Operations
325323

@@ -329,7 +327,7 @@ kind-load: $(KIND) #EXHELP Loads the currently constructed images into the KIND
329327
$(CONTAINER_RUNTIME) save $(CATD_IMG) | $(KIND) load image-archive /dev/stdin --name $(KIND_CLUSTER_NAME)
330328

331329
.PHONY: kind-deploy
332-
kind-deploy: export MANIFEST := $(RELEASE_MANIFEST)
330+
kind-deploy: export MANIFEST := $(STANDARD_RELEASE_MANIFEST)
333331
kind-deploy: export DEFAULT_CATALOG := $(RELEASE_CATALOGS)
334332
kind-deploy: manifests
335333
@echo -e "\n\U1F4D8 Using $(SOURCE_MANIFEST) as source manifest\n"
@@ -436,13 +434,16 @@ release: $(GORELEASER) #EXHELP Runs goreleaser for the operator-controller. By d
436434
OPCON_IMAGE_REPO=$(OPCON_IMAGE_REPO) CATD_IMAGE_REPO=$(CATD_IMAGE_REPO) $(GORELEASER) $(GORELEASER_ARGS)
437435

438436
.PHONY: quickstart
439-
quickstart: export MANIFEST := "https://github.com/operator-framework/operator-controller/releases/download/$(VERSION)/$(notdir $(RELEASE_MANIFEST))"
437+
quickstart: export STANDARD_MANIFEST_URL := "https://github.com/operator-framework/operator-controller/releases/download/$(VERSION)/$(notdir $(STANDARD_RELEASE_MANIFEST))"
438+
quickstart: export EXPERIMENTAL_MANIFEST_URL := "https://github.com/operator-framework/operator-controller/releases/download/$(VERSION)/$(notdir $(EXPERIMENTAL_RELEASE_MANIFEST))"
440439
quickstart: export DEFAULT_CATALOG := "https://github.com/operator-framework/operator-controller/releases/download/$(VERSION)/$(notdir $(RELEASE_CATALOGS))"
441440
quickstart: manifests #EXHELP Generate the unified installation release manifests and scripts.
442441
# Update the stored standard manifests for distribution
443-
sed "s/:devel/:$(VERSION)/g" $(STANDARD_MANIFEST) | sed "s/cert-git-version/cert-$(VERSION)/g" > $(RELEASE_MANIFEST)
442+
sed "s/:devel/:$(VERSION)/g" $(STANDARD_MANIFEST) | sed "s/cert-git-version/cert-$(VERSION)/g" > $(STANDARD_RELEASE_MANIFEST)
443+
sed "s/:devel/:$(VERSION)/g" $(EXPERIMENTAL_MANIFEST) | sed "s/cert-git-version/cert-$(VERSION)/g" > $(EXPERIMENTAL_RELEASE_MANIFEST)
444444
cp $(CATALOGS_MANIFEST) $(RELEASE_CATALOGS)
445-
envsubst '$$DEFAULT_CATALOG,$$CERT_MGR_VERSION,$$INSTALL_DEFAULT_CATALOGS,$$MANIFEST' < scripts/install.tpl.sh > $(RELEASE_INSTALL)
445+
MANIFEST=$(STANDARD_MANIFEST_URL) envsubst '$$DEFAULT_CATALOG,$$CERT_MGR_VERSION,$$INSTALL_DEFAULT_CATALOGS,$$MANIFEST' < scripts/install.tpl.sh > $(STANDARD_RELEASE_INSTALL)
446+
MANIFEST=$(EXPERIMENTAL_MANIFEST_URL) envsubst '$$DEFAULT_CATALOG,$$CERT_MGR_VERSION,$$INSTALL_DEFAULT_CATALOGS,$$MANIFEST' < scripts/install.tpl.sh > $(EXPERIMENTAL_RELEASE_INSTALL)
446447

447448
##@ Docs
448449

OWNERS

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
approvers:
2-
- operator-controller-approvers
2+
- olmv1-approvers
33
reviewers:
4-
- operator-controller-approvers
5-
- operator-controller-reviewers
4+
- olmv1-reviewers

OWNERS_ALIASES

Lines changed: 35 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,49 @@
1-
21
aliases:
3-
# contributors who can approve any PRs in the repo
4-
operator-controller-approvers:
5-
- camilamacedo86
6-
- grokspawn
2+
olmv1-approvers:
73
- joelanford
84
- kevinrizza
95
- perdasilva
10-
- thetechnick
116
- tmshort
127

13-
# contributors who can review/lgtm any PRs in the repo
14-
operator-controller-reviewers:
8+
olmv1-reviewers:
159
- anik120
1610
- ankitathomas
1711
- bentito
12+
- camilamacedo86
1813
- dtfranz
19-
- gallettilance
20-
- gavinmbell
21-
- LalatenduMohanty
14+
- grokspawn
15+
- joelanford
2216
- oceanc80
2317
- OchiengEd
18+
- perdasilva
2419
- rashmigottipati
20+
- thetechnick
21+
- tmshort
2522
- trgeiger
23+
24+
api-approvers:
25+
- grokspawn
26+
- thetechnick
27+
28+
catalogd-approvers:
29+
- grokspawn
30+
31+
operator-controller-approvers:
32+
- thetechnick
33+
34+
cmd-approvers:
35+
- grokspawn
36+
37+
manifest-approvers:
38+
- camilamacedo86
39+
40+
ci-approvers:
41+
- camilamacedo86
42+
43+
docs-approvers:
44+
- michaelryanpeter
45+
46+
docs-draft-approvers:
47+
- camilamacedo86
48+
- grokspawn
49+
- thetechnick

api/OWNERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
approvers:
2+
- api-approvers

cmd/OWNERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
approvers:
2+
- cmd-approvers

codecov.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
codecov:
22
notify:
3-
after_n_builds: 3
3+
# Configure the 4 builds to wait before sending a notification.
4+
# test-unit, test-regression, test-e2e and test-experimental-e2e.
5+
after_n_builds: 4
46

57
# Configure the paths to include in coverage reports.
68
# Exclude documentation, YAML configurations, and test files.

commitchecker.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
expectedMergeBase: 8cf5bdaf21ac3a211654c60ebb8bf1d31109a94b
1+
expectedMergeBase: 3d6a33b60dab6aedec2b676eba3a7631d3961340
22
upstreamBranch: main
33
upstreamOrg: operator-framework
44
upstreamRepo: operator-controller

0 commit comments

Comments
 (0)