diff --git a/shared/src/akri/instance.rs b/shared/src/akri/instance.rs index d08f62ed5..c22fb8089 100644 --- a/shared/src/akri/instance.rs +++ b/shared/src/akri/instance.rs @@ -296,9 +296,14 @@ pub async fn update_instance( ) -> Result<(), anyhow::Error> { log::trace!("update_instance enter"); let instances_client: Api = Api::namespaced(kube_client.clone(), namespace); - let instance_json = serde_json::json!(instance_to_update); - let patch = Patch::Strategic(&instance_json); - let instance_patch_params = PatchParams::default(); + let existing_instance = find_instance(name, namespace, kube_client).await?; + let modified_instance = KubeAkriInstance { + metadata: existing_instance.metadata, + spec: instance_to_update.clone(), + status: existing_instance.status, + types: existing_instance.types, + }; + let patch = Patch::Apply(&modified_instance); log::trace!("update_instance instances_client.patch(name, &instance_patch_params, instance_to_update).await?"); match instances_client .patch(name, &instance_patch_params, &patch)