Skip to content

Commit 351b547

Browse files
committed
Test opendev watcher master content in CI job
In order to test opendev watcher master content in CI job, this pr adds following thigs: * opendev-master-watcher-operator-pipeline project template which will run meta content provider from master and then Deploy EDPM job watcher-operator-validation-master from mastter content. * It changes the existing job watcher-operator-validation (still deploying the antelope content) with update_containers: false to avoid using meta content provider containers. * It also updates the existing watcher-operator-validation and watcher-operator-kuttl job to use openstack-meta-content-provider-master as a job dependencies. Depends-On: https://review.opendev.org/c/openstack/watcher/+/938893 Signed-off-by: Chandan Kumar (raukadah) <raukadah@gmail.com>
1 parent c983242 commit 351b547

File tree

2 files changed

+99
-4
lines changed

2 files changed

+99
-4
lines changed

.zuul.yaml

Lines changed: 68 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22
- project:
33
name: openstack-k8s-operators/watcher-operator
44
default-branch: main
5+
templates:
6+
- opendev-master-watcher-operator-pipeline
57
github-check:
68
jobs:
79
- noop
810
- watcher-operator-doc-preview
9-
- openstack-meta-content-provider:
10-
vars:
11-
cifmw_operator_build_meta_build: false
1211
- watcher-operator-validation
1312
- watcher-operator-kuttl
1413

1514
- job:
1615
name: watcher-operator-base
16+
override-checkout: main
1717
parent: podified-multinode-edpm-deployment-crc-2comp
18-
dependencies: ["openstack-meta-content-provider"]
18+
dependencies: ["openstack-meta-content-provider-master"]
1919
description: |
2020
A multinode EDPM Zuul job which has one ansible controller, one
2121
extracted crc and two computes. It will be used for testing watcher-operator.
@@ -40,9 +40,19 @@
4040
A zuul job to validate the watcher operator and its service deployment.
4141
vars:
4242
run_tempest: false
43+
# Donot use openstack services from meta content provider master
44+
# job.
45+
cifmw_update_containers: false
46+
extra-vars:
47+
# Override zuul meta content provider provided content_provider_dlrn_md5_hash
48+
# var. As returned dlrn md5 hash comes from master release but job is using
49+
# antelope content.
50+
content_provider_dlrn_md5_hash: ''
4351

4452
- job:
4553
name: watcher-operator-kuttl
54+
override-checkout: main
55+
dependencies: ["openstack-meta-content-provider-master"]
4656
parent: cifmw-multinode-kuttl-operator-target
4757
description: |
4858
A zuul job to run watcher operator kuttl tests.
@@ -61,6 +71,11 @@
6171
source: "{{ watcher_hook }}"
6272
extra_vars:
6373
watcher_catalog_image: "{{ content_provider_registry_ip }}:5001/openstack-k8s-operators/watcher-operator-index:{{ zuul.patchset }}"
74+
extra-vars:
75+
# Override zuul meta content provider provided content_provider_dlrn_md5_hash
76+
# var. As returned dlrn md5 hash comes from master release but job is using
77+
# antelope content.
78+
content_provider_dlrn_md5_hash: ''
6479

