Commit Graph

309 Commits

Author SHA1 Message Date
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
Mikko Ylinen
b81d2dcba8 Update SGX and FPGA webhook flags
SGX Admission webhook was quickly forked from FPGA's
implementation. After a bit of thinking, it turns out
leader election and metrics are not necessary for a
(idempotent) webhook-only functionality.

For FPGA Admission webhook, the metrics isn't correctly
set up so it's better to disable the functionality. Leader
election is kept but the flag name is renamed to align with
"kubebuilder v3 functionality" similar to how we changed it
to the operator as well.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-09-13 13:18:28 +03:00
Alex Nordlund
79986a6096 Replace to-be obsolete patchesStrategicMerge with patches 2022-08-25 21:07:32 +02:00
Alex Nordlund
0636e2d3a1 Replace obsolete patches with patchesStrategicMerge
This was made obsolete in v1.0.9
https://github.com/kubernetes-sigs/kustomize/blob/v1.0.9/pkg/types/kustomization.go#L129
And stopped working in v3.0.3
https://github.com/kubernetes-sigs/kustomize/issues/1373
2022-08-25 09:28:03 +02: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
84f115ea69 deployments: move to NFD v0.11.1
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-08-15 10:15:42 +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
Ed Bartosh
328e56e935 fpga: update NFD labelling rules
Added OPAE kernel module as an alternative to DFL
to the Arria10 labeling rules.

Fixes: #1069
2022-07-06 16:32:41 +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
Oleg Zhurakivskyy
f1ec14d106 iaa: Add e2e tests
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2022-06-09 15:00:25 +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
Oleg Zhurakivskyy
6c36827b54 idxd: Add /sys/bus/dsa to DSA, IAA initcontainer deployments
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2022-05-18 19:14:58 +03:00
Hyeongju Johannes Lee
85a12609a3 sgx: deprecate /dev/sgx/ mounts
Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2022-05-09 18:59:34 +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
da9f9cab87 sgx: add a sample nfd CR that can be used in openshift
This sample nfd cr can be used to make a new nfd instance with intel plugins support in openshift.
Signed-off-by: Manish Regmi <manish.regmi@intel.com>
2022-05-05 13:07:38 -07:00
Oleg Zhurakivskyy
54961c3d75 idxd: Make root filesystem read-only
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2022-05-05 10:44:47 +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
Mikko Ylinen
069b9bd79a qat: 4xxx: split generic resource to compression and crypto
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-04-07 22:33:17 +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
Ed Bartosh
566ac95e9a
Merge pull request #916 from mythi/PR-2022-017
iaa: fix deployment with kustomize
2022-03-15 13:33:31 +02: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
Mikko Ylinen
a6bc27b578 iaa: fix deployment with kustomize
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-03-11 12:24:16 +02: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
d4966e089c
Merge pull request #857 from ozhuraki/operator-upgrade
operator: Support upgrade of plugins
2022-02-18 17:55:53 +02:00
Oleg Zhurakivskyy
34044a9d48 fpga: Rename: fpgadeviceplugin -> intel-fpga-plugin
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2022-02-18 12:03:24 +02:00
Mikko Ylinen
72c4552253 deployments: move SGX NFD config to an NFD kustomize overlay
Start using the newly created NodeFeatureRule configs with SGX.
This allows to drop the custom worker config.

Additionally, split the example NFD deployment into two steps

1) plain NFD (+SGX json patches)
2) NodeFeatureRule creation

NodeFeatureRule creation is not guaranteed to succeed when it's
part of the same kustomization with the CRD creation. Users may
also have NFD already running so allowing 2) alone works better
in that scenario.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-02-18 11:17:57 +02:00
Mikko Ylinen
1185f2329b crypto-perf: drop SYS_ADMIN capabilities
SYS_ADMIN capabilities are not necessary when using
vfio-pci.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-02-16 11:26:20 +02:00
Mikko Ylinen
d96bafa220 operator: update NFD rules for GPUs
Intel GPUs come at least in two classes: "0300" and 0380". Desktop GPUs with
3D / display support are in "0300" category, server/compute GPUs without
those are in "0380" category.

"0380" is missing so add it.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2022-02-09 14:16:27 +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
Mikko Ylinen
238badacaa
Merge pull request #848 from bart0sh/PR132-use-nfd-release
sgx: use nfd release instead of master branch
2022-01-12 17:38:21 +02:00
Ed Bartosh
5e5efad3f3 sgx: use nfd release instead of master branch
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2022-01-12 15:49:51 +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
Ed Bartosh
a695a5937f
Merge pull request #818 from mythi/PR-2021-075
e2e: sgx: fix NFD and webhook deployment
2021-12-22 12:18:38 +02:00
Mikko Ylinen
7c381097c0 qat: add kustomize overlay for e2e tests
e2e combines all existing overlays: apparmor, debug, and sriov_numfs.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-12-22 11:51:32 +02:00
Mikko Ylinen
cdd7ca8376 e2e: split NFD and SGX webhook away from SGX plugin deployment
Previously, the SGX plugin deployment pulled in NFD and
SGX webhook as well. This triggered kustomize issues when
trying to get everything under the same namespace.

This commit splits the three deployments into their own steps.
It allows to keep the static parts part of [Before|After]Each
and helps to build SGX plugin/application test cases more
easily.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-12-22 11:22:14 +02:00
Hyeongju Johannes Lee
74ecd6919c dsa: Fix the names still left as idxd-initcontainer
There are a few things left un-renamed after \#771.
Rename those to idxd-config-initcontainer.

Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2021-12-21 04:39:19 -08:00
Ed Bartosh
cec004c398 lint: enable wsl check
Fixes: #392

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2021-12-17 11:48:48 +02:00
Hyeongju Johannes Lee
251727a3db operator: add node selection constraint (amd64 arch)
In order to make controllers consistent, I add a nodeselector constraint of daemonset to dlb, fpga, qat too.
Since the same code is commonly used in many files, I add a function that replaces duplicated code.

Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2021-12-02 08:54:50 -08: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
Ed Bartosh
8ce2854393
Merge pull request #756 from mythi/PR-2021-061
operator: allow controllers to touch ownerReferences always
2021-11-26 11:18:49 +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
Mikko Ylinen
1c4ee778b3 sgx: update NFD deployment
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-11-25 17:13:03 +02:00
Ed Bartosh
b6caadfc63 operator: use go:embed to generate daemonset objects
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2021-11-22 16:55:55 +02:00
Mikko Ylinen
b921a4a458 qat: update default flags and deploy without ConfigMap
To make QAT plugin deployment consistent with the other plugins
we update the default flags and deploy without the flag settings
provided by the ConfigMap.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-11-18 14:02:36 +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
Dmitry Rozhkov
42cde4ff6c
Merge pull request #742 from guoshuxu/dev
GPU devices resource preferred allocation methods.
2021-11-18 10:22:03 +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
Hyeongju Johannes Lee
8362028560 dlb: Add new device plugin
Signed-off-by: Hyeongju Johannes Lee <hyeongju.lee@intel.com>
2021-11-11 11:51:49 +02: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
a7c612f7fc dsa: Rename dsa initcontainer to idxd
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2021-11-09 12:00:44 +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
Ed Bartosh
723c1c0f62
Merge pull request #731 from mythi/PR-2021-056
QAT e2e fixes
2021-10-19 19:45:32 +03:00
Mikko Ylinen
caa6f260dd e2e: qat: use sriov_numvfs overlay in tests
To simplify the e2e node setup, change the QAT tests to deploy with
the sriov_numvfs overlay.

Moreover, as we are seeing the vfio-pci driver becoming built-in and
requiring opt-in parameters depending on the kernel version, it's
better to move the vfio-pci initcontainer step(s) to kernel cmdline/
modules-load.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-10-19 14:32:06 +03: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
Oleg Zhurakivskyy
3a6aa55858 deployments: dsa: Add DSA accel-config initcontainer
Previously idxd kernel module instantiated some
default DSA devices and workqueues on boot.

This is a sample deployment that provisions DSA devices and
workqueues for intel-dsa-plugin with accel-config utility
through initcontainer.

Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
2021-10-01 10:40:24 +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
Shijia Wei
9b66176ca5 Add SGX admissionwebhook as dependency of sgx-nfd daemonset;
Mentioned dependency of the cert-manager in DaemonSet deployment method
in SGX README.
2021-07-27 00:39:59 -05: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
Dmitry Rozhkov
777f955630
Merge pull request #656 from mythi/PR-2021-037
add 0.21 release information
2021-06-16 16:40:10 +03:00
Ukri Niemimuukko
2341119d5e remove monitoring arg from fractional resource overlay
An easter-egg slipped in the args. This removes it.

