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

Ensure apparmor is installed (Ubuntu) #8036

Merged

Conversation

rtsp
Copy link
Member

@rtsp rtsp commented Sep 29, 2021

What type of PR is this?

Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:

/kind api-change
/kind bug
/kind cleanup
/kind design
/kind documentation
/kind failing-test
/kind feature
/kind flake

What this PR does / why we need it:

Exactly same as #8011 but for Ubuntu (#7965 (comment))

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

I don't have Ubuntu to test this PR but it should work fine for both 18.04 (apparmor 2.12) and 20.04 (apparmor 2.13).

Does this PR introduce a user-facing change?:

Ensure apparmor is installed on Ubuntu

Kubespray deployment failed when using containerd backend on nodes that apparmor was not installed or previously removed. This PR ensure apparmor is installed by adding it into required_pkgs var.
@k8s-ci-robot k8s-ci-robot added the kind/bug Categorizes issue or PR as related to a bug. label Sep 29, 2021
@k8s-ci-robot
Copy link
Contributor

Hi @rtsp. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Sep 29, 2021
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files. labels Sep 29, 2021
@oomichi
Copy link
Contributor

oomichi commented Sep 29, 2021

When I saw another pull request for Debian, I guessed apparmor can be optional on Debian and it is fine to check the installation.
For Ubuntu, apparmor is always installed on my machines.
Is there any installation option without apparmor on Ubuntu?

@fungusakafungus
Copy link
Contributor

When I saw another pull request for Debian, I guessed apparmor can be optional on Debian and it is fine to check the installation. For Ubuntu, apparmor is always installed on my machines. Is there any installation option without apparmor on Ubuntu?

What do you mean with "an option"? Package docker-ce recommends apparmor on ubuntu, packages containerd.io or kubelet don't mention it, it has Task: standard, ubuntu-core, some packages depend on it, but other that that, it is optional, we ran kubernetes perfectly well without apparmor package until version 1.21.

@rtsp
Copy link
Member Author

rtsp commented Sep 29, 2021

When I saw another pull request for Debian, I guessed apparmor can be optional on Debian and it is fine to check the installation. For Ubuntu, apparmor is always installed on my machines. Is there any installation option without apparmor on Ubuntu?

apparmor is not actually required for Debian/Ubuntu. It's just preinstalled on normal CD or Cloud VM images.

There're some edge cases that apparmor may be missing from Debian (and also Ubuntu) such as

So, If the apparmor is required by kubespray because both docker and containerd need it. I think it's no downside for explicitly specify it in required_pkgs var to ensure its existance.

@oomichi
Copy link
Contributor

oomichi commented Sep 29, 2021

When I saw another pull request for Debian, I guessed apparmor can be optional on Debian and it is fine to check the installation. For Ubuntu, apparmor is always installed on my machines. Is there any installation option without apparmor on Ubuntu?

apparmor is not actually required for Debian/Ubuntu. It's just preinstalled on normal CD or Cloud VM images.

There're some edge cases that apparmor may be missing from Debian (and also Ubuntu) such as

* Using minimal VM image from some local cloud provider
  
  * This is the reason why I tried to fix [Fix containerd failed to start if apparmor is not installed #8011](https://github.com/kubernetes-sigs/kubespray/pull/8011)

* Building your own VM image with `debootstrap` (base system only)

* Previously removed by user

So, If the apparmor is required by kubespray because both docker and containerd need it. I think it's no downside for explicitly specify it in required_pkgs var to ensure its existance.

I see.
Thanks for your explanation.
It is fine to add apparmor for such corner cases.

/ok-to-test
/lgtm

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Sep 29, 2021
@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Sep 29, 2021
@floryut floryut added kind/feature Categorizes issue or PR as related to a new feature. and removed kind/bug Categorizes issue or PR as related to a bug. labels Sep 30, 2021
Copy link
Member

@floryut floryut left a comment

Choose a reason for hiding this comment

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

Thanks @rtsp

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: floryut, rtsp

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 Sep 30, 2021
@k8s-ci-robot k8s-ci-robot merged commit af04906 into kubernetes-sigs:master Sep 30, 2021
rtsp added a commit to rtsp/kubespray that referenced this pull request Oct 1, 2021
sathieu pushed a commit to sathieu/kubespray that referenced this pull request Oct 1, 2021
Kubespray deployment failed when using containerd backend on nodes that apparmor was not installed or previously removed. This PR ensure apparmor is installed by adding it into required_pkgs var.

(cherry picked from commit af04906)
k8s-ci-robot pushed a commit that referenced this pull request Oct 1, 2021
…8042)

* Ensure apparmor is installed (#8011)

Kubespray deployment failed when using containerd backend on nodes that apparmor was not installed or previously removed. This PR ensure apparmor is installed by adding it into required_pkgs var.

(cherry picked from commit 4bace24)

* Ensure apparmor is installed (#8036)

Kubespray deployment failed when using containerd backend on nodes that apparmor was not installed or previously removed. This PR ensure apparmor is installed by adding it into required_pkgs var.

(cherry picked from commit af04906)

Co-authored-by: rtsp <git@rtsp.us>
LuckySB pushed a commit to southbridgeio/kubespray that referenced this pull request Oct 23, 2021
Kubespray deployment failed when using containerd backend on nodes that apparmor was not installed or previously removed. This PR ensure apparmor is installed by adding it into required_pkgs var.
@floryut floryut mentioned this pull request Dec 21, 2021
otani88 pushed a commit to velas/kubespray that referenced this pull request Mar 5, 2022
…ubernetes-sigs#8042)

* Ensure apparmor is installed (kubernetes-sigs#8011)

Kubespray deployment failed when using containerd backend on nodes that apparmor was not installed or previously removed. This PR ensure apparmor is installed by adding it into required_pkgs var.

(cherry picked from commit 4bace24)

* Ensure apparmor is installed (kubernetes-sigs#8036)

Kubespray deployment failed when using containerd backend on nodes that apparmor was not installed or previously removed. This PR ensure apparmor is installed by adding it into required_pkgs var.

(cherry picked from commit af04906)

Co-authored-by: rtsp <git@rtsp.us>
@rtsp rtsp deleted the develop/install-apparmor-ubuntu branch April 12, 2022 13:33
sakuraiyuta pushed a commit to sakuraiyuta/kubespray that referenced this pull request Apr 16, 2022
Kubespray deployment failed when using containerd backend on nodes that apparmor was not installed or previously removed. This PR ensure apparmor is installed by adding it into required_pkgs var.
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. 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. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/XS Denotes a PR that changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants