Commit Graph

341 Commits

Author SHA1 Message Date
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
Dmitry Rozhkov
99fcb69d33 fpga: compress fpga AF resource names 2020-04-29 11:59:50 +03:00
Dan Garfield
3be22ab9af
Add node selector to restrict to x86
Without the node selector this will deploy on arm nodes with a constantly retrying pod.
2020-04-23 20:55:20 -06:00
Dmitry Rozhkov
6c2eacfae5 webhook: remove mode of operation
fpga: make AFU resource name 63 char long

webhook: drop mode from README

webhook: extend mappings description

webhook: tighten CRD definitions

webhook: drop mapping to non-existing afuId

explicitly state mappings names can be in any format

use consistent terminology across fpga webhook and plugin
2020-04-22 13:55:43 +03:00
Dmitry Rozhkov
bb03a8916f
Merge pull request #359 from bart0sh/PR0080-fpga-e2e-tests
implement e2e tests for FPGA plugin
2020-04-14 16:01:25 +03:00
Ed Bartosh
182601bdf7 run fpga plugin in arbitrary namespace 2020-04-09 17:01:56 +03:00
Ed Bartosh
7d8a33c30f fpga webhook: fix deployment issue
Webhook uses region CRDs even if run in preprogrammed mode.

Adding them to the base configuration should fix this deployment error:
  Failed to list *v1.FpgaRegion: the server could not find the requested resource

Fixes: #361
2020-04-09 15:21:33 +03:00
Ed Bartosh
1ce6a1fb89 fix flag provided but not defined error again
The same fix as previous:
  The `-v 1` arg is treated as single word thus klog throws
  "flag provided but not defined: -v 1" error.

This time it's in the webhook kustomize base.
2020-04-09 10:58:31 +03:00
Dmitry Rozhkov
7a86e8416f fix flag provided but not defined error
The `-v 1` arg is treated as single word thus klog throws
"flag provided but not defined: -v 1" error.
2020-04-06 11:38:59 +03:00
Graham Whaley
71d08224ee fpga: move to using klog for logs and debug
Move all the fpga components to using klog for logging
and debug. This includes replacing our homebrew 'fatal()'
with klog.Error().

Modify the deployment files to move from `-debug` to
`-v`, and set their default level to '1' (Info), rather
than full debug mode ('4').

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2020-03-24 14:31:53 +00:00
Mikko Ylinen
15d4b10715
Merge pull request #329 from grahamwhaley/20200312_klog
klog: Add klog logging to framework and qat plugins
2020-03-19 16:59:44 +02:00
Graham Whaley
f8dbc896a1 devicemanager: qat: use klog for logging and debug
Move the framework, and the qat driver, to use `klog`
for logging and debug.

This has a some noticeable effects:

1) Our default log output gains a bunch of annotation:
From:
    QAT device plugin started in 'dpdk' mode
To:
    I0312 11:51:02.057728    6053 qat_plugin.go:64] QAT device plugin started in 'dpdk' mode

(there is now a command line option to drop those annotations if
necessary).

2) We gain a bunch of command line parameters from klog for controlling log
levels and output. We go from 5 arguments to 17:

---
Usage of ./cmd/qat_plugin/qat_plugin:
  -add_dir_header
        If true, adds the file directory to the header
  -alsologtostderr
        log to standard error as well as files
  -debug
        enable debug output
  -dpdk-driver string
        DPDK Device driver for configuring the QAT device (default "vfio-pci")
  -kernel-vf-drivers string
        Comma separated VF Device Driver of the QuickAssist Devices in the system. Devices supported: DH895xCC,C62x,C3xxx and D15xx (default "dh895xccvf,c6xxvf,c3xxxvf,d15xxvf")
  -log_backtrace_at value
        when logging hits line file:N, emit a stack trace
  -log_dir string
        If non-empty, write log files in this directory
  -log_file string
        If non-empty, use this log file
  -log_file_max_size uint
        Defines the maximum size a log file can grow to. Unit is megabytes. If the value is 0, the maximum file size is unlimited. (default 1800)
  -logtostderr
        log to standard error instead of files (default true)
  -max-num-devices int
        maximum number of QAT devices to be provided to the QuickAssist device plugin (default 32)
  -mode string
        plugin mode which can be either dpdk (default) or kernel (default "dpdk")
  -skip_headers
        If true, avoid header prefixes in the log messages
  -skip_log_headers
        If true, avoid headers when opening log files
  -stderrthreshold value
        logs at or above this threshold go to stderr (default 2)
  -v value
        number for the log level verbosity
  -vmodule value
        comma-separated list of pattern=N settings for file-filtered logging
