Skip to content

Incompatible Machine Tags and Node Labels between metal-api and metal-ccmΒ #619

@vknabel

Description

@vknabel

Originally addressed in metal-stack/metal-ccm#114

Currently it is possible to create machines with tags that contradict the rules of Kubernetes labels. At first glance this is fine, but it will ultimately conflict with the current behavior of the metal-ccm.

The metal-ccm tries to update the k8s node resource labels. This patch will not pass the validation and will ultimately fail. Altering the format of the machine tags to restore compatibility with kubernetes labels will just lead into confusion.

Instead there would be two general approaches to this:

  1. The metal-ccm should itself validate the tags before trying to set them as label. This would lead to log messages and missing labels. This will not break anything.
  2. The metal-api(server) should introduce a validation and forbid machine tags that could not be transformed into kubernetes labels. Might break data. A research and eventually a data migration would be required. In practice this should not be the case or would break the metal-ccm anyways.

In off-GitHub discussions we loosely favored the second approach, but are cautious in this regard.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: control-planeAffects the metal-stack control-plane area.

    Type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions