Commit Graph

142 Commits

Author SHA1 Message Date
Mikko Ylinen
980c9f1c53 deployments: update kube-rbac-proxy image and args
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-11-21 19:17:21 +02:00
Mikko Ylinen
afce0ed79c
Merge pull request #1196 from ozhuraki/e2e-operator
operator: Add e2e tests for DSA, IAA
2022-11-17 21:30:33 +02:00
Oleg Zhurakivskyy
ef7954c8e1 operator: Add e2e tests for DSA, IAA
Closes #1230

Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2022-11-17 17:47:21 +02:00
Mikko Ylinen
cc144c36df
Merge pull request #1240 from hj-johannes-lee/operator-update-image-name
operator: update image name and version
2022-11-14 07:26:14 +02:00
Hyeongju Johannes Lee
f85fbd6848 operator: fix the operator image name and update docs in DEVEL.md
https://sdk.operatorframework.io/docs/cli/operator-sdk_run_bundle/
According to the documentation of operator-sdk, docker.io should
be speficied.

Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2022-11-11 17:04:37 +02:00
Oleg Zhurakivskyy
e9d3f683d5 operator: Add DSA, IAA provisioning
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2022-11-09 15:37:28 +02:00
Mikko Ylinen
5876882066 operator: add support for Liveness and Readiness probes
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-11-03 10:25:07 +02:00
Mikko Ylinen
325bcd0d17 operator: update kube-rbac-proxy image
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-10-29 00:04:34 +03:00
Mikko Ylinen
419a5ab586 operator: update to 0.25.0 images
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-10-17 22:45:41 +03:00
Ed Bartosh
9dea92541a
Merge pull request #1088 from hj-johannes-lee/dlb-initcontainer
dlb: add initcontainer to plugin
2022-10-07 14:43:12 +03:00
Hyeongju Johannes Lee
11b04425c2 dlb: add initcontainer to plugin
initcontainer enables vfs and configures vfs
 - only first pf is used to configure a vf
 - only one vf is configured from the pf
add dlb-initcontainer kustomize overlay
update CRD to have initImage
implment operator to run initcontainer
update e2e test to run initcontainer overlay
update envtest to test initimage

Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2022-10-06 17:11:03 +03:00
Mikko Ylinen
0f5afc258d operator: move to controller-tools v0.10.0
With the latest version of controller-tools, we get to set
reinvocationPolicy tag so that we no longer have to add that
field manually in our Admission Webhook manifests.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-09-21 19:37:00 +03:00
Mikko Ylinen
6602d56ef9 deployments: fix leader election RBAC rules
controller-runtime now defaults LeaderElectionResourceLock to
leases and we had missed the migration to it properly.

Update the RBAC rules to get our controllers to write their
leader election locks to leases.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-09-14 08:51:12 +03:00
Oleg Zhurakivskyy
1e8f46689b deployments: Add IAA NodeFeatureRule
Closes #1040

Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2022-08-22 12:52:23 +03:00
Mikko Ylinen
a13ee14e5f deployments: regenerate using the latest controller-gen
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-07-26 13:57:27 +03:00
Mikko Ylinen
b48568c43a operator: align with kubebuilder v3 functionality
kubebuilder v3 based scaffolding has updated many things
and they are documented in [1].

Update operator's functionality to v3 level. We've done
most/some of the changes earlier (e.g., by not using
deprecated k8s APIs anymore) so the changes are minimal.

[1] https://book.kubebuilder.io/migration/v2vsv3.html

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-06-20 16:35:40 +03:00
Hyeongju Johannes Lee
a225f6a199 operator: update csv spec (maintainer, replaces)
Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2022-06-06 12:39:50 +03:00
Hyeongju Johannes Lee
16a6f1d30f operator: update csv yaml file
Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2022-05-24 14:53:06 +03:00
Mikko Ylinen
910a3d9a32 operator: update to 0.24.0 images
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-05-09 15:04:58 +03:00
Manish Regmi
78d2fe24e3 changes related to selinux and permissions for openshift
* run the sgx container as container_device_plugin_t and init container
   as container_device_plugin_init_t. these labels are being added to
   container_selinux package upstream.
 * add rbac role for openshift
Signed-off-by: Manish Regmi <manish.regmi@intel.com>
2022-04-28 14:32:35 -07:00
Mikko Ylinen
cbc521e505 move to k8s.io v1.24.0-rc.1
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-04-27 09:26:07 +03:00
Hyeongju Johannes Lee
5a54b3362d operator deployment: move from packagemanifests to bundle
Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2022-04-25 19:01:52 +03:00
Hyeongju Johannes Lee
d3c8063ff3 qat: implement preferredAllocation policies
Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2022-04-07 14:14:00 +03:00
Hyeongju Johannes Lee
df419b3a82 qat: add initimage to plugin
Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2022-03-30 13:46:42 -07:00
chaitanya1731
dd5c1fdb59 operator-csv: Added minKubeVersion to clusterServiceVersion.yaml
Picked '1.21.0' as it is mentioned in the "supported versions" matrix in README.md