---

3) Our `-debug` flag is now replaced by the `klog` `-v n` flag.

*NOTE:* This is potentially a minor breaking change. Applying
this debug overlay to any previous (pre-klog edit) images will
cause the container to fail to launch, as it will not recognise
the new `-v` arguments.

We also update the kustomize deployment to move from using
DEBUG env vars to adding a VERBOSITY var that controls both
the log verbosity and now the debug mode enabling.

Signed-off-by: Graham Whaley <graham.whaley@intel.com>
2020-03-19 11:20:48 +00:00
Alek Du
05fee4bf41 vpu: mount myd_ion device for topology hints to work
Previously, /dev/ion device was just arbitrary string and the plugin
did not need the device for anything. After adding the checks for
topology hints, the device node must be bind mounted in the plugin
container.

Signed-off-by: Alek Du <alek.du@intel.com>
2020-03-17 10:50:59 +08:00
Mikko Ylinen
1d41852013 qat: mount VFIO devices for topology hints to work
Previously, /dev/vfio/xx devices were just arbitrary strings and the
plugin did not need the devices for anything. After adding the checks
for topology hints, we need to read the devices attached to those so
the device nodes must be bind mounted in the plugin container.

Moreover, be more verbose about any errors coming from the topology code.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-03-02 08:13:09 +02:00
Alek Du
7c2bc3bda0 vpu_plugin: add kustomizations
- Default deployment: `kubectl apply -k deployments/vpu_plugin`
- Default deployment does not specify namespace anymore
  (was: `kube-system`)
- Variant: deploy to `kube-system` instead of user-defined namespace
  (or `default`)
  `kubectl apply -k deployments/vpu_plugin/overlays/namespace_kube-system`
- VPU plugin README updated.
- Change volume mounts to readonly when possible

Signed-off-by: Alek Du <alek.du@intel.com>
2020-02-25 14:53:26 +08:00
Antti Kervinen
5fe8174077 fpga_plugin: add kustomization files
- Add script/fpga-plugin-prepare-for-kustomization.sh, creates contents
  for the secret needed by the fpga plugin webhook.
- Single-command fpga plugin + webhook deployment for both modes:
  - `kubectl create -k deployments/fpga_plugin/overlays/af`
  - `kubectl create -k deployments/fpga_plugin/overlays/region`
- Change intel-fpga-plugin image CMD to ENTRYPOINT.
2020-02-24 16:32:26 +02:00
Antti Kervinen
d568f050c5 gpu_plugin: add kustomizations
- Default deployment: `kubectl apply -k deployments/gpu_plugin`
- Default deployment does not specify namespace anymore
  (was: `kube-system`).
- Variant: deploy only on nodes with Intel GPU label by NFD:
  `kubectl apply -k deployments/gpu_plugin/overlays/nfd_labeled_nodes`
- Variant: deploy to `kube-system` instead of user-defined namespace
  (or "default"):
  `kubectl apply -k deployments/gpu_plugin/overlays/namespace_kube-system`
- GPU plugin README updated.

Signed-off-by: Antti Kervinen <antti.kervinen@intel.com>
2020-02-07 14:56:52 +02:00
Mikko Ylinen
f036b72cff
Merge pull request #286 from askervin/kustomize
qat_plugin: add kustomizations
2020-02-06 13:53:08 +02:00
Antti Kervinen
ec8eef6daa qat_plugin: add kustomizations
- Default deployment: `kubectl apply -k deployments/qat_plugin`
- Debug variant: `kubectl apply -k deployments/qat_plugin/overlays/debug`
- Single-resource `yaml` naming convention:
  applying x-y-z.yaml configures k8s resource named x-y-z.
- QAT plugin README updated.

Signed-off-by: Antti Kervinen <antti.kervinen@intel.com>
2020-02-05 15:48:57 +02:00
Mikko Ylinen
df7492d763 crypto-perf: fix readonly rootfs deployment
We had securityContext specified twice and the latter was overwriting
readOnlyRootFilesystem=true.

