Skip to content

Commit ee7d8ad

Browse files
committed
Merge branch 'master' into maciejk/ar-image-staging
# Conflicts: # scripts/release/atomic_pipeline.py # scripts/release/build/build_info.py # scripts/release/build/build_info_test.py
2 parents 2a0438c + 6f85608 commit ee7d8ad

File tree

8 files changed

+87
-203
lines changed

8 files changed

+87
-203
lines changed

.evergreen-periodic-builds.yaml

Lines changed: 0 additions & 161 deletions
Original file line numberDiff line numberDiff line change
@@ -19,148 +19,6 @@ variables:
1919
- func: switch_context
2020

2121
tasks:
22-
- name: periodic_build_operator
23-
commands:
24-
- func: legacy_pipeline
25-
vars:
26-
image_name: operator-daily
27-
28-
- name: periodic_teardown_aws
29-
commands:
30-
- func: cleanup_aws
31-
32-
- name: periodic_teardown_cloudqa
33-
commands:
34-
- func: teardown_cloud_qa_all
35-
36-
- name: periodic_build_init_appdb
37-
commands:
38-
- func: legacy_pipeline
39-
vars:
40-
image_name: init-appdb-daily
41-
42-
- name: periodic_build_init_database
43-
commands:
44-
- func: legacy_pipeline
45-
vars:
46-
image_name: init-database-daily
47-
48-
- name: periodic_build_init_opsmanager
49-
commands:
50-
- func: legacy_pipeline
51-
vars:
52-
image_name: init-ops-manager-daily
53-
54-
- name: periodic_build_database
55-
commands:
56-
- func: legacy_pipeline
57-
vars:
58-
image_name: database-daily
59-
60-
- name: periodic_build_sbom_cli
61-
commands:
62-
- func: legacy_pipeline
63-
vars:
64-
image_name: cli
65-
66-
- name: periodic_build_ops_manager_6
67-
commands:
68-
- func: legacy_pipeline
69-
vars:
70-
image_name: ops-manager-6-daily
71-
72-
- name: periodic_build_ops_manager_7
73-
commands:
74-
- func: legacy_pipeline
75-
vars:
76-
image_name: ops-manager-7-daily
77-
78-
- name: periodic_build_ops_manager_8
79-
commands:
80-
- func: legacy_pipeline
81-
vars:
82-
image_name: ops-manager-8-daily
83-
84-
# the periodic agent builds are more commented in the pipeline.py file.
85-
# The gist is - we want to split up the periodic build on as many machines as possible
86-
# To speed up the builds as we have too many agents due to the matrix build.
87-
# For now its one without operator suffix and the last 3. This only works as long as we
88-
# only have operator versions we support (minor version), as soon as we have multiple patch versions -
89-
# this won't work anymore and we will need a dynamic solution.
90-
- name: periodic_build_agent
91-
exec_timeout_secs: 43200
92-
commands:
93-
- func: enable_QEMU
94-
- func: legacy_pipeline
95-
vars:
96-
image_name: mongodb-agent-daily
97-
98-
- name: periodic_build_agent_1
99-
exec_timeout_secs: 43200
100-
commands:
101-
- func: enable_QEMU
102-
- func: legacy_pipeline
103-
vars:
104-
image_name: mongodb-agent-1-daily
105-
106-
- name: periodic_build_agent_2
107-
exec_timeout_secs: 43200
108-
commands:
109-
- func: enable_QEMU
110-
- func: pipeline
111-
vars:
112-
image_name: mongodb-agent-2-daily
113-
114-
- name: periodic_build_agent_3
115-
exec_timeout_secs: 43200
116-
commands:
117-
- func: enable_QEMU
118-
- func: pipeline
119-
vars:
120-
image_name: mongodb-agent-3-daily
121-
122-
#TODO should we still build the community operator?
123-
- name: periodic_build_community_operator
124-
commands:
125-
- func: enable_QEMU
126-
- func: legacy_pipeline
127-
vars:
128-
image_name: mongodb-kubernetes-operator-daily
129-
130-
- name: periodic_build_readiness_probe
131-
commands:
132-
- func: legacy_pipeline
133-
vars:
134-
image_name: readinessprobe-daily
135-
136-
- name: periodic_build_version_upgrade_post_start_hook
137-
commands:
138-
- func: legacy_pipeline
139-
vars:
140-
image_name: operator-version-upgrade-post-start-hook-daily
141-
142-
task_groups:
143-
- name: periodic_build_task_group
144-
max_hosts: -1
145-
<<: *setup_group
146-
tasks:
147-
- periodic_build_operator
148-
- periodic_build_readiness_probe
149-
- periodic_build_version_upgrade_post_start_hook
150-
- periodic_build_init_appdb
151-
- periodic_build_init_database
152-
- periodic_build_init_opsmanager
153-
- periodic_build_ops_manager_6
154-
- periodic_build_ops_manager_7
155-
- periodic_build_ops_manager_8
156-
- periodic_build_database
157-
- periodic_build_community_operator
158-
- periodic_build_sbom_cli
159-
- periodic_build_agent
160-
- periodic_build_agent_1
161-
- periodic_build_agent_2
162-
- periodic_build_agent_3
163-
16422
- name: periodic_teardown_task_group
16523
<<: *setup_group
16624
tasks:
@@ -175,22 +33,3 @@ buildvariants:
17533
- ubuntu2204-small
17634
tasks:
17735
- name: periodic_teardown_task_group
178-
179-
- name: periodic_build
180-
display_name: periodic_build
181-
tags: [ "periodic_build" ]
182-
run_on:
183-
- release-ubuntu2204-large # This is required for CISA attestation https://jira.mongodb.org/browse/DEVPROD-17780
184-
tasks:
185-
- name: periodic_build_task_group
186-
187-
- name: preflight_release_images_check_only
188-
display_name: preflight_release_images_check_only
189-
tags: [ "periodic_build" ]
190-
depends_on:
191-
- name: "*"
192-
variant: periodic_build
193-
run_on:
194-
- rhel90-large
195-
tasks:
196-
- name: preflight_images_task_group

build_info.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"images": {
33
"operator": {
4+
"dockerfile-path": "docker/mongodb-kubernetes-operator/Dockerfile.atomic",
45
"patch": {
56
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes",
67
"platforms": [
@@ -23,6 +24,7 @@
2324
}
2425
},
2526
"init-database": {
27+
"dockerfile-path": "docker/mongodb-kubernetes-init-database/Dockerfile.atomic",
2628
"patch": {
2729
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-database",
2830
"platforms": [
@@ -46,6 +48,7 @@
4648
}
4749
},
4850
"init-appdb": {
51+
"dockerfile-path": "docker/mongodb-kubernetes-init-appdb/Dockerfile.atomic",
4952
"patch": {
5053
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-appdb",
5154
"platforms": [
@@ -69,6 +72,7 @@
6972
}
7073
},
7174
"init-ops-manager": {
75+
"dockerfile-path": "docker/mongodb-kubernetes-init-ops-manager/Dockerfile.atomic",
7276
"patch": {
7377
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-init-ops-manager",
7478
"platforms": [
@@ -92,6 +96,7 @@
9296
}
9397
},
9498
"database": {
99+
"dockerfile-path": "docker/mongodb-kubernetes-database/Dockerfile.atomic",
95100
"patch": {
96101
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-database",
97102
"platforms": [
@@ -115,6 +120,7 @@
115120
}
116121
},
117122
"meko-tests": {
123+
"dockerfile-path": "docker/mongodb-kubernetes-tests/Dockerfile",
118124
"patch": {
119125
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-tests",
120126
"platforms": [
@@ -129,6 +135,7 @@
129135
}
130136
},
131137
"mco-tests": {
138+
"dockerfile-path": "docker/mongodb-community-tests/Dockerfile",
132139
"patch": {
133140
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-community-tests",
134141
"platforms": [
@@ -143,6 +150,7 @@
143150
}
144151
},
145152
"readiness-probe": {
153+
"dockerfile-path": "docker/mongodb-kubernetes-readinessprobe/Dockerfile.atomic",
146154
"patch": {
147155
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-readinessprobe",
148156
"platforms": [
@@ -167,6 +175,7 @@
167175
}
168176
},
169177
"upgrade-hook": {
178+
"dockerfile-path": "docker/mongodb-kubernetes-upgrade-hook/Dockerfile.atomic",
170179
"patch": {
171180
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-kubernetes-operator-version-upgrade-post-start-hook",
172181
"platforms": [
@@ -191,6 +200,7 @@
191200
}
192201
},
193202
"agent": {
203+
"dockerfile-path": "docker/mongodb-agent/Dockerfile.atomic",
194204
"patch": {
195205
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-agent-ubi",
196206
"platforms": [
@@ -213,6 +223,7 @@
213223
}
214224
},
215225
"ops-manager": {
226+
"dockerfile-path": "docker/mongodb-enterprise-ops-manager/Dockerfile.atomic",
216227
"patch": {
217228
"version": "om-version-from-release.json",
218229
"repository": "268558157000.dkr.ecr.us-east-1.amazonaws.com/dev/mongodb-enterprise-ops-manager-ubi",

scripts/release/atomic_pipeline.py

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929

3030
@TRACER.start_as_current_span("build_image")
3131
def build_image(
32-
dockerfile_path: str,
3332
build_configuration: ImageBuildConfiguration,
3433
build_args: Dict[str, str] = None,
3534
build_path: str = ".",
@@ -41,16 +40,13 @@ def build_image(
4140
span = trace.get_current_span()
4241
span.set_attribute("mck.image_name", image_name)
4342

44-
registry = build_configuration.base_registry
43+
base_registry = build_configuration.base_registry()
4544
build_args = build_args or {}
4645

4746
if build_args:
4847
span.set_attribute("mck.build_args", str(build_args))
49-
50-
logger.info(f"Building {image_name}, dockerfile args: {build_args}")
51-
logger.debug(f"Build args: {build_args}")
52-
logger.debug(f"Building {image_name} for platforms={build_configuration.platforms}")
53-
logger.debug(f"build image generic - registry={registry}")
48+
span.set_attribute("mck.registry", base_registry)
49+
span.set_attribute("mck.platforms", build_configuration.platforms)
5450

5551
# Build docker registry URI and call build_image
5652
tags = [f"{build_configuration.registry}:{build_configuration.version}"]
@@ -59,7 +55,7 @@ def build_image(
5955

6056
execute_docker_build(
6157
tags=tags,
62-
dockerfile=dockerfile_path,
58+
dockerfile=build_configuration.dockerfile_path,
6359
path=build_path,
6460
args=build_args,
6561
push=True,
@@ -74,7 +70,7 @@ def build_image(
7470
verify_signature(build_configuration.registry, build_configuration.version)
7571

7672

77-
def build_tests_image(build_configuration: ImageBuildConfiguration):
73+
def build_meko_tests_image(build_configuration: ImageBuildConfiguration):
7874
"""
7975
Builds image used to run tests.
8076
"""
@@ -103,7 +99,6 @@ def build_tests_image(build_configuration: ImageBuildConfiguration):
10399
build_args = dict({"PYTHON_VERSION": python_version})
104100

105101
build_image(
106-
dockerfile_path="docker/mongodb-kubernetes-tests/Dockerfile",
107102
build_configuration=build_configuration,
108103
build_args=build_args,
109104
build_path="docker/mongodb-kubernetes-tests",
@@ -116,7 +111,6 @@ def build_mco_tests_image(build_configuration: ImageBuildConfiguration):
116111
"""
117112

118113
build_image(
119-
dockerfile_path="docker/mongodb-community-tests/Dockerfile",
120114
build_configuration=build_configuration,
121115
)
122116

@@ -137,7 +131,6 @@ def build_operator_image(build_configuration: ImageBuildConfiguration):
137131
logger.info(f"Building Operator args: {args}")
138132

139133
build_image(
140-
dockerfile_path="docker/mongodb-kubernetes-operator/Dockerfile.atomic",
141134
build_configuration=build_configuration,
142135
build_args=args,
143136
)
@@ -150,7 +143,6 @@ def build_database_image(build_configuration: ImageBuildConfiguration):
150143
args = {"version": build_configuration.version}
151144

152145
build_image(
153-
dockerfile_path="docker/mongodb-kubernetes-database/Dockerfile.atomic",
154146
build_configuration=build_configuration,
155147
build_args=args,
156148
)
@@ -201,7 +193,6 @@ def build_init_om_image(build_configuration: ImageBuildConfiguration):
201193
args = {"version": build_configuration.version}
202194

203195
build_image(
204-
dockerfile_path="docker/mongodb-kubernetes-init-ops-manager/Dockerfile.atomic",
205196
build_configuration=build_configuration,
206197
build_args=args,
207198
)
@@ -227,7 +218,6 @@ def build_om_image(build_configuration: ImageBuildConfiguration):
227218
}
228219

229220
build_image(
230-
dockerfile_path="docker/mongodb-enterprise-ops-manager/Dockerfile.atomic",
231221
build_configuration=build_configuration,
232222
build_args=args,
233223
)
@@ -240,7 +230,6 @@ def build_init_appdb_image(build_configuration: ImageBuildConfiguration):
240230
args = {"version": build_configuration.version, "mongodb_tools_url_ubi": mongodb_tools_url_ubi}
241231

242232
build_image(
243-
dockerfile_path="docker/mongodb-kubernetes-init-appdb/Dockerfile.atomic",
244233
build_configuration=build_configuration,
245234
build_args=args,
246235
)
@@ -254,7 +243,6 @@ def build_init_database_image(build_configuration: ImageBuildConfiguration):
254243
args = {"version": build_configuration.version, "mongodb_tools_url_ubi": mongodb_tools_url_ubi}
255244

256245
build_image(
257-
"docker/mongodb-kubernetes-init-database/Dockerfile.atomic",
258246
build_configuration=build_configuration,
259247
build_args=args,
260248
)
@@ -266,7 +254,6 @@ def build_readiness_probe_image(build_configuration: ImageBuildConfiguration):
266254
"""
267255

268256
build_image(
269-
dockerfile_path="docker/mongodb-kubernetes-readinessprobe/Dockerfile.atomic",
270257
build_configuration=build_configuration,
271258
)
272259

@@ -277,7 +264,6 @@ def build_upgrade_hook_image(build_configuration: ImageBuildConfiguration):
277264
"""
278265

279266
build_image(
280-
dockerfile_path="docker/mongodb-kubernetes-upgrade-hook/Dockerfile.atomic",
281267
build_configuration=build_configuration,
282268
)
283269

@@ -423,7 +409,6 @@ def build_agent_pipeline(
423409
}
424410

425411
build_image(
426-
dockerfile_path="docker/mongodb-agent/Dockerfile.atomic",
427412
build_configuration=build_configuration_copy,
428413
build_args=args,
429414
)

0 commit comments

Comments
 (0)