// Module included in the following assemblies:
//
// * machine_management/cluster_api_machine_management/cluster-api-troubleshooting.adoc

:_mod-docs-content-type: REFERENCE
[id="ts-capi-migrate-sync-label-annotation_{context}"]
= Incomplete synchronization of labels and annotations

[role="_abstract"]
The label and annotation synchronization behavior differs between the Machine API and the Cluster API.
In some cases, these differences cause the two-way synchronization controller to overwrite labels on a Cluster API machine during migration.

Cause::

With the Machine API, changes to machine set labels and annotations do not propagate to existing machines and nodes.
These changes only apply to machines deployed after the update. 
+
With the Cluster API, changes to machine set labels and annotations propagate to existing machines and nodes.
When the authoritative API for a machine set changes from Machine API to Cluster API, the labels propagate to the Cluster API machines that the authoritative API manages.
The propagation happens before the Cluster API machine is marked as authoritative.

Consequence::

The two-way synchronization controller overwrites any propagated labels and annotations with the earlier value, leading to an inconsistency.
This outcome only occurs when removing a label or annotation.
Updates and additional labels or annotations do not cause this inconsistency.

Workaround::

There is no workaround for this issue.
For more information, see link:https://issues.redhat.com/browse/OCPBUGS-54333[OCPBUGS-54333].