With this commit, the container is properly mounted readonly. However,
we need a tmpfs for DPDK runtime data so an emptyDir volume is added
(NB: see kubernetes/issues/48912 for discussion on emptyDir mount options).

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2020-02-04 13:39:07 +02:00
Alek Du
887e56e780 VPU: Add Intel Movidius MyriadX VPU plugin support
This patch is to support Intel VCAC-A card (with MyriadX 2485 VPUs), for other
later on VPUs, we will reuse this plugin and add support.

VCAC-A board info is at:
https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/media-analytics-vcac-a-accelerator-card-by-celestica-datasheet.pdf

Also add openvino HDDL VPU demo for Intel VCAC-A card.

Signed-off-by: Alek Du <alek.du@intel.com>
2020-01-28 23:17:50 +08:00
Dmitry Rozhkov
a44fc06b21
Merge pull request #242 from bart0sh/PR0066-secure-fpga-weebhook
Secure fpga weebhook
2020-01-15 10:22:42 +02:00
Ed Bartosh
368f34c76b fpga: run webhook container with user privileges
Modified deployment template and script to run admission controller
webhook with user credentials.
2020-01-14 16:31:32 +02:00
Ed Bartosh
1b1206e39a fpga: change webhook service port
Changed port webhook is listening on from 443 to 8443 to be able
to bind to it from non-root user account.
2020-01-14 16:31:12 +02:00
Ed Bartosh
205d32a6c6 fpga_plugin: move termination-log out of /dev
runtime uses /dev/termination-log to write container termination
messages. If this file doesn't exist on the host the runtime tries
to create it. As /dev is read-only for intel-fpga-plugin container
attempt to create /dev/termination-log fails with this error:

Warning Failed kubelet, device-plugins-kubernetes-clearlinux-14-4.novalocal  Error:
  container create failed: container_linux.go:345: starting container process caused
  "process_linux.go:430: container init caused \"rootfs_linux.go:58:
  mounting \\\"/var/lib/kubelet/pods/d7262db5-e3fc-4b7b-bc2e-da245f600c4b/containers/intel-fpga-plugin/cddd0f76\\\"
  to rootfs \\\"/var/lib/containers/storage/overlay/edd75bb94b1b4cf93ae1ea5c064945169fb329d0abdb56b7621cddfc721f6eda/merged\\\"
  at \\\"/var/lib/containers/storage/overlay/edd75bb94b1b4cf93ae1ea5c064945169fb329d0abdb56b7621cddfc721f6eda/merged/dev/termination-log\\\"
  caused \\\"open /var/lib/containers/storage/overlay/edd75bb94b1b4cf93ae1ea5c064945169fb329d0abdb56b7621cddfc721f6eda/merged/dev/termination-log: read-only file system\\\"\""

Setting terminationMessagePath to rw-mounted file system
/tmp/termination-log for the plugin container should fix this.

Fixes: #259
2020-01-14 11:58:44 +02:00
Ed Bartosh
1930d02edb
Merge pull request #241 from hectoragb/migration-webhook-deployment
fpga: Migrate webhook deployment to use the apps/v1 API
2019-12-20 15:04:23 +02:00
Hector Augusto Garcia Baleon
f4bb37dc9e fpga: Migrate webhook deployment to use the apps/v1 API
Since Kubernetes v1.16 release, DaemonSet, Deployment, StatefulSet, and ReplicaSet in the extensions/v1beta1 and apps/v1beta2 API groups have been deprecated. This PR migrates the webhook deployment to use apps/v1 instead of extensions/v1beta1 and add the selector part also required by the migration.

Signed-off-by: Hector Augusto Garcia Baleon <hector.augusto.garcia.baleon@intel.com>
2019-12-18 11:29:53 -06:00
Ed Bartosh
06c07a5961 deployments/fpga_plugin: limit host mounts
The default deployment gives rather wide host mounts.

Limited sysfs mount only to the subdirectory the plugin
needs.

Mounted sysfs and dev  mounts read-only.

