[CI] Review jobs fail for long branch names

Summary

The review jobs deploys an instance of the GitLab Operator which is exposed using a subdomain for each service. These domains contain a serivce name, a hash and the branch name.

Long branch names (e.g. when created via the issue UI) are stripped to generate a valid domain name (max 63 chars per label). As we prefix the service name (registry/minio/gitlab/kas) to the label, labels get invalid for long branch names.

For example the review job for 927-webservice-deployment-ignores-configured-setting-for-service-account-value-forcing-default (!586 (merged)) generated the follwoing domain for the GitLab webservice:

gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win
Part Length Length Sum
Service part 6 6
Hyphen 1 7
Branch part 54 61
Hyphen 1 62
Hash part 8 70

Steps to reproduce

Use a long branch (e.g. generated via the Issue UI) name and trigger the review jobs.

Current behavior

The length of the service name (and its dividing hyphen) is not considered when the branch name is truncated.

Expected behavior

A valid DNS label is generated allowing the CI jobs to succeed.

Workaround: Use shorter branch names.

Relevant logs

From the incluster external-dns pod:

Invalid value for
'entity.change.additions[gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.][A].name': 'gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.'
More details:
Reason: invalid, Message: Invalid value for 'entity.change.additions[gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.][A].name': 'gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.'
Reason: invalid, Message: Invalid value for 'entity.change.additions[gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.][TXT].name': 'gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.'
Reason: invalid, Message: Invalid value for 'entity.change.additions[kas-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.][A].name': 'kas-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.'
Reason: invalid, Message: Invalid value for 'entity.change.additions[kas-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.][TXT].name': 'kas-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.'
Reason: invalid, Message: Invalid value for 'entity.change.additions[minio-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.][A].name': 'minio-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.'
Reason: invalid, Message: Invalid value for 'entity.change.additions[minio-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.][TXT].name': 'minio-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.'
Reason: invalid, Message: Invalid value for 'entity.change.additions[registry-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.][A].name': 'registry-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.'
Reason: invalid, Message: Invalid value for 'entity.change.additions[registry-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.][TXT].name': 'registry-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win.'"

Dig:

dig gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win
dig: 'gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win' is not a legal IDNA2008 name (domain label longer than 63 characters), use +noidnin

The CI Jobs fail with:

Verifying that GitLab is running
.................................Testing GitLab endpoint: https://gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win
Warning: Problem : timeout. Will retry in 10 seconds. 5 retries left.
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win
Warning: Problem : timeout. Will retry in 10 seconds. 4 retries left.
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win
Warning: Problem : timeout. Will retry in 10 seconds. 3 retries left.
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win
Warning: Problem : timeout. Will retry in 10 seconds. 2 retries left.
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win
Warning: Problem : timeout. Will retry in 10 seconds. 1 retries left.
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: gitlab-34919a3c-927-webservice-deployment-ignores-configured-setting-f.gitlab-operator.k8s-ft.win
task: [restore_kustomize_files] git checkout -q config/test/kustomization.yaml
!!!ERROR!!!
Edited by Clemens Beck