6580
- job:
6681
name: watcher-operator-doc-preview
@@ -71,3 +86,52 @@
7186
vars:
7287
asciidoc_available: true
7388
doc_available: false
89+
90+
##########################################################
91+
# #
92+
# Master Zuul Jobs #
93+
# #
94+
##########################################################
95+
96+
97+
- job:
98+
name: openstack-meta-content-provider-master
99+
override-checkout: main
100+
description: |
101+
A zuul job building content from OpenDev master release.
102+
parent: openstack-meta-content-provider
103+
vars:
104+
cifmw_operator_build_meta_build: false
105+
cifmw_bop_openstack_release: master
106+
cifmw_bop_dlrn_baseurl: "https://trunk.rdoproject.org/centos9-master"
107+
cifmw_repo_setup_branch: master
108+
109+
- job:
110+
name: watcher-operator-validation-master
111+
parent: watcher-operator-validation
112+
override-checkout: main
113+
description: |
114+
A Zuul job consuming content from openstack-meta-content-provider-master
115+
and deploying EDPM with master content.
116+
dependencies: ["openstack-meta-content-provider-master"]
117+
vars:
118+
cifmw_repo_setup_branch: master
119+
# To consume containers from meta content provider
120+
cifmw_update_containers_openstack: true
121+
122+
##########################################################
123+
# #
124+
# Project Template #
125+
# #
126+
##########################################################
127+
128+
- project-template:
129+
name: opendev-master-watcher-operator-pipeline
130+
description: |
131+
Project template to run meta content provider and
132+
EDPM job with master opendev and github operator
133+
content.
134+
github-check:
135+
jobs:
136+
- openstack-meta-content-provider-master
137+
- watcher-operator-validation-master

ci/playbooks/deploy_watcher_service.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,15 @@
88
KUBECONFIG: "{{ cifmw_openshift_kubeconfig }}"
99
PATH: "{{ cifmw_path }}"
1010
tasks:
11+
- name: Fetch dlrn md5_hash from master DLRN repo
12+
ansible.builtin.uri:
13+
url: "https://{{ watcher_dlrn_server | default('trunk.rdoproject.org') }}/{{ watcher_dlrn_namespace | default('centos9-master') }}/{{ watcher_dlrn_tag | default('current-podified') }}/delorean.repo.md5"
14+
return_content: true
15+
register: latest_dlrn_tag
16+
until: latest_dlrn_tag.status == 200
17+
retries: 6
18+
delay: 5
19+
1120
- name: Install Watcher Operator
1221
cifmw.general.ci_script:
1322
output_dir: "{{ cifmw_basedir }}/artifacts"
@@ -16,6 +25,28 @@
1625
extra_args:
1726
CATALOG_IMAGE: "{{ watcher_catalog_image | default('quay.io/openstack-k8s-operators/watcher-operator-index:latest') }}"
1827

28+
- name: Patch Watcher Operator to use content provider images
29+
vars:
30+
_tag: "{{ latest_dlrn_tag.content }}"
31+
_registry: "{{ content_provider_os_registry_url }}"
32+
cifmw.general.ci_script:
33+
output_dir: "{{ cifmw_basedir }}/artifacts"
34+
chdir: "{{ ansible_user_dir }}/src/github.com/openstack-k8s-operators/watcher-operator"
35+
script: |
36+
oc get csv -n openstack-operators \
37+
-l operators.coreos.com/watcher.openstack-operators -o=jsonpath='{.items[0]}' \
38+
| jq '(.spec.install.spec.deployments[0].spec.template.spec.containers[1].env[] \
39+
| select(.name=="WATCHER_API_IMAGE_URL_DEFAULT")) |= (.value="{{ _registry }}/openstack-watcher-api:{{ _tag }}")' \
40+
| jq '(.spec.install.spec.deployments[0].spec.template.spec.containers[1].env[] \
41+
| select(.name=="WATCHER_DECISION_ENGINE_IMAGE_URL_DEFAULT")) |= (.value="{{ _registry }}/openstack-watcher-decision-engine:{{ _tag }}")' \
42+
| jq '(.spec.install.spec.deployments[0].spec.template.spec.containers[1].env[] \
43+
| select(.name=="WATCHER_APPLIER_IMAGE_URL_DEFAULT")) |= (.value="{{ _registry }}/openstack-watcher-applier:{{ _tag }}")' \
44+
> /tmp/default_patch.out
45+
46+
oc patch csv -n openstack-operators \
47+
$(oc get csv -n openstack-operators -l operators.coreos.com/watcher.openstack-operators \
48+
-o jsonpath='{.items[0].metadata.name}') --type=merge --patch-file=/tmp/default_patch.out
49+
1950
- name: Deploy Watcher service
2051
when: deploy_watcher_service | default('true') | bool
2152
cifmw.general.ci_script:

0 commit comments

Comments
 (0)