Signed-off-by: chaitanya1731 <chaitanya.kulkarni@intel.com>
2022-03-15 01:38:20 -04:00
Ed Bartosh
6b27cf1f7c Implement IAA plugin, operator, demo
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2022-03-04 15:58:42 +02:00
Ed Bartosh
13780a8cdc implement terrascan check
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2022-03-01 15:54:28 +02:00
Ed Bartosh
8626d47d8b operator: implement NFD labelling rules
- added labelling rules for all supported devices
- updated operator installation instructions

Fixes: #768

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2022-02-08 17:01:03 +02:00
Ed Bartosh
afba8be45b
Merge pull request #843 from mythi/PR-2022-004
dsa: make initImage spec consistent with other APIs
2022-01-12 15:38:41 +02:00
Mikko Ylinen
51df411cb1 dsa: make initImage spec consistent with other APIs
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-01-11 08:17:35 +02:00
Ed Bartosh
1259c1d6b4
Merge pull request #834 from hj-johannes-lee/fix-operator-manifest
operator: Fix corrupted csv and update operator version to 0.23.0
2022-01-10 15:19:44 +02:00
Hyeongju Johannes Lee
310883830a operator: update from 0.21.0 to 0.23.0
Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2022-01-10 14:46:55 +02:00
Hyeongju Johannes Lee
4c7219dee0 operator: update to 0.23.0 images
Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2022-01-05 17:27:00 +02:00
Hyeongju Johannes Lee
0c931fcddc operator: fix operator manifest
PR #753 had a huge mistake that changed operator manifest yaml file.
Some part was unintentionally copied and pasted, and no one noticed.
Therefore, this commit replaces the yaml file with the command "operator-sdk generate".

Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2022-01-04 14:14:10 +02:00
Mikko Ylinen
258ada9ce0 sgx: update NFD labels
NFD master and the upcoming release v0.10.0 dropped the
"custom-" prefix from custom labels. Update the default
SgxDevicePlugin sample accordingly.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-12-23 11:18:56 +02:00
Oleg Zhurakivskyy
6bba74acef dsa: Rename idxd-initcontainer to idxd-config-initcontainer
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2021-11-30 15:32:29 +02:00
Mikko Ylinen
b63bb53057 operator: allow controllers to touch ownerReferences always
Resources in clusters with OwnerReferencesPermissionEnforcement
(e.g., OpenShift) get stricter checks for metadata.ownerReferences.

This appears via errors like:
“is forbidden: cannot set blockOwnerDeletion if an ownerReference refers to
a resource you can’t set finalizers on: ...”

The fix is to add "update" permissions to finalizers subresource
for the xDevicePlugins resources.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-11-26 08:28:29 +02:00
Dmitry Rozhkov
471549c11d
Merge pull request #753 from hj-johannes-lee/dlb-operator
operator: Add DLB support
2021-11-18 10:23:16 +02:00
Xu, Guoshu
e4c4a8f7ac GPU devices resource preferred allocation methods.
1. Implement PreferredAllocator interface.
2. Provide 3 preferred allocation policies: balancedPolicy, packedPolicy and nonePolicy.
3. Provide the cmdline interface: -allocation-policy balanced/packed/none, to select which preferred allocation policy to use.
4. Add operator support.

Co-authored-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-11-17 22:55:10 +08:00
Hyeongju Johannes Lee
ff9034822b operator: Add DLB support
Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2021-11-17 01:51:47 -08:00
Ed Bartosh
c04caf9cff
Merge pull request #738 from ozhuraki/dsa-idxd-op-config
operator: dsa: Add provisioning configurability
2021-11-09 15:03:40 +02:00
Oleg Zhurakivskyy
594a696879 operator: dsa: Add provisioning configurability
The provisioning config can be optionally stored in the ProvisioningConfig
configMap which is then passed to initcontainer through the volume mount.

There's also a possibility for a node specific congfiguration through
passing a nodename via NODE_NAME into initcontainer's environment
and passing a node specific profile via configMap volume mount.

Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2021-11-09 10:31:50 +02:00
Mikko Ylinen
1bbb02c8ff deployments: fix operator parameters for single-device configs
The flag is --devices, not --device so fix the YAMLs.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-11-03 12:20:01 +02:00
Mikko Ylinen
45f4666beb allow v1 CRD API only
controller-gen v0.7.0 dropped the support for v1beta1 CRD API as it
was also dropped in k8s.io v1.22.

update 'make generate' to only allow v1 CRD APIs and run it with
controller-gen v0.7.0.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-10-19 12:36:32 +03:00
Mikko Ylinen
3f5d92782f operator: update to 0.22.0 images
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-10-01 14:38:24 +03:00
Oleg Zhurakivskyy
94a13fc96f operator: dsa: Add InitImage for initcontainer
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2021-10-01 11:26:05 +03:00
Mikko Ylinen
9d0d6cbe11 qat: set c6xxvf and 4xxxvf to default devices
The devices enabled by default are different between the
kustomize and operator based deployments.

This change harmonizes the defaults to c6xxvf and 4xxxvf
in both deployment options.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-09-23 10:50:38 +03:00
Ed Bartosh
5af85a785f qat: copy annotations
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2021-09-22 11:27:24 +03:00
Dmitry Rozhkov
48d4ec4986
Merge pull request #675 from bart0sh/PR109-add-missing-mappings
add missing mappings to the mapping collection
2021-08-20 09:17:28 +03:00
Ed Bartosh
4df36258e5 add missing AF mappings to the mapping collection
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2021-08-19 17:24:16 +03:00
Ed Bartosh
c4483f4f06 add 3 tags to the base operator manifest
- containerImage is required by the comunity-operators PR checks
- repository and createdAt are shown on the operator page:
  https://operatorhub.io/operator/intel-device-plugins-operator

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2021-08-19 17:15:42 +03:00
Eero Tamminen
86a86e2863 Add "-enable-monitoring" GPU plugin option operator support
Based on Ukri's examples and tested by Ukri (thanks!).
2021-06-29 17:33:03 +03:00
Ukri Niemimuukko
39f7c4c747 gpu resource manager operator parts
Signed-off-by: Ukri Niemimuukko <ukri.niemimuukko@intel.com>
2021-06-24 11:49:08 +03:00
Shijia Wei
af60537755 Add reinvocationPolicy for sgx operator and sgx_admissionwebhook 2021-06-18 06:05:11 +00:00
Mikko Ylinen
a6d89aadbd deployments: update sample CRs to use 0.21.0 images
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-06-15 22:18:14 +03:00
Mikko Ylinen
383778a24b qat: fix C4xxx driver name
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-06-10 08:45:23 +03:00
Mikko Ylinen
c3cf958c85 images: move most plugin images to distroless/static
All but one (VPU) of the published container images can be built with
static binaries which allows us to use distroless/static as the
base image. Moreover, when combined with stripping the plugin binaries,
we can get both build time and image size savings.

This is the part 1 (out of 2) of the rework. Part 2 will finish the
change by making some adjustments to VPU plugin image and moving the
FPGA/SGX/GPU initcontainers to distroless/static too.

Partial: #516

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2021-05-19 09:44:47 +03:00
Ed Bartosh
6cfbbc1a93 published operator v0.20.0
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2021-04-16 12:03:01 +03:00
Oleg Zhurakivskyy
d5a1ddaec5 operator: qat: Add a kustomization overlay for QAT
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2021-04-08 10:33:47 +00:00
Oleg Zhurakivskyy
22a40d8992 operator: gpu: Add a kustomization overlay for GPU
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2021-04-08 10:33:47 +00:00
Oleg Zhurakivskyy
9659f8ca3d operator: sgx: Add a kustomization overlay for SGX
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2021-04-08 10:33:47 +00:00
Oleg Zhurakivskyy
de72b846b3 operator: dsa: Add a kustomization overlay for DSA
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2021-04-08 10:33:47 +00:00
Oleg Zhurakivskyy
1d68cbc109 operator: fpga: Add a kustomization overlay for FPGA
Add a patch to operator's manager.yaml to add "--device fpga"
command line in orfer to enable per device deployment.

Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2021-04-08 10:33:47 +00:00
Mikko Ylinen
19abbd6a0b deployments: update sample CRs to use 0.20.0 images
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-03-31 10:29:44 +03:00
Mikko Ylinen
456bbe2770 operator: increase manager memory limit
We have been getting reports about the operator getting killed
with an OOMKilled reason. This indicates we consume more memory
than what the resource limit states.

Bump up the memory limit to 50M.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-03-30 17:01:20 +03:00
Mikko Ylinen
942e5fe7de qat: fix QatDevicePlugin CR sample entry
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-03-30 09:37:36 +03:00
Dmitry Rozhkov
726f886e40 operator: add categories to meta data 2021-02-25 15:25:26 +02:00
Oleg Zhurakivskyy
93c4b1a980 deployments: Move to v1 in RBAC API
In order to get rid of deprecation warnings when deploying the operator,
move away from v1beta1 in RBAC API.

Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2021-02-18 12:47:55 +00:00
Oleg Zhurakivskyy
5cea278170 deployments: Add 4xxxvf and c4xxvf to recognized QAT devices
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2021-02-18 10:37:10 +00:00
Oleg Zhurakivskyy
83d4789e5d deployments: Move to v1 API for CRDs
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2021-02-18 10:37:10 +00:00
Mikko Ylinen
abfa3496a2 sgx: update SGX SDK/DCAP versions
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-02-18 09:31:28 +02:00
Mikko Ylinen
37618d4f85 operator: move deviceplugin/v1 CRDs to cluster scope
The device plugins daemonsets are cluster wide and currently only
one device plugin instance per device is possible so making the
corresponding deviceplugin/v1 CRDs non-namespaced (i.e., scope: cluster)
fits better.

Previously, the device plugin daemonset was deployed in the same
namespace as the CR for that device but with the cluster scoped CRDs
we default to use the same namespace as the operator, unless overridden
via DEVICEPLUGIN_NAMESPACE env variable or a command line parameter
to operator manager deployment.

Three additional changes in this commit:
- enable DSA envtest tests
- update controller-runtime to v0.8.1
- change device plugin envtest suite to use klog/v2

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-02-11 11:41:47 +02:00
Ed Bartosh
dac99ad81d operator: DSA: [re]generated files
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2021-02-09 02:13:35 +02:00
Ed Bartosh
884f8e3dfe operator: add DSA support
Fixes: #443

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2021-02-09 02:13:27 +02:00
Mikko Ylinen
3e7e818fb6
Merge pull request #518 from rojkov/full-operator-config-samples
operator: extend sample configs to include all possible specs
2020-12-21 20:53:21 +02:00
Dmitry Rozhkov
fdde9a8126 operator: extend sample configs to include all possible specs 2020-12-17 11:52:00 +02:00
Mikko Ylinen
d63037c2e1 Move to Admission v1 API
Update to controller-runtime v0.7.0 and Admission types to v1 with it.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-12-17 11:02:21 +02:00
Dmitry Rozhkov
93e845a798 operator: update description visible on the operator's page 2020-11-25 14:14:46 +02:00
Dmitry Rozhkov
f0fa9df292 operator: prepare for publishing at operatorhub.io 2020-11-24 18:35:56 +02:00
Dmitry Rozhkov
7e621f7905 upgrade controller-gen to v0.4.1
The new versions adds admissionReviewVersions annotation and makes it
mandatory.
2020-11-18 11:44:37 +02:00
Dmitry Rozhkov
1657b6ea95 operator: run as non-root 2020-11-16 13:42:57 +02:00
Oleg Zhurakivskyy
272625cb39 deployments: Add missing default imagePullPolicy 2020-11-12 16:12:27 +00:00
Dmitry Rozhkov
5f0da56045 Upgrade to k8s v1.19.3 2020-11-10 16:09:20 +02:00
Ukri Niemimuukko
c935570bab operator: GPU-plugin initImage
This adds the initImage field to the custom resource definition
and takes it into use.

The fpga webhook image validation function is split off into a
separate file.

Signed-off-by: Ukri Niemimuukko <ukri.niemimuukko@intel.com>
2020-11-09 20:55:12 +02:00
Mikko Ylinen
790bfd0fd2 operator: add sgxdeviceplugin-sample CRD
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-10-23 13:20:20 +03:00
Mikko Ylinen
f0a6302282 CRDs: disable CRD conversion webhooks
We currently build using trivialVersions=true and don't deal with
multiversion APIs and their conversion webhooks.

Therefore, drop the registration of the conversion webooks.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-10-14 14:48:40 +03:00
Mikko Ylinen
e054440a32 webhooks: move to admissionregistration.k8s.io/v1
With controller-gen 0.4.0, admissionregistration defaults to v1 API.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-10-14 14:48:40 +03:00
Mikko Ylinen
33a4f8f546 sgx: add SgxDevicePlugin CRD and admission webhook
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-09-10 15:31:26 +03:00
Mikko Ylinen
f0d4754d53 move to cert-manager v1.0.0
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-09-02 18:07:05 +03:00
Mikko Ylinen
d8cd5814d7 operator: regenerate CRDs and small webhook/controller updates
this commits also changes validatePluginImage() to allow
image version as a parameter so that it can be used by by
other webooks too.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-08-31 11:29:04 +03:00
Dmitry Rozhkov
200e2f8181 operator: add simple FPGA operator combined with FPGA webhook 2020-08-18 17:32:23 +03:00
Dmitry Rozhkov
6b2fa0a264 operator: initial version with gpu and qat controllers 2020-06-25 13:48:41 +03:00