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

Adding cloud-provider-kubevirt as a new package to SPECS #12587

Open
wants to merge 35 commits into
base: 3.0-dev
Choose a base branch
from

Conversation

sharath-srikanth-chellappa
Copy link
Contributor

@sharath-srikanth-chellappa sharath-srikanth-chellappa commented Feb 24, 2025

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

  • The toolchain has been rebuilt successfully (or no changes were made to it)
  • The toolchain/worker package manifests are up-to-date
  • Any updated packages successfully build (or no packages were changed)
  • Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • All package sources are available
  • cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
  • All source files have up-to-date hashes in the *.signatures.json files
  • sudo make go-tidy-all and sudo make go-test-coverage pass
  • Documentation has been updated to match any changes to the build system
  • Ready to merge

Summary

What does the PR accomplish, why was it needed?

Azure Local (Nexus) requires the functionality of creating a Kubernetes cluster inside a Kubevirt VM to run the workload cluster and managing this VM from the undercloud. In order to do this, they use a component called the cloud-provider-kubevirt (https://github.com/kubevirt/cloud-provider-kubevirt).

The KubeVirt cloud-provider allows a Kubernetes cluster running in KubeVirt VMs (tenant cluster) to interact with KubeVirt and Kubernetes (infrastructure cluster) to provision, manage and clean up resources.

We have been maintaining a local fork of this upstream repository on ADO (https://dev.azure.com/mariner-org/ECF/_git/cloud-provider-kubevirt) and this thread is to get the approvals to maintain this upstream repository as an RPM package and move away from maintaining a fork of the changes.

Justification to merge this package

  1. Maintaining the code as part of AzL as opposed to having a local fork on ADO.
  2. Regular security fixes through fasttrack branches.
  3. Ability to publish golden container images to MCR as opposed to using marinerhciprod/marinerhcistaging.
Change Log
  • Adding new SPEC file and signatures file for cloud-provider-kubevirt
  • Adding Dockerfiles for building container images.
Does this affect the toolchain?

YES/NO

Associated issues
  • #xxxx
Links to CVEs
Test Methodology

Validating the container image:

  1. Successfully running buddy build pipeline for the new package (cloud-provider-kubevirt) - Pipelines - Run sharathsr+3.0+cloud-provider-kubevirt-new-package-2+cloud-provider-kubevirt+unknown
  2. Successfully building new golden container images for the new package (cloud-provider-kubevirt) - Pipelines - Run 3.0.20250219-sharathsr-740307
  3. Successfully running CAPKV tests on the LISA platform with the new cloud-provider-kubevirt container image being used as part of the tests - https://dev.azure.com/mariner-org/ECF/_build/results?buildId=744345&view=results
  4. Successfully running bash based CAPKV tests with the new cloud-provider-kubevirt container image being used as part of the tests - https://dev.azure.com/mariner-org/ECF/_build/results?buildId=741510&view=results

Trivy Scan Results for the new container image

_acrafoimages.azurecr.io/base/cloud-provider-kubevirt:0.5.1-1-azl3.0.20250219-amd64 (azurelinux 3.0)

Total: 0 (UNKNOWN: 0, LOW: 0, MEDIUM: 0, HIGH: 0, CRITICAL: 0)_

@microsoft-github-policy-service microsoft-github-policy-service bot added Packaging 3.0-dev PRs Destined for AzureLinux 3.0 labels Feb 24, 2025
Copy link
Member

@JocelynBerrendonner JocelynBerrendonner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved, but please also take a look at the comment/question I left.

@sharath-srikanth-chellappa sharath-srikanth-chellappa marked this pull request as ready for review February 26, 2025 00:29
@sharath-srikanth-chellappa sharath-srikanth-chellappa requested a review from a team as a code owner February 26, 2025 00:29
@sharath-srikanth-chellappa sharath-srikanth-chellappa added the stable-release-shiproom PRs for consideration for stable shiproom label Feb 26, 2025
@sharath-srikanth-chellappa
Copy link
Contributor Author

@sharath-srikanth-chellappa sharath-srikanth-chellappa force-pushed the sharathsr/3.0/cloud-provider-kubevirt-new-package-2 branch from 154715c to a5fb905 Compare March 4, 2025 21:48
Patch0: Initialization-and-Configuration-handling.patch
Patch1: Single-IP-Address-for-Node.patch
Patch2: Golang-Version-Upgrade.patch
%global debug_package %{nil}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why no debug package?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was following -
https://github.com/microsoft/azurelinux/blob/3.0/SPECS/kubevirt/kubevirt.spec#L42

I am not sure what value needs to be given here.

@sharath-srikanth-chellappa
Copy link
Contributor Author

@sharath-srikanth-chellappa sharath-srikanth-chellappa force-pushed the sharathsr/3.0/cloud-provider-kubevirt-new-package-2 branch from b787922 to 58f8a49 Compare March 27, 2025 18:49
@sharath-srikanth-chellappa
Copy link
Contributor Author

Rebased on top of latest 3.0-dev (as of 3/27)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.0-dev PRs Destined for AzureLinux 3.0 Packaging stable-release-shiproom PRs for consideration for stable shiproom
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants