controller-runtime has deprecated webhook.Defaulter/Validator and they
will be removed in the next controller-runtime release.
Move deviceplugin webhooks to use admission.CustomDefaulter/Validator.
Common defaulter/validator types can serve all the plugins with only
plugin specific data initialized.
As part of the rework, move away from (the unmaintained) pkg/errors
to errors in Go standard library.
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
Differentiate objects by adding cr names as suffixes
Drop kind book keeping and related functions from controllers
Signed-off-by: Tuomas Katila <tuomas.katila@intel.com>
k8s 1.27.x triggers build errors on controller-runtime 0.14.x
so we will need to update to 0.15.x at the same time.
Changes include:
* k8s e2e framework moved to use Ginkgo context so we add
test context to all our test nodes.
* adapt Ginkgo parameter modifications.
* adapt SGX admissionwebhook to InjectDecoder removal.
* adapt deviceplugins and FPGA CRDs to controller-runtime
API changes.
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
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>
The upgrade of the deployed plugins can be done by simply installing
a new release of the operator.
The operator auto-upgrades operator-managed plugins (CR images
and thus corresponding deployed daemonsets) to the current release
of the operator.
The [registry-url]/[namespace]/[image] are kept intact on the upgrade.
No upgrade is done for:
- Non-operator managed deployments
- Operator deployments without numeric tags
Closes#702
Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
The Defaulter wrongly assigned the "intel-sgx-initcontainer" to
Spec.Image instead of Spec.InitImage.
We don't see any problems because the default DaemonSet yaml
uses "intel-sgx-initcontainer".
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
Move CRD validating webhooks' image min version checks to use
common constant across all the plugins.
After the change, we carry the same min version for all devices
and this version becomes easier to maintain when we make new
releases.
Each CRD webhook still carries its own xyzMinVersion if we decide
to go back to CRD specific versions later.
Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>