Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migrated shoot differs from the original one #342

Open
7 of 15 tasks
Tracked by #112
akgalwas opened this issue Aug 14, 2024 · 0 comments
Open
7 of 15 tasks
Tracked by #112

Migrated shoot differs from the original one #342

akgalwas opened this issue Aug 14, 2024 · 0 comments
Assignees

Comments

@akgalwas
Copy link
Contributor

akgalwas commented Aug 14, 2024

Description

I performed the following steps:

  1. Created a cluster with BTP
  2. Used migrator tool to create Runtime CR from the shoot
  3. Modified the CR to change shoot name
  4. Applied the Runtime CR created by the migrator tool
  5. Compared shoots with Shoot Comparator

The bunch of issues was found.

Expected result

Migrator must be able to create Runtime CR. KIM must be able to produce the shoot.

Actual result

The following problems were identified:

  • Migrator fails to find Gardener Cluster CR, and the Runtime CR is not created
  • Migrator doesn't add kyma-project.io/controlled-by-provisioner so KIM will handle resulting Runtime CR in dry run mode
  • Migrator doesn't set spec.shoot.networking.type field
  • Migrated shoot has different zone for GCP that the original one. It is caused by the fact the order of the zones is different in compared shoots. Its probably a defect in the implementation as there is sorting in the place so we shouldn't observe such behaviour.
  • Migrator takes fields from shoot fetched from Gardener. It contains some fields (SystemComponents, Machine.Architecture, Worker.CRI, EnableStaticTokenKubeconfig) that are not set in converter but have correct values. During comparison those fields will be detected as differences.
  • Migrator sets Kubernetes value taken from Gardener. It contains patch version, whereas in the config we have version without patch version (e.g. 1.29).
  • Comparator detects differences on Extension list if the extensions in compared shoots have different order
  • Comparator detects differences on provider. ControlPlaneConfig for AWS as the order of zones differ
  • Comparator detects difference in the spec.shoot.controlPlane field on the shoot
  • Comparator detects difference on kind and apiVersion fields

Acceptance criteria

  • Migrator creates Runtime CR that doesn't differ from original
    • Issue with finding Gardener Cluster fixed
    • Migrator sets spec.shoot.networking.type field on Runtime CR
    • Migrator sets kyma-project.io/controlled-by-provisioner label on Runtime CR
    • Migrator doesn't set spec.shoot.controlPlane on Runtime CR if spec.controlPlane == nil in the input shoot
      • Migrator changes
      • Charts changes to modify CRD
    • Migrator skips setting the following fields:Machine.Architecture, Worker.CRI, EnableStaticTokenKubeconfig.
  • Comparator skips unimportant differences:
    • Extensions list is sorted before comparison
    • TypeMeta is not taken to comparison
    • provider. ControlPlaneConfig zones list is sorted before comparison
  • The following topics investigated:
    • Migrated shoot has different zone that the original one. It is caused by the fact the order of the zones is different in compared shoots. Its probably a defect in the implementation as there is sorting in the place so we shouldn't observe such behaviour.
    • Migrator sets Kubernetes value taken from Gardener. It contains patch version, whereas in the config we have version without patch version (e.g. 1.29). It generates difference. The question is whether we should adjust comparison.
@akgalwas akgalwas changed the title Migrated shoot for GCP differs from the original one Migrated shoot differs from the original one Sep 11, 2024
@akgalwas akgalwas assigned m00g3n and unassigned akgalwas Sep 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants