mirror of
https://github.com/intel/intel-device-plugins-for-kubernetes.git
synced 2025-06-03 03:59:37 +00:00
Merge pull request #976 from hj-johannes-lee/bundle
operator deployment: move from packagemanifests to bundle
This commit is contained in:
commit
43bd592790
9
DEVEL.md
9
DEVEL.md
@ -207,16 +207,19 @@ Fork the [Community Operators](https://github.com/k8s-operatorhub/community-oper
|
|||||||
$ git clone https://github.com/<GitHub Username>/community-operators
|
$ git clone https://github.com/<GitHub Username>/community-operators
|
||||||
```
|
```
|
||||||
|
|
||||||
Generate package manifests with:
|
Generate bundle and build bundle image:
|
||||||
```
|
```
|
||||||
$ make packagemanifests OPERATOR_VERSION=0.X.Y
|
$ make bundle OPERATOR_VERSION=0.X.Y
|
||||||
|
$ make bundle-build
|
||||||
```
|
```
|
||||||
|
|
||||||
|
> **Note**: You need to push the image to a registry if you want to follow the verification process below.
|
||||||
|
|
||||||
Verify the operator deployment works OK via OLM in your development cluster:
|
Verify the operator deployment works OK via OLM in your development cluster:
|
||||||
```
|
```
|
||||||
$ operator-sdk olm install
|
$ operator-sdk olm install
|
||||||
$ kubectl create namespace testoperator
|
$ kubectl create namespace testoperator
|
||||||
$ operator-sdk run packagemanifests community-operators/operators/intel-device-plugins-operator/ --namespace testoperator --version 0.X.Y
|
$ operator-sdk run bundle <Registry>/<Tag> -n testoperator --use-http
|
||||||
# do verification checks
|
# do verification checks
|
||||||
...
|
...
|
||||||
# do clean up
|
# do clean up
|
||||||
|
21
Makefile
21
Makefile
@ -27,7 +27,7 @@ BUNDLE_DEFAULT_CHANNEL := --default-channel=$(DEFAULT_CHANNEL)
|
|||||||
endif
|
endif
|
||||||
BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL)
|
BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL)
|
||||||
OLM_MANIFESTS = deployments/operator/manifests
|
OLM_MANIFESTS = deployments/operator/manifests
|
||||||
PACKAGEMANIFESTS_DIR = community-operators/operators/intel-device-plugins-operator
|
BUNDLE_DIR = community-operators/operators/intel-device-plugins-operator/${OPERATOR_VERSION}
|
||||||
|
|
||||||
TESTDATA_DIR = pkg/topology/testdata
|
TESTDATA_DIR = pkg/topology/testdata
|
||||||
|
|
||||||
@ -116,17 +116,18 @@ build: $(cmds)
|
|||||||
|
|
||||||
.PHONY: bundle
|
.PHONY: bundle
|
||||||
bundle:
|
bundle:
|
||||||
|
mkdir -p ${BUNDLE_DIR}/${OPERATOR_VERSION}
|
||||||
$(OPERATOR_SDK) generate kustomize manifests -q --input-dir $(OLM_MANIFESTS) --output-dir $(OLM_MANIFESTS) --apis-dir pkg/apis
|
$(OPERATOR_SDK) generate kustomize manifests -q --input-dir $(OLM_MANIFESTS) --output-dir $(OLM_MANIFESTS) --apis-dir pkg/apis
|
||||||
$(KUSTOMIZE) build $(OLM_MANIFESTS) | sed "s|intel-deviceplugin-operator:devel|intel-deviceplugin-operator:$(OPERATOR_VERSION)|" | $(OPERATOR_SDK) generate bundle -q --overwrite --kustomize-dir $(OLM_MANIFESTS) --version $(OPERATOR_VERSION) $(BUNDLE_METADATA_OPTS)
|
$(KUSTOMIZE) build $(OLM_MANIFESTS) | sed "s|intel-deviceplugin-operator:devel|intel-deviceplugin-operator:$(OPERATOR_VERSION)|" | $(OPERATOR_SDK) generate bundle -q --overwrite --kustomize-dir $(OLM_MANIFESTS) --version $(OPERATOR_VERSION) $(BUNDLE_METADATA_OPTS) --output-dir .
|
||||||
$(OPERATOR_SDK) bundle validate ./bundle
|
|
||||||
|
|
||||||
.PHONY: packagemanifests
|
|
||||||
packagemanifests:
|
|
||||||
$(OPERATOR_SDK) generate kustomize manifests -q --input-dir $(OLM_MANIFESTS) --output-dir $(OLM_MANIFESTS) --apis-dir pkg/apis
|
|
||||||
$(KUSTOMIZE) build $(OLM_MANIFESTS) | sed "s|intel-deviceplugin-operator:devel|intel-deviceplugin-operator:$(OPERATOR_VERSION)|" | $(OPERATOR_SDK) generate packagemanifests -q --kustomize-dir $(OLM_MANIFESTS) --version $(OPERATOR_VERSION) --from-version $(OPERATOR_PREVIOUS_VERSION) $(BUNDLE_METADATA_OPTS) --output-dir $(PACKAGEMANIFESTS_DIR)
|
|
||||||
# Remove unneeded resources
|
# Remove unneeded resources
|
||||||
rm $(PACKAGEMANIFESTS_DIR)/$(OPERATOR_VERSION)/*service.yaml
|
rm manifests/*service.yaml
|
||||||
rm $(PACKAGEMANIFESTS_DIR)/$(OPERATOR_VERSION)/*clusterrole.yaml
|
rm manifests/*clusterrole.yaml
|
||||||
|
# Put generated files in a directory
|
||||||
|
mv manifests metadata tests bundle.Dockerfile ${BUNDLE_DIR}
|
||||||
|
$(OPERATOR_SDK) bundle validate ${BUNDLE_DIR}/
|
||||||
|
|
||||||
|
bundle-build:
|
||||||
|
docker build -f $(BUNDLE_DIR)/bundle.Dockerfile -t $(BUNDLE_IMG) $(BUNDLE_DIR)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@for cmd in $(cmds) ; do pwd=$(shell pwd) ; cd cmd/$$cmd ; $(GO) clean ; cd $$pwd ; done
|
@for cmd in $(cmds) ; do pwd=$(shell pwd) ; cd cmd/$$cmd ; $(GO) clean ; cd $$pwd ; done
|
||||||
|
@ -33,6 +33,13 @@ spec:
|
|||||||
kind: DlbDevicePlugin
|
kind: DlbDevicePlugin
|
||||||
name: dlbdeviceplugins.deviceplugin.intel.com
|
name: dlbdeviceplugins.deviceplugin.intel.com
|
||||||
version: v1
|
version: v1
|
||||||
|
- description: IaaDevicePlugin is the Schema for the iaadeviceplugins API. It
|
||||||
|
represents the IAA device plugin responsible for advertising Intel IAA hardware
|
||||||
|
resources to the kubelet.
|
||||||
|
displayName: Intel IAA Device Plugin
|
||||||
|
kind: IaaDevicePlugin
|
||||||
|
name: iaadeviceplugins.deviceplugin.intel.com
|
||||||
|
version: v1
|
||||||
- description: AcceleratorFunction is a specification for an Accelerator Function
|
- description: AcceleratorFunction is a specification for an Accelerator Function
|
||||||
resource provided by a FPGA-based programmable hardware accelerator.
|
resource provided by a FPGA-based programmable hardware accelerator.
|
||||||
displayName: Accelerator Function
|
displayName: Accelerator Function
|
||||||
@ -73,11 +80,6 @@ spec:
|
|||||||
kind: SgxDevicePlugin
|
kind: SgxDevicePlugin
|
||||||
name: sgxdeviceplugins.deviceplugin.intel.com
|
name: sgxdeviceplugins.deviceplugin.intel.com
|
||||||
version: v1
|
version: v1
|
||||||
description: IaaDevicePlugin is the Schema for the iaadeviceplugins API. It represents the IAA device plugin responsible for advertising Intel IAA hardware resources to the kubelet.
|
|
||||||
displayName: Intel IAA Device Plugin
|
|
||||||
kind: IaaDevicePlugin
|
|
||||||
name: iaadeviceplugins.deviceplugin.intel.com
|
|
||||||
version: v1
|
|
||||||
description: |
|
description: |
|
||||||
[Intel Device Plugins for Kubernetes](https://github.com/intel/intel-device-plugins-for-kubernetes) is a collection of
|
[Intel Device Plugins for Kubernetes](https://github.com/intel/intel-device-plugins-for-kubernetes) is a collection of
|
||||||
[device plugins](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/) advertising Intel specific hardware resources
|
[device plugins](https://kubernetes.io/docs/concepts/extend-kubernetes/compute-storage-net/device-plugins/) advertising Intel specific hardware resources
|
||||||
|
Loading…
Reference in New Issue
Block a user