Added notes that FPGA plugin can be run as non-root user.
2019-12-12 13:07:19 +02:00
Mikko Ylinen
fd631fc31c deployments/gpu_plugin: limit host mounts
The default deployment gives rather wide host mounts. We can limit
the mounts only to the subdirectories the plugin needs and mount
them read-only.

Also, add notes that both QAT and GPU plugins can be run as non-root
user.

Fixes: #228

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2019-12-11 12:54:36 +02:00
Mikko Ylinen
7a8ff9ccc1 deployments: set readOnlyRootFilesystem
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2019-08-30 12:53:17 +03:00
Mikko Ylinen
bfcac03e48 deployments: fix QAT plugin command path
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2019-08-29 13:21:42 +03:00
Mikko Ylinen
d06f98690f images: tag with intel prefix
In preparations to get some of the images to hub.docker.com/intel,
start using intel/ prefix.

Moreover, set the Makefile variables so that the images built
by make [images|demos] can easily be pushed to any registry/org
by 'docker push' (e.g., by Jenkins).

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2019-08-29 13:21:19 +03:00
Alexander D. Kanevskiy
9d585ea0b8
Merge pull request #209 from bart0sh/PR0061-fix-deployment-setup
fpga: fix deployment setup
2019-08-27 16:26:13 +03:00
Ed Bartosh
a4c124777a fpga: fix deployment setup
- used ENTRYPOINT instead of CMD in plugin and admission webhook
  Dockerfiles to avoid duplicating commands in the pod yamls
- fixed path to deploy.sh script in fpga initcontainer Dockerfile
2019-08-27 11:03:03 +03:00
Ed Bartosh
a2a4ef7cce fpga: update mapping collection
- Ordered collection in DCP release/region/afus order for simpler
maintenance.

- Got rid of ambiguous entries without dcp releases, e.g. Arria10,
Arria10-nlb3 etc.
2019-08-26 15:13:37 +03:00
Alexander Kanevskiy
6395b1626d FPGA example mappings update
- For AOCX files, afuId should be set to unique UUID
  (can be seen via fpga_tool)
- arria10 now points to DCP 1.2 release
- added mappings for Stratix10 based D5005 PAC card
2019-08-25 02:37:07 +03:00
Alexander Kanevskiy
6fd729f12c Cleanup and fixes for FPGA initcontainer
- Simplify initcontainer, we don't need OPAE anymore
- Remove old initcontainer related files
2019-08-25 02:37:07 +03:00
Mikko Ylinen
e1399b5947 crypto-perf: move to clearlinux:base and add QAT test cases
Clear Linux enables DPDK QAT PMD so we can move to use everything from
there. This saves maintenance efforts and we get more up-to-date DPDK.
The DPDK version in this update gives a tool for compress perf too, for
instance.

