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

cherry-pick: Add configuration option for NRI in crio & containerd #10496

Merged
merged 2 commits into from
Oct 6, 2023

Conversation

fmuyassarov
Copy link
Member

Cherry pick of #10454 and #10470

What type of PR is this?
/kind feature

What this PR does / why we need it:

Node Resource Interface (NRI) is a common framework for plugging domain or vendor-specific custom logic into container runtime like containerd/cri-o. Here we are introducing the configuration flags (nri_enabled) to provide cluster administrators the flexibility to opt in or out (defaulted to disabled in both runtimes in line with their default configurations) of this feature.

NRI initial supported version references in runtimes:

Which issue(s) this PR fixes:

Fixes #

Does this PR introduce a user-facing change?:

Add configuration option for NRI (disable by default) in crio & containerd (using new `nri_enabled`)

fmuyassarov and others added 2 commits October 4, 2023 13:07
…s#10454)

* [containerd] Add Configuration option for Node Resource Interface

Node Resource Interface (NRI) is a common is a common framework for
plugging domain or vendor-specific custom logic into container
runtime like containerd. With this commit, we introduce the
containerd_disable_nri configuration flag, providing cluster
administrators the flexibility to opt in or out (defaulted to 'out')
of this feature in containerd. In line with containerd's default
configuration, NRI is disabled by default in this containerd role
defaults.

Signed-off-by: Feruzjon Muyassarov <feruzjon.muyassarov@intel.com>

* [cri-o] Add configuration option for Node Resource Interface

Node Resource Interface (NRI) is a common is a common framework for
plugging domain or vendor-specific custom logic into container
runtimes like containerd/crio. With this commit, we introduce the
crio_enable_nri configuration flag, providing cluster
administrators the flexibility to opt in or out (defaulted to 'out')
of this feature in cri-o runtime. In line with crio's default
configuration, NRI is disabled by default in this cri-o role
defaults.

Signed-off-by: Feruzjon Muyassarov <feruzjon.muyassarov@intel.com>

---------

Signed-off-by: Feruzjon Muyassarov <feruzjon.muyassarov@intel.com>
(cherry picked from commit f964b34)
Refactor NRI (Node Resource Interface) activation in CRI-O and
containerd. Introduce a shared variable, nri_enabled, to streamline
the process. Currently, enabling NRI requires a separate update of
defaults for each container runtime independently, without any
verification of NRI support for the specific version of containerd
or CRI-O in use.

With this commit, the previous approach is replaced. Now, a single
variable, nri_enabled, handles this functionality. Also, this commit
separates the responsibility of verifying NRI supported versions of
containerd and CRI-O from cluster administrators, and leaves it to
Ansible.

Signed-off-by: Feruzjon Muyassarov <feruzjon.muyassarov@intel.com>
(cherry picked from commit 1fd31cc)
@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Oct 4, 2023
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: fmuyassarov
Once this PR has been reviewed and has the lgtm label, please assign mirwan for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found 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 size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Oct 4, 2023
@fmuyassarov
Copy link
Member Author

Hi @floryut @yankay.
It would be nice to have NRI support backported and have this option eventually available in the next patch release. I must admit that I was not sure about backporting procedure in kubespray and such if there is something needs to be done before backporting please let me know. Thanks in advance for reviews.

@fmuyassarov
Copy link
Member Author

I'm failing to understand by looking at the pipeline image job run logs what's the cause of the failure. It seems there is not much to grap from there.

@floryut
Copy link
Member

floryut commented Oct 6, 2023

I'm failing to understand by looking at the pipeline image job run logs what's the cause of the failure. It seems there is not much to grap from there.

I'll force merge this, older branches could require a lot of commits to have their CI up to date

@floryut floryut merged commit b9fc4ec into kubernetes-sigs:release-2.23 Oct 6, 2023
2 of 6 checks passed
@fmuyassarov
Copy link
Member Author

Thank you @floryut

@fmuyassarov fmuyassarov deleted the backport-nri branch October 9, 2023 20:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants