@@ -111,6 +111,9 @@ def handle_containerized_merge_request(
111111 reset_docker_config ()
112112 set_request_state (request_id , 'in_progress' , 'Preparing request for merge' )
113113
114+ if (overwrite_target_index or overwrite_target_index_token ) and not target_index :
115+ raise IIBError ("Parameter target_index must be set when overwrite_target_index is provided" )
116+
114117 # Prepare request
115118 with set_registry_token (overwrite_target_index_token , target_index , append = True ):
116119 prebuild_info = prepare_request_for_build (
@@ -129,6 +132,17 @@ def handle_containerized_merge_request(
129132 source_from_index_resolved = prebuild_info ['source_from_index_resolved' ]
130133 target_index_resolved = prebuild_info ['target_index_resolved' ]
131134
135+ # Decide what image will be used for function calls.
136+ # If target_index is not set, then source_from_index will be used
137+ # along with the correct ocp version
138+ main_index_image = target_index if target_index else source_from_index
139+ main_index_image_resolved = (
140+ target_index_resolved if target_index else source_from_index_resolved
141+ )
142+ main_ocp_version = (
143+ prebuild_info ['target_ocp_version' ] if target_index else prebuild_info ['source_ocp_version' ]
144+ )
145+
132146 # Set OPM version
133147 Opm .set_opm_version (target_index_resolved )
134148 opm_version = Opm .opm_version
@@ -144,14 +158,14 @@ def handle_containerized_merge_request(
144158
145159 with tempfile .TemporaryDirectory (prefix = f'iib-{ request_id } -' ) as temp_dir :
146160 # Setup and clone Git repository
147- branch = prebuild_info [ 'target_ocp_version' ]
161+ branch = main_ocp_version
148162 (
149163 index_git_repo ,
150164 local_git_repo_path ,
151165 localized_git_catalog_path ,
152166 ) = prepare_git_repository_for_build (
153167 request_id = request_id ,
154- from_index = source_from_index ,
168+ from_index = main_index_image ,
155169 temp_dir = temp_dir ,
156170 branch = branch ,
157171 index_to_gitlab_push_map = index_to_gitlab_push_map or {},
@@ -201,7 +215,7 @@ def handle_containerized_merge_request(
201215 source_index_bundles = source_index_bundles ,
202216 target_index_bundles = target_index_bundles ,
203217 source_from_index = source_from_index_resolved ,
204- ocp_version = prebuild_info [ 'target_ocp_version' ] ,
218+ ocp_version = main_ocp_version ,
205219 request_id = request_id ,
206220 target_index = target_index_resolved ,
207221 ignore_bundle_ocp_version = ignore_bundle_ocp_version ,
@@ -280,7 +294,7 @@ def handle_containerized_merge_request(
280294 write_build_metadata (
281295 local_git_repo_path ,
282296 opm_version ,
283- prebuild_info [ 'target_ocp_version' ] ,
297+ main_ocp_version ,
284298 prebuild_info ['distribution_scope' ],
285299 prebuild_info ['binary_image_resolved' ],
286300 request_id ,
@@ -327,10 +341,10 @@ def handle_containerized_merge_request(
327341 output_pull_spec = output_pull_spec ,
328342 request_id = request_id ,
329343 arches = prebuild_info ['arches' ],
330- from_index = source_from_index ,
344+ from_index = main_index_image ,
331345 overwrite_from_index = overwrite_target_index ,
332346 overwrite_from_index_token = overwrite_target_index_token ,
333- resolved_prebuild_from_index = source_from_index_resolved ,
347+ resolved_prebuild_from_index = main_index_image_resolved ,
334348 add_or_rm = False ,
335349 is_image_fbc = True ,
336350 # Passing an empty index_repo_map is intentional. In IIB 1.0, if
@@ -346,7 +360,7 @@ def handle_containerized_merge_request(
346360 # index.db file if the pipeline fails.
347361 original_index_db_digest = push_index_db_artifact (
348362 request_id = request_id ,
349- from_index = source_from_index ,
363+ from_index = main_index_image ,
350364 index_db_path = source_index_db_path ,
351365 operators = operators_in_db ,
352366 overwrite_from_index = overwrite_target_index ,
@@ -370,7 +384,7 @@ def handle_containerized_merge_request(
370384 index_git_repo = index_git_repo ,
371385 overwrite_from_index = overwrite_target_index ,
372386 request_id = request_id ,
373- from_index = source_from_index ,
387+ from_index = main_index_image ,
374388 index_repo_map = {},
375389 original_index_db_digest = original_index_db_digest ,
376390 reason = f"error: { e } " ,
0 commit comments