The commit also adds kustomize scripts that overlay the original DPDK
demo deployment to run dpdk-test-[compress|crypto|-perf test cases:

$ kubectl apply -k deployments/qat_dpdk_app/test-compress1/
$ kubectl apply -f deployments/qat_dpdk_app/test-crypto1/

New test cases ('ptest's with varying parameters) can be easily added
by following the pattern in test-[crypto|compress]1 directories.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2019-08-20 22:01:44 +03:00
Mikko Ylinen
832e4aaf3c crypto-perf: add kustomization and move to deployments
We plan to use crypto-perf for simple QAT testing. This commit adds
kustomization to make the deployment easier. The original .yaml is
also moved to deployments/ with some changes.

For instance, it turns out also vfio-pci mode with DPDK needs CAP_SYS_ADMIN
(See PR: #187 which states that only igb_uio would need it).

kustomize is available part of kubectl since kubernetes v1.14.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2019-08-20 22:01:44 +03:00
Alexander Kanevskiy
6b74f87770 Update for init container image
- Updated OpenCL SDK runtime to 1.2 release
- Minimize result container image
2019-06-17 20:09:42 +03:00
Ubuntu
ded152e8a4 Move FPGA plugin to Distroless and Clearlinux
Signed-off-by: Ubuntu <hector.augusto.garcia.baleon@intel.com>
2019-06-14 18:11:32 +00:00
Dmitry Rozhkov
ca569b0f70 qat: initial support for openssl QAT engine 2019-04-25 14:14:09 +03:00
Ed Bartosh
eb9f50c977 fpga: add mappings for dpc1.0 resources
Current mappings break admissionwebhook deployment with this
kind of errors:
  Invalid value: "arria10_dcp1.0": a DNS-1123 subdomain must consist of
  lower case alphanumeric characters, '-' or '.', and must start and end
    with an alphanumeric character (e.g. 'example.com', regex used for
    validation is
    '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*'

New mappings conform DNS-1123 regexp. They have been tested by the
compression demo and known to work.
2018-11-28 20:01:36 +02:00
Mikko Ylinen
187f8040f0 qat_plugin: use vfio-pci as the default driver
vfio-pci uses IOMMU memory protection and is a safer default.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2018-11-28 10:32:31 +02:00
Mikko Ylinen
00bbe922de qat: deployment: set parameters via ConfigMap
For easier deployments, fetch plugin command line arguments from ConfigMap.
When using ConfigMaps, qat_plugin.yaml needs no changes and can always
be used as is.

qat_plugin_default_configmap.yaml uses built-in defaults.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2018-11-20 13:43:00 +02:00
Ed Bartosh
471ef9bca3 fpga: add support for Arria10 DCP 1.0
Added DCP 1.0 Arria10 region and compress AFU ids
to the mapping collection to be able to work with
DCP 1.0 bitstreams.

This is also an enabler for FPGA demo that uses compress.aocx,
which is not compilable by aoc compiler from DCP 1.1
2018-11-16 17:24:27 +02:00
Dmitry Rozhkov
4fb7848af6 fpga: update to dcp 1.1 2018-10-17 12:26:53 +03:00
Ed Bartosh
891d69de83 Use buildah to build images
Added alternative builder for project images: buildah
https://github.com/containers/buildah

Considering that some of our plugins use CRI-O runtime it could be
a good idea to get rid of docker as a builder. It should allow us
not to run docker daemon at all, even for build purposes.

Kubernetes also goes this way encouraging users to switch to CRI
runtimes (CRI-O and containerd), so having non-docker builds supported
looks good from this perspective too.
2018-09-28 17:21:12 +03:00
Ed Bartosh
14b4168cbd add GPU plugin deployment
Added DaemonSet yaml
Added deployment instructions to plugin's README
2018-09-14 13:55:08 +03:00
Ed Bartosh
c446c6cd8d fix CRI hook configuration in initcontainer
Current configuration has incorrect keywords that caused
CRI not to call prestart hook.
2018-09-11 15:34:38 +03:00
Ed Bartosh
5a3aae9d12 mapping-collection: add mappings for arria10-compress
Added compress.aocx bitstream to the mapping collection.
This is an enabler for OpenCL gzip compression workload.
2018-09-04 17:18:36 +03:00
Ed Bartosh
835cc54942 create initcontainer for FPGA plugin daemonset
Fixes: #76
2018-08-27 12:56:38 +03:00
Dmitry Rozhkov
eccd70c600 replace glog with simpler home-grown debug logging 2018-08-16 17:40:16 +03:00
Dmitry Rozhkov
5de8d18638 webhook: add --namespace option to deployment script 2018-08-10 15:57:55 +03:00
Dmitry Rozhkov
763d229f65 webhook: adjust deployment script to accommodate CRDs 2018-08-08 17:58:18 +03:00
Dmitry Rozhkov
271bc0d29a webhook: add dynamically configured mappings
Currently we have hardcoded mapping from human readable names of
AFs and FPGA regions like arria10-nlb0 to the resource names
produced by the FPGA device plugin. This is not sustainable
long term solution.

Implement CRD based mappings so that a new mapping can be added or
removed dynamically by cluster admins with CRD resources.
2018-08-08 17:58:18 +03:00
ssehgal
3eb2b10f75 Enabling support for QuickAssist Devices 2018-07-23 17:35:37 +01:00
Dmitry Rozhkov
3082d453ad extend webhook-deploy.sh to accept --mode
Since the webhook can operate in two modes, either `preprogrammed`
or `orchestrated`, extend the deploying script to support these
modes.
2018-06-29 16:30:36 +03:00
Dmitry Rozhkov
62a8c50f6c automate FPGA webhook deployment 2018-06-20 14:54:49 +03:00
Dmitry Rozhkov
861b23308d Check node's annotations to set mode of FPGA plugin 2018-06-20 09:45:43 +03:00