Signed-off-by: Ukri Niemimuukko <ukri.niemimuukko@intel.com>
2021-06-16 12:09:07 +03: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
Ukri Niemimuukko
2c4d529d66 gpu_plugin: fractional resource management
Fractional resource management feature

Signed-off-by: Ukri Niemimuukko <ukri.niemimuukko@intel.com>
Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@intel.com>
2021-06-04 13:06:50 +03:00
Leow Chun Fung
8e4b58c0f6 Implement support for PCI-based VPU 2021-05-19 18:15:17 +07: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
Mikko Ylinen
280bdceb2a sgx: add separate admissionwebhook image
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-04-14 08:09:33 +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 Shmulevich
c8b5dce247 added an option to create a node label if epc memory is present
updated README for SGX device plugin

Signed-off-by: Dmitry Shmulevich <dmitry.shmulevich@gmail.com>
2021-03-18 11:53:49 -07: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
Dmitry Shmulevich
3c3a3d1145 added implementation of EPC extended resource advertiser
Signed-off-by: Dmitry Shmulevich <dmitry.shmulevich@gmail.com>
2021-02-04 17:35:17 -08:00
Mikko Ylinen
da4a9fca96 qat: add note about vfio-pci module parameters
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2021-01-11 18:48:43 +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
Mikko Ylinen
26d4b6f3a8 qat: fix device ID validation
It looks that for a long time now we have accepted a setup where a valid QAT
device ID is accepted as a QAT device resource even though the device is
not "enabled" via kernelVfDrivers parameter.

Fix device ID validation to skip valid QAT devices that are not
explicitly specified in kernelVfDrivers.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-12-21 14:33:27 +02:00
Mikko Ylinen
2155a24e73 qat: add new devices and change defaults
The plugin now detects/accepts 4xxx and c4xxx devices too
and defaults to those drivers that are part of Linux mainline.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-12-17 15:23:00 +02:00
Dmitry Rozhkov
eacbf245f0
Merge pull request #530 from mythi/ctrl-runtime-070
Move to Admission v1 API
2020-12-17 13:59:02 +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
Mikko Ylinen
97d88e7f2d sgx_nfd: update to node-feature-discovery v0.7.0
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-12-15 19:58:39 +02:00
Ed Bartosh
174643436a implement DSA plugin
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2020-12-03 17:24:48 +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
Mikko Ylinen
d65cb902e6 sgx: move to RFC v4x device API
The SGX device nodes have changed from /dev/sgx/[enclave|provision]
to /dev/sgx_[enclave|provision] in v4x RFC patches according to the
LKML feedback.

This changes moves to use the new device nodes. Backwards compatibility
is provided by adding /dev/sgx directory mount to containers. This
assumes the cluster admin has installed the udev rules provided in the
README to make the old device nodes as symlinks to the new device nodes.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-11-18 21:17:28 +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
a8105befe0 demo: kustomize sgx sample deployments
adding kustomization to deploy sample jobs that demonstrate

1. launching of plain sample enclave application
2. SGX ECDSA quote generation "out-of-proc" using aesmd
3. SGX ECDSA quote generation "in-proc"

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-10-27 15:02:40 +02:00
Dmitry Rozhkov
87143355ba
Merge pull request #483 from mythi/sgx-nfd
sgx: make SGX NFD kustomization overlay independent
2020-10-26 13:25:36 +02:00
Mikko Ylinen
0bffaf2f2d SGX: provide SGX aesmd sample
SGX aesmd (architectural enclave service daemon) can be used for SGX
DCAP Quote Generation. This commit adds a sample deployment that by
default talks to an Intel reference PCCS (Provisioning Certificate
Caching Service).

The default config provided is for a "single node" cluster that has
PCCS service localhost.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-10-23 13:21:17 +03: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
161298190f sgx: make SGX NFD kustomization overlay independent
With the addition of SGX webhook in the operator, full SGX stack
depends on having the operator deployed first. SgxDevicePlugin CRD
is set to get intel-sgx-plugin and intel-sgx-initcontainer deployed
by the operator.

