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

Remove docker entirely #3008

Merged
merged 8 commits into from
Jan 22, 2024
Merged

Remove docker entirely #3008

merged 8 commits into from
Jan 22, 2024

Conversation

kron4eg
Copy link
Member

@kron4eg kron4eg commented Jan 12, 2024

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #2595

What type of PR is this?
/kind cleanup

Special notes for your reviewer:

Does this PR introduce a user-facing change? Then add your Release Note here:

* Support for docker is removed
  * containerRuntime.docker became a no-op.

Documentation:

NONE

@kubermatic-bot kubermatic-bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jan 12, 2024
@kubermatic-bot
Copy link
Contributor

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@kubermatic-bot kubermatic-bot added dco-signoff: yes Denotes that all commits in the pull request have the valid DCO signoff message. do-not-merge/docs-needed Indicates that a PR should not merge because it's missing one of the documentation labels. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. do-not-merge/needs-kind Indicates a PR lacks a `kind/foo` label and requires one. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. release-note Denotes a PR that will be considered when it comes time to generate release notes. docs/none Denotes a PR that doesn't need documentation (changes). and removed do-not-merge/docs-needed Indicates that a PR should not merge because it's missing one of the documentation labels. do-not-merge/release-note-label-needed Indicates that a PR should not merge because it's missing one of the release note labels. labels Jan 12, 2024
Signed-off-by: Artiom Diomin <artiom@kubermatic.com>
@kron4eg
Copy link
Member Author

kron4eg commented Jan 15, 2024

/test pull-kubeone-e2e-aws-default-install-containerd-external-v1.28.3

@kron4eg
Copy link
Member Author

kron4eg commented Jan 15, 2024

/test pull-kubeone-e2e-aws-default-install-containerd-v1.25.15

Signed-off-by: Artiom Diomin <artiom@kubermatic.com>
@kron4eg
Copy link
Member Author

kron4eg commented Jan 17, 2024

/test pull-kubeone-e2e-aws-default-install-containerd-external-v1.28.3
/test pull-kubeone-e2e-aws-default-install-containerd-v1.25.15

@kron4eg kron4eg marked this pull request as ready for review January 17, 2024 16:40
@kubermatic-bot kubermatic-bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jan 17, 2024
@kron4eg kron4eg requested a review from xmudrii January 17, 2024 16:40
@kron4eg kron4eg added the kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. label Jan 17, 2024
@kubermatic-bot kubermatic-bot removed the do-not-merge/needs-kind Indicates a PR lacks a `kind/foo` label and requires one. label Jan 17, 2024
Signed-off-by: Artiom Diomin <artiom@kubermatic.com>
@@ -75,83 +75,6 @@ func TestFeatureGatesString(t *testing.T) {
}
}

func TestContainerRuntimeConfig_MachineControllerFlags(t *testing.T) {
Copy link
Member

Choose a reason for hiding this comment

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

This is also testing containerd, why are we removing this test?

Copy link
Member Author

Choose a reason for hiding this comment

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

"Collateral damage". Probably I got too excited to remove docker and took some extra 🤷

Reverted back to original.

Comment on lines 348 to 364
func ValidateContainerRuntimeConfig(cr kubeoneapi.ContainerRuntimeConfig, versions kubeoneapi.VersionConfig, fldPath *field.Path) field.ErrorList {
allErrs := field.ErrorList{}

allCRs := []interface{}{
cr.Docker,
cr.Containerd,
}

var found bool
for _, x := range allCRs {
if !reflect.ValueOf(x).IsNil() {
if found {
allErrs = append(allErrs, field.Invalid(fldPath, x, "only 1 container runtime can be activated"))
}
found = true
}
}
Copy link
Member

Choose a reason for hiding this comment

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

I'm wondering if leaving such a function might be useful if we decide to add support for another CRI (e.g. CRI-O)

Copy link
Member Author

Choose a reason for hiding this comment

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

I've returned it back, but it looks so weird with only 1 runtime :D

@@ -282,7 +281,7 @@ func (h *Host) Initialized() bool {

// IsProvisioned checks are CRI and Kubelet provisioned on a host
func (h *Host) IsProvisioned() bool {
return (h.ContainerRuntimeDocker.IsProvisioned() || h.ContainerRuntimeContainerd.IsProvisioned()) && h.Kubelet.IsProvisioned()
return (h.ContainerRuntimeContainerd.IsProvisioned()) && h.Kubelet.IsProvisioned()
Copy link
Member

Choose a reason for hiding this comment

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

Very tiny nit:

Suggested change
return (h.ContainerRuntimeContainerd.IsProvisioned()) && h.Kubelet.IsProvisioned()
return h.ContainerRuntimeContainerd.IsProvisioned() && h.Kubelet.IsProvisioned()

Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed 👍

Signed-off-by: Artiom Diomin <artiom@kubermatic.com>
Signed-off-by: Artiom Diomin <artiom@kubermatic.com>
Copy link
Member

@xmudrii xmudrii left a comment

Choose a reason for hiding this comment

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

/lgtm
/approve

@kubermatic-bot kubermatic-bot added the lgtm Indicates that a PR is ready to be merged. label Jan 22, 2024
@kubermatic-bot
Copy link
Contributor

LGTM label has been added.

Git tree hash: e32e7ed4b70f22e17875d5d8a45b3f8d36a9cdd1

@kubermatic-bot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: xmudrii

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

@kubermatic-bot kubermatic-bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 22, 2024
@xmudrii
Copy link
Member

xmudrii commented Jan 22, 2024

/retest

1 similar comment
@xmudrii
Copy link
Member

xmudrii commented Jan 22, 2024

/retest

@kubermatic-bot kubermatic-bot merged commit dcdbbec into kubermatic:main Jan 22, 2024
15 checks passed
@kubermatic-bot kubermatic-bot added this to the KubeOne 1.8 milestone Jan 22, 2024
@kron4eg kron4eg deleted the rm_docker branch January 22, 2024 11:12
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. dco-signoff: yes Denotes that all commits in the pull request have the valid DCO signoff message. docs/none Denotes a PR that doesn't need documentation (changes). kind/cleanup Categorizes issue or PR as related to cleaning up code, process, or technical debt. lgtm Indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove support for Kubernetes 1.23 and Docker
3 participants