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

[CPDEV-96929] Support of granular 3rd party updates per specific Kubernetes version #585

Merged
merged 1 commit into from
Jan 17, 2024

Conversation

ilia1243
Copy link
Contributor

@ilia1243 ilia1243 commented Jan 11, 2024

Description

  • Support of granular 3rd party updates per specific Kubernetes version not touching the compatibility map of higher Kubernetes versions.
  • Prohibit upgrade to not the latest supported patch version to avoid accidental downgrade of plugins or thirdparties.

Solution

  • Added validation of upgrade_plan to allow upgrade only to the latest patch versions (either intermediate or target).
  • Changed validation in scripts/thirdparties/sync.py to check that plugins are not downgraded only if upgrade is possible.

Breaking changes

Upgrade to intermediate patch versions is no longer allowed.

Test Cases

TestCase 1

Granular upgrade of 3rd-parties.

Steps:

  1. Embed new Kubernetes patch versions, and upgrade compatible plugins only for new Kubernetes versions.
  2. Run scripts/thirdparties/sync.py

Results:

Before After
Plugins should have non-decreasing versions error is raised Synchronization is performed successfully

TestCase 2

Prohibit upgrade to intermediate patch version.

Steps:

  1. Try upgrading Kubernetes from v1.27.8 to v1.28.0

Results:

Before After
Upgrade is successful New version "v1.28.0" is not the latest supported patch version "v1.28.4" error is raised

Checklist

  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • Integration CI passed
  • Unit tests. If Yes list of new/changed tests with brief description
  • There is no merge conflicts

Unit tests

test_sync.py, test_upgrade_py - added tests to cover new functionality.

Prohibit upgrade to not the latest supported patch version.
@koryaga koryaga merged commit 77e2fa7 into main Jan 17, 2024
36 checks passed
@koryaga koryaga deleted the feature/support_k8s_dependencies_upgrade_latest_patch branch January 17, 2024 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants