Commit Graph

109 Commits

Author SHA1 Message Date
Dmitry Rozhkov
44ff734be6 gpu: add log messages for not found cards
Let a user know the plugin can't find any Intel GPU if that's
the case. It might be cumbersome to realize that the plugin runs
on a host which doesn't have any Intel GPUs.

Also make the code less nested for better readability.
2019-05-24 16:19:06 +03:00
Dmitry Rozhkov
da132f6584 qat: add kernel mode plugin 2019-04-25 14:15:32 +03:00
Rivera Gonzalez, Julio C
22b9c61c4d Adding support for dh895xcc devices
This commit adds the possibility to qat2_plugin use pci,
devices with communication chipset 8925 to 8955.

Signed-off-by: Rivera Gonzalez, Julio C <julio.c.rivera.gonzalez@intel.com>
2019-04-25 14:14:09 +03:00
Dmitry Rozhkov
ca569b0f70 qat: initial support for openssl QAT engine 2019-04-25 14:14:09 +03:00
Ed Bartosh
ea5a06dfae
Merge pull request #172 from rojkov/issue-167-namespaced-fpga-mappings
fpga: mutate pods with CRDs from its corresponding namespace
2019-04-09 14:35:56 +03:00
Dmitry Rozhkov
565045f6f2 fpga: mutate pods with CRDs from its corresponding namespace
CRDs for AF or Region mappings are scoped to namespaces. So an
admitted pod has to be mutated with CRDs existing in the same
namespace as the pod's.

Closes #167
2019-04-02 12:17:08 +03:00
Dmitry Rozhkov
4bf8c5e685 Fix compilation issues 2019-02-19 16:12:56 +02:00
nolancon
52df9329e4 Re-order devices in scan loop
Fixes: #146

Removed whitespace
2019-01-23 13:41:22 +00:00
Dmitry Rozhkov
54332c5eea announce deviceplugin API public 2019-01-21 17:20:01 +02:00
Dmitry Rozhkov
7662cb9154 extend API to receive full specs instead of strings 2019-01-21 17:15:27 +02:00
Dmitry Rozhkov
58b62f579b qat: fix numbering of env vars
An `Allocate()` request can be used to allocate resources for many
containers thus `counter` needs to be reset for each container
response.
2018-12-12 13:42:05 +02:00
ssehgal
100ecf8340 Improving consumption of devices by updating the environment variable name based on number of devices requested in a container(e.g. QAT0, QAT1) 2018-12-05 15:11:23 +00:00
nolancon
1bb035cc64 PostAllocate implemented in QAT device plugin 2018-12-05 15:11:23 +00:00
ssehgal
eb6d48a512 QAT README update and crypto perf image tag correction 2018-12-03 14:03:55 +00:00
Ed Bartosh
1215bc7fb7 admissionwebhook: fix region regexp
Region regexp doesn't allow to have dots, which
results in incorrect matching of arria10.dcp1.0 region.
2018-11-28 19:56:35 +02:00
Mikko Ylinen
794b3077bd qat_plugin: readme: list all known VF devices
Not all QAT chips (e.g, 37c9) are available in pci.ids which makes
"grep QAT" to not show them.

Scan all known VF PCI ids in a loop to ensure all configured devices
are shown.

Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
2018-11-28 10:32:31 +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
Frederik Carlier
d6016dedf9 Fix typos 2018-11-22 20:44:00 +00: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
Dmitry Rozhkov
c2b635e627 webhook: reformat source code with gofmt 1.11 2018-10-04 11:03:24 +03:00
Dmitry Rozhkov
06487dcded crihook: do program multiple devices at once 2018-10-04 10:19:23 +03:00
Dmitry Rozhkov
6ce053a0a6 crihook: drop unused test data 2018-10-04 10:19:23 +03:00
Dmitry Rozhkov
dc21749a83 crihook: optimize regexp application 2018-10-04 10:19:23 +03:00
Dmitry Rozhkov
f1623cc5e9 webhook: add support for multiple FPGAs per container 2018-10-04 10:19:23 +03:00
Dmitry Rozhkov
90776a63c7 webhook: make debug message meaningful 2018-10-04 10:19:23 +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
Dmitry Rozhkov
a936934b5f
Merge pull request #99 from bart0sh/PR0040-crihook-fix-fpgaconf-option
fpga_crihook: use -s fpgaconf option
2018-09-06 11:41:07 +03:00
Dmitry Rozhkov
451ca1936b
Merge pull request #101 from swatisehgal/dev/qatreadmeupdates
QAT Readme updates
2018-09-06 11:40:48 +03:00
Ed Bartosh
8a0959122c
Merge pull request #98 from rojkov/dont-fail-without-kernel-driver
fpga_plugin: don't exit if OPAE driver is not loaded
2018-09-06 11:35:48 +03:00
ssehgal
6a23d5324a QAT Readme updates 2018-09-05 16:43:00 +01:00
Ed Bartosh
44fd8aef54 fpga_crihook: use -s fpgaconf option
Different versions of OPAE tool fpgaconf use different command line
options to specify socket number. Latest version uses -S, which CRI-O
hook used so far.

However, fpgaconf in initcontainer comes from older OPAE version, which
uses -s option for the same purpose. This caused fpgaconf and CRI-O hook
to fail with "Invalid cmdline options".

Used 'fpgaconf-wrapper -s' in the CRI-O hook to fix this.

Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
2018-09-05 15:33:42 +03:00
Dmitry Rozhkov
5231a9cc1f fpga_plugin: don't exit if OPAE driver is not loaded 2018-09-05 14:41:30 +03:00
Ed Bartosh
79a0928646 fpga_crihook: use tools installed by initcontainer
intel-fpga-initcontainer installs OPAE and OpenCL tools
into /opt/intel/fpga-sw directory.

Used fpgaconf-wrapper, aocl-wrapper and packager tools by
CRI hook to program OPAE and OpenCL bitstreams.

Added support for OpenCL bitstreams: the hook tries to find
either OPAE or OpenCL bitstream suitable for requested region
and AFU and programs it using OPAE or OpenCL tools.

Fixes #71
2018-09-04 17:18:36 +03:00
Dmitry Rozhkov
47464fa034 Update gpu_plugin/README.md not to mention beignet 2018-09-04 11:09:23 +03:00
ssehgal
8e37adfb42 Fixing minor bugs with QAT plugin
- To ensure that the device plugin continues to run in case a certain QAT device family is not detected on the node
- Updated the extended resource name to qat/generic in demo/crypto-perf-dpdk-pod-requesting-qat.yaml file
- Added explicit check for QAT device ID to avoid counting other DPDK bound devices as QAT devices
2018-09-03 14:27:27 +01:00
Dmitry Rozhkov
f08df95a28 Clarify the purpose of /var/run/kubernetes/admin.kubeconfig 2018-08-24 09:45:01 +03:00
Dmitry Rozhkov
3814cdaf79 webhook: generate error when requesting unknown FPGA resource 2018-08-20 12:11:54 +03:00
Dmitry Rozhkov
f60aad70d6 webhook: deny all requests for unknown FPGA resources 2018-08-20 12:09:31 +03:00
Ed Bartosh
917b68206e
Merge pull request #90 from rojkov/readme
clarify fpga plugin modes in README.md
2018-08-20 11:41:23 +03:00
Dmitry Rozhkov
009a6ebfb6 clarify fpga plugin modes in README.md 2018-08-20 10:28:11 +03:00
Dmitry Rozhkov
eccd70c600 replace glog with simpler home-grown debug logging 2018-08-16 17:40:16 +03:00
Dmitry Rozhkov
2ff6c5929a Use annotated errors for tracing 2018-08-16 17:31:19 +03:00
Ed Bartosh
cf34e92cab
Merge pull request #88 from rojkov/shared-gpu
gpu_plugin: add -shared-dev-num option
2018-08-15 16:45:05 +03:00
Alexander D. Kanevskiy
5cb6f34234
Merge pull request #86 from bart0sh/PR0034-fix-link
fix broken links in the FPGA plugin documentation
2018-08-14 22:47:53 +03:00
Ed Bartosh
a0b6651c1d QAT: fix spelling
Fixed misspell warning:
   Line 153: warning: "Unknwon" is a misspelling of "Unknown" (misspell)
2018-08-14 16:42:02 +03:00
Ed Bartosh
cf8d6bbc3f fix broken links in the FPGA plugin documentation 2018-08-14 15:00:48 +03:00
Dmitry Rozhkov
40246f64ad gpu_plugin: add -shared-dev-num option
The DRM driver of Intel i915 GPUs allows sharing one device
between many containers.

Make it possible to use the same device from different containers.
The exact number of containers sharing the same device can be limited
with the new option -shared-dev-num set to 1 by default.

closes #53
2018-08-14 14:54:49 +03:00
Dmitry Rozhkov
92f72e4196 fpga_plugin: indicate unhealthy devices
When the device's firmware crashes the OPAE driver reports all properties
of the device as a stream of binary ones. This effectively makes
interface and afu IDs look like "ffffffffffffffffffffffffffffffff".

Mark such devices as Unhealthy.

closes #77
2018-08-13 11:52:51 +03:00
Dmitry Rozhkov
56b85b1830 webhook: update README.md 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