As a pre-requisite, node-feature-discovery must be deployed but it
is currently deployed via sgx_plugin kustomization overlay only.

It's better to allow NFD with the SGX specific settings deployed with
a kustomization of its own.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-10-23 12:44:36 +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
Ukri Niemimuukko
505eadaf94 gpu-plugin nfd-hook
This adds an nfd-hook for the gpu-plugin, which will create labels
for the GPUs that can then be used for POD deployment purposes or
creation of GPU extended resources which allow then finer grained
GPU resource management.

The nfd-hook will install to the host system when the
intel-gpu-initcontainer is run. It is added into the plugin deployment
yaml.

Signed-off-by: Ukri Niemimuukko <ukri.niemimuukko@intel.com>
2020-10-01 12:02:57 +03:00
Mikko Ylinen
335ca93d39 qat: add kustomize overlay to enable SR-IOV
This commit adds two initcontainers in a kustomize overlay to QAT
deployment. The overlay can be used to prepare QAT setup on a freshly
booted system.

Note: containerd/cri-o seem to have issues mounting sysfs rw in even
if the container is privileged. Therefore, we do a special /sys:/sys
bind mount for 'cat sriov_totalvs | tee sriov_numvfs' to work.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-09-15 07:39:25 +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
Dmitry Rozhkov
378620b54b
Merge pull request #434 from mythi/update-20200828
operator updates
2020-09-01 14:49:09 +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
Mikko Ylinen
597b985cdf sgx: move hookinstall job to an initcontainer
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-08-28 11:01:35 +03:00
Mikko Ylinen
a5f648077e sgx: add NFD EPC source, README and deployment YAMLs
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-08-24 16:33:45 +03:00
Dmitry Rozhkov
200e2f8181 operator: add simple FPGA operator combined with FPGA webhook 2020-08-18 17:32:23 +03:00
Dmitry Rozhkov
a62c6f7d5e fpga webhook: reimplement to use kubebuilder framework
Simplify upgrade procedure to newer versions of kubernetes by relying on the
kubebuilder framework rather than using codegen directly.

Closes #377
2020-08-17 12:09:03 +03:00
Dmitry Rozhkov
e87d94d4fb fpga: finalize plugin kustomization
closes #318
2020-07-01 11:57:45 +03:00
linjiach
9cdb9a1446 add mappings for d5005-matrix-mult-orchestrated 2020-06-29 14:01:00 +00:00
Ed Bartosh
0c9831bf5c mapping-collection: add mappings for arria10.dcp1.2-nlb3-preprogrammed
This mapping will be used in the new demo screencast for FPGA plugin
deployment in preprogrammed mode.
2020-06-29 12:01:17 +03:00
Mikko Ylinen
2f16509fe3
Merge pull request #376 from rojkov/operator-v3
operator: initial version with gpu and qat controllers
2020-06-25 15:49:49 +03:00
Dmitry Rozhkov
6b2fa0a264 operator: initial version with gpu and qat controllers 2020-06-25 13:48:41 +03:00
linjiach
179a70179d
extend afu id length to 40 for aocx unique id
OpenCL bitstream .aocx has longer than 32 unique ID. Extend to 40 to accommodate it.
2020-06-25 00:31:50 -07:00
Dmitry Rozhkov
7177409f19 fpga webhook: rework deployment to use kustomize
Contributes to #318
2020-06-23 15:53:36 +03:00
Mikko Ylinen
c8ed2bb798 deployments: qat: add an overlay for Apparmor annotations
Some Ubuntu systems may run with Apparmor LSM policy enformements making
the default QAT daemonset to fail with (un)bind errors.

This commit adds a sample kustomize overlay to deploy the QAT daemonset with
Apparmor uconfined policy.

Fixes: #381

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-06-01 07:50:35 +03:00
Ed Bartosh
8b429fd99d
Merge pull request #358 from rojkov/webhook-modeless
fpga: make admission webhook mode-less
2020-05-05 10:24:13 +03:00
Dmitry Rozhkov
c63dbf61b8 fpgawebhook: move to v2 API of fpga.intel.com group 2020-05-04 15:43:20 +03:00