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

Adds Windows support for etcd image #92433

Merged
merged 1 commit into from Oct 18, 2021

Conversation

claudiubelu
Copy link
Contributor

@claudiubelu claudiubelu commented Jun 23, 2020

What type of PR is this?

/kind feature

/sig windows

What this PR does / why we need it:

We can use docker buildx in order to build and push Windows images from the same Linux node, as long as the Dockerfile does not have any RUN commands in the Windows step.

We also need to create a non-default builder instance in order to be able to build and push Windows images.

The Windows images have to be built and pushed directly to the registry.

For Windows containers without Hyper-V isolation, the host OS Version and the Container OS Version need to match, which is why we added multiple Windows OS Versions to the building process.

Adds support for Windows OS Versions: 1809, 2004, 20H2, 2022.

Bumped etcd image revision to 2.

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

The etcd container image now supports Windows.

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:


@k8s-ci-robot k8s-ci-robot added do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-kind Indicates a PR lacks a `kind/foo` label and requires one. needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. area/release-eng Issues or PRs related to the Release Engineering subproject sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Jun 23, 2020
@jpbetz
Copy link
Contributor

jpbetz commented Jun 23, 2020

The k8s control plane does not run on windows, does it? What's the purpose of this?

@fedebongio
Copy link
Contributor

/assign @yliaog

@yliaog
Copy link
Contributor

yliaog commented Jun 23, 2020

i think it is for e2e tests

@claudiubelu claudiubelu changed the title WIP: Adds Windows support for etcd image Adds Windows support for etcd image Jul 20, 2020
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 20, 2020
@claudiubelu
Copy link
Contributor Author

i think it is for e2e tests

Yes, pretty much. There are some tests that require the etcd image. The test [sig-api-machinery] Aggregator Should be able to support the 1.17 Sample API Server using the current Aggregator [Conformance] comes to mind, especially since it's a Conformance test.

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 26, 2020
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jul 27, 2020
@yliaog
Copy link
Contributor

yliaog commented Jul 27, 2020

/lgtm

@yliaog
Copy link
Contributor

yliaog commented Jul 27, 2020

/retest

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jul 27, 2020
@yliaog
Copy link
Contributor

yliaog commented Jul 27, 2020

/assign @jpbetz

@marosset marosset moved this from InProgress (v1.22) to In Progress (v1.23) in SIG-Windows Jul 29, 2021
@marosset marosset moved this from In Progress (v1.23) to In Review (v1.23) in SIG-Windows Jul 29, 2021
@marosset
Copy link
Contributor

/milestone v1.23
/assign @jpbetz

It looks like this PR has been ready to merge since v1.21 timeframe.
Are there any outstanding issues with this PR that need to be addressed?

@k8s-ci-robot k8s-ci-robot added this to the v1.23 milestone Jul 29, 2021
@marosset marosset moved this from In Review (v1.23) to Reviewed - Needs Approval From Other SIGs in SIG-Windows Jul 29, 2021
@jpbetz
Copy link
Contributor

jpbetz commented Jul 29, 2021

/milestone v1.23
/assign Joe Betz

It looks like this PR has been ready to merge since v1.21 timeframe.
Are there any outstanding issues with this PR that need to be addressed?

I never got an answer to my original question: "The k8s control plane does not run on windows, does it? What's the purpose of this?" #92433 (comment)

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 11, 2021
@k8s-ci-robot k8s-ci-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Aug 19, 2021
@jyotimahapatra
Copy link
Contributor

Hi 👋 I'm the bug triage shadow. I wanted to check in and see if this is targeted for 1.23 milestone.

Attempting to nudge the conversation forward, @claudiubelu I wanted to bring attention to a question asked earlier in the thread #92433 (comment) .

@marosset
Copy link
Contributor

/milestone v1.23
/assign Joe Betz
It looks like this PR has been ready to merge since v1.21 timeframe.
Are there any outstanding issues with this PR that need to be addressed?

I never got an answer to my original question: "The k8s control plane does not run on windows, does it? What's the purpose of this?" #92433 (comment)

This is used in one of the e2e conformance tests.
Kubernetes e2e suite.[sig-api-machinery] Aggregator Should be able to support the 1.17 Sample API Server using the current Aggregator [Conformance]
We need a Windows flavor of this image in order to run this test on Windows nodes.

@marosset
Copy link
Contributor

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Sep 24, 2021
@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Sep 24, 2021
We can use docker buildx in order to build and push Windows images from the same Linux node,
as long as the Dockerfile does not have any RUN commands in the Windows step.

We also need to create a non-default builder instance in order to be able to build and
push Windows images.

The Windows images have to be built and pushed directly to the registry.

For Windows containers without Hyper-V isolation, the host OS Version and the
Container OS Version need to match, which is why we added multiple Windows OS Versions
to the building process.

For the manifest list, we need to also annotate the Windows OS Version, so the Windows nodes
will be able to pull the proper image from the manifest list.

Adds support for Windows OS Versions: 1809, 2004, 20H2, ltsc2022.

Bumped etcd image revision.
@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Sep 24, 2021
@marosset
Copy link
Contributor

@jpbetz can you take another look at this?
I've answered your question above.
Thanks!

@jpbetz
Copy link
Contributor

jpbetz commented Oct 18, 2021

Ah, it's for the aggregator. That makes sense. Thanks for explaining.

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Oct 18, 2021
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: claudiubelu, jpbetz

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Oct 18, 2021
@k8s-ci-robot k8s-ci-robot merged commit 819b021 into kubernetes:master Oct 18, 2021
SIG-Windows automation moved this from Reviewed - Needs Approval From Other SIGs to Done (v1.23) Oct 18, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/release-eng Issues or PRs related to the Release Engineering subproject cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/windows Categorizes an issue or PR as relevant to SIG Windows. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
SIG-Windows
  
Done (v1.23)
Development

Successfully merging this pull request may close these issues.

None yet