Skip to content

Conversation

@qbarrand
Copy link
Contributor

Change all references from OOT(O) to KMM(O).

qbarrand and others added 30 commits March 4, 2022 10:02
Add an mkdocs site and the associated CI.
Adds a NodeReconciler that reconciles Modules that apply to modified Nodes.
Get rid of KernelDaemonSetsMap in the Module API. Instead, Module maintains its ownership of the DaemonSets through the oot.node.kubernetes.io/module.name label.
Add a new e2e workflow with two nodes that involves labeling and unlabeling the second node to verify that the module gets loaded and unloaded as expected.
* Add a reconciler that deletes DaemonSets targeting zero nodes.
Build container images once and use them in the e2e jobs.
Mount /lib/modules and /usr/lib/modules in the DriverContainer.
Make it possible to add additional volumes to the pod.
Append volume mounts to those defined in the module instead of replacing
them.

Co-authored-by: Michail Resvanis <resbanis@gmail.com>
Use the Apache 2 license.
Monitor Go, Docker and GitHub Actions dependencies.
yevgeny-shnaidman and others added 18 commits August 30, 2022 12:18
This PR includes:
1) adding VerifyModuleExistsForKernel function, that verifies
   presence of a file (full path) in a v1.Layer (layer of container image)
2) removing ExtractToolkitRelease funtion: no longer used
   by the preflight code, replaced by the VerifyModuleExistsForKernel
3) add unit-test
4) add test infrastructure to create a dummy v1.Layer
.gitignore contained manager, which made git ignore any directory named manager
in the repository, including a controller-runtime package.
…netes-sigs#139)

Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.12.2 to 1.13.0.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](prometheus/client_golang@v1.12.2...v1.13.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@‌github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@‌users.noreply.github.com>
Rename CI scripts to use hyphens. Use more bash options.
Craft the modprobe command using properties from the CR.
Rename the CRD group from oot to kmm.
Rename some labels from oot to kmm.
Bumps [k8s.io/kubectl](https://github.com/kubernetes/kubectl) from 0.24.3 to 0.24.4.
- [Release notes](https://github.com/kubernetes/kubectl/releases)
- [Commits](kubernetes/kubectl@v0.24.3...v0.24.4)

---
updated-dependencies:
- dependency-name: k8s.io/kubectl
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@‌github.com>

Signed-off-by: dependabot[bot] <support@‌github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@‌users.noreply.github.com>
…#148)

1) Change the DriverContainer to ModuleLoader
   in the module API and in the code
2) change the docs to refer to module-loaders instead
   of driver-container

MGMT-11718
Preflight package implements should implement
all preflight functionality per one Module.
Current commit will only implement image verification:
image presence and correct kernel version

MGMT-11438
)

Added new labels to distinguish the two different
daemonset types for filtering later on the e2e test.

MGMT-10538
kubernetes-sigs#150)

* Fix kustomization for nodeSelector removal

* Adds NodeAffinity for both node role keys master and control-plane
1) fixing yaml annotations
2) fixing comments
3) fixing CI templates
4) fixing unit-test variables namings
To be able to load a module, more privileges are required.
This change sets the SELinux type of the pod to `spc_t` and the user to
`root`. It also explicitely disable privilege escalation.

This has been tested with a pod ServiceAccount that can use the
`privileged` SCC.

Reference: [Introducing a Super Privileged Container
Concept](https://developers.redhat.com/blog/2014/11/06/introducing-a-super-privileged-container-concept)

Signed-off-by: Fabien Dupont <fdupont@redhat.com>
Drop the KERNEL_LABELING_METHOD environment variable that made it
possible to rely on NFD for kernel labeling.
This PR implements the preflight controller logic
and filtering

1) add filter function for getting preflights
   on modules change
2) add controller implementation
3) unit-test
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. label Aug 30, 2022
@qbarrand qbarrand changed the title Draft: Import the upstream codebase Import the upstream codebase Aug 30, 2022
@qbarrand
Copy link
Contributor Author

/unhold

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Aug 30, 2022
@yevgeny-shnaidman
Copy link
Contributor

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Aug 30, 2022
@k8s-ci-robot k8s-ci-robot merged commit 515e44d into kubernetes-sigs:main Aug 30, 2022
@qbarrand qbarrand deleted the k8s-main branch August 30, 2022 12:21
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. lgtm "Looks good to me", indicates that a PR is ready to be merged. 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.

7 participants