Add workspace id label to all workspace resources unconditionally
MR: Pending
Description
All workspace components must have labels that are static across all workspaces in a cluster. This will enable Kubernetes cluster admins to manage workspaces better and also help team to run diagnostics on components with specific pairs of labels.
We have conditionally added a label(workspaces.gitlab.com/id) as part of Update workspaces config to apply when shared_n... (!189441 - merged) since we needed it to wrap up Allow remote development to create workspaces f... (&12327 - closed) . The reason we added it conditionally is because not doing so would mean we have to manage two versions of devfile_parser and desired_config_generator and also manage a DB migration to migrate the old config to the new one. This would complicate things as we work on Simplify freezing of Kubernetes resources for w... (&17483) .
So this issue pertain to adding this label unconditionally once we wrap up Simplify freezing of Kubernetes resources for w... (&17483) .
Acceptance criteria
-
Unconditionally add the label workspaces.gitlab.com/idto the workspace resources -
Make relevant changes in the spec and clean it up
Implementation plan
- Update
ee/lib/remote_development/workspace_operations/reconcile/output/config_values_extractor.rbto unconditionally add the labelworkspaces.gitlab.com/idin all workspace resources. - Update
ee/lib/remote_development/workspace_operations/reconcile/output/desired_config_generator.rbto remove the condition checking the existence of the labelworkspaces.gitlab.com/idin the function generating the network policy. - Update
ee/spec/lib/remote_development/workspace_operations/reconcile/output/config_values_extractor_spec.rbto remove thedescribe "devfile_parser_params[:labels]"block since we always add this label now. - Update
ee/spec/lib/remote_development/workspace_operations/reconcile/output/desired_config_generator_spec.rbto remove the check for pod selector labels in thecontext 'when shared_namespace is not empty'block. - Update
ee/spec/support/shared_contexts/remote_development/remote_development_shared_contexts.rbaccordingly.