-
Story
-
Resolution: Won't Do
-
Major
-
None
-
None
-
3
-
False
-
False
-
Labels that are added by the OSSM operator to resources are used to mark those resources as operator managed. This means that during upgrades or other changes, the operator will make label wide changes (e.g. delete the resources). If users use these same labels for their own resources (e.g. by copy and pasting the same resources YAML, and not removing the operator labels), they may get an unhappy surprise when the operator attempts to prune its resources - ie that their resources have also been pruned/deleted.
To avoid this, we should document:
- What resources the operator creates
- What labels are used to mark these resources
- A warning not to (re)use these labels for user created resources, as doing so may result in them being deleted by the operator.
This should likely be in the installation instructions, and referenced in a reminder in our upgrade instructions.
Relevant email chain "Service Mesh 2.0->2.1 upgrade prunes resources in member namespaces (case 03079913) - Nob 18":
Marko:
Yes, we should document the fact that all maistra.io/ labels are reserved and should not be added to resources that users create manually. Any time an operator-managed resource is used as a template for another resource, all the labels (and annotations) should be removed.
Rob:
I think the short answer is that we need to document which labels are used internally by the operator, so users know which labels to avoid. There is no way we can support users copying resources managed by the operator into other namespaces without the user modifying the label set on the resources. Given that, I think the change proposed by Marko might help, but in the end the customer is going to have to remove certain labels from their resources.