Skip to content

Commit 1dda8e2

Browse files
committed
Add support to build Operator-bundle
Openshift Operator-bundle enables deploying the Operator through RH Operator Hub Bundle image contains the metadata required to deploy the Operator. Change-Id: Iac14493f348c688ecd99a5d4b255e04d2e6d013e Signed-off-by: VijayaRamarao Mellempudi <[email protected]>
1 parent 581dd64 commit 1dda8e2

File tree

4 files changed

+112
-6
lines changed

4 files changed

+112
-6
lines changed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,8 +260,8 @@ bundle: manifests kustomize operator-sdk ## Generate bundle manifests and metada
260260
$(OPERATOR_SDK) bundle validate ./bundle
261261

262262
.PHONY: bundle-build
263-
bundle-build: ## Build the bundle image.
264-
$(CONTAINER_TOOL) build -f bundle.Dockerfile -t $(BUNDLE_IMG) --build-arg VERSION=${VERSION} .
263+
bundle-build: bundle ## Build the bundle image.
264+
$(CONTAINER_TOOL) build -f operator-bundle.Dockerfile -t $(BUNDLE_IMG) --build-arg VERSION=${VERSION} .
265265

266266
.PHONY: bundle-push
267267
bundle-push: ## Push the bundle image.

README.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# aic-operator
1+
# cloud_ai_openshift_operator
22
The AIC Operator enables the Qualcomm® Cloud AI series of hardware on OpenShift clusters by
33
automating the configuration and installation of their Linux device drivers and setting up
44
its Device Plugin.
@@ -54,9 +54,12 @@ Now, on with building and deploying the AIC Operator.
5454
**Build and push your image to the location specified by `IMG`:**
5555

5656
```sh
57-
make docker-build docker-push IMG=<some-registry>/aic-operator:tag
57+
make docker-build docker-push IMG=<some-registry>/cloud_ai_openshift_operator:tag VERSION=<version>
58+
```
59+
### Build Operator-Bundle
60+
```sh
61+
make bundle-build bundle-push IMG=<some-registry>/cloud_ai_openshift_operator:tag BUNDLE_IMG=<some-registry>/cloud_ai_openshift_operator_bundle:tag VERSION=<version>
5862
```
59-
6063
**NOTE:** This image ought to be published in the personal registry you specified.
6164
And it is required to have access to pull the image from the working environment.
6265
Make sure you have the proper permission to the registry if the above commands don’t work.
@@ -70,7 +73,7 @@ make install
7073
**Deploy the Manager to the cluster with the image specified by `IMG`:**
7174

7275
```sh
73-
make deploy IMG=<some-registry>/aic-operator:tag
76+
make deploy IMG=<some-registry>/cloud_ai_openshift_operator:tag
7477
```
7578

7679
> **NOTE**: If you encounter RBAC errors, you may need to grant yourself cluster-admin
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
apiVersion: operators.coreos.com/v1alpha1
2+
kind: ClusterServiceVersion
3+
metadata:
4+
annotations:
5+
alm-examples: '[]'
6+
capabilities: Basic Install
7+
categories: AI/Machine Learning, OpenShift Optional
8+
certified: "false"
9+
containerImage: ghcr.io/quic/cloud_ai_openshift_operator:test1
10+
description: Automate the management of OpenShift Operator for Qualcomm AI 100
11+
accelerators.
12+
features.operators.openshift.io/cnf: "false"
13+
features.operators.openshift.io/cni: "false"
14+
features.operators.openshift.io/csi: "false"
15+
features.operators.openshift.io/disconnected: "false"
16+
features.operators.openshift.io/fips-compliant: "false"
17+
features.operators.openshift.io/proxy-aware: "false"
18+
features.operators.openshift.io/tls-profiles: "false"
19+
features.operators.openshift.io/token-auth-aws: "false"
20+
features.operators.openshift.io/token-auth-azure: "false"
21+
features.operators.openshift.io/token-auth-gcp: "false"
22+
provider: Qualcomm Innovation Center, Inc.
23+
repository: https://github.com/quic/aic-operator
24+
support: Qualcomm Innovation Center, Inc.
25+
name: aic-operator.v0.0.0
26+
namespace: placeholder
27+
spec:
28+
apiservicedefinitions: {}
29+
customresourcedefinitions:
30+
owned:
31+
- description: AIC is the Schema for the aics API
32+
displayName: AIC
33+
kind: AIC
34+
name: aics.aic.quicinc.com
35+
version: v1
36+
description: The Openshift Operator enables the Qualcomm® Cloud AI series of hardware
37+
on OpenShift clusters by automating the configuration and installation of their
38+
Linux device drivers and its Kubernetes Device Plugin.
39+
displayName: AIC Operator
40+
icon:
41+
- base64data: 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
42+
mediatype: image/png
43+
install:
44+
spec:
45+
deployments: null
46+
strategy: ""
47+
installModes:
48+
- supported: false
49+
type: OwnNamespace
50+
- supported: false
51+
type: SingleNamespace
52+
- supported: false
53+
type: MultiNamespace
54+
- supported: true
55+
type: AllNamespaces
56+
keywords:
57+
- AIC
58+
- AIC-Operator
59+
links:
60+
- name: AIC Operator
61+
url: https://github.com/quic/aic-operator
62+
maintainers:
63+
64+
name: quic_vmellemp
65+
66+
name: quic_carls
67+
maturity: alpha
68+
provider:
69+
name: Qualcomm Innovation Center, Inc.
70+
url: https://github.com/quic/aic-operator
71+
version: 0.0.0

operator-bundle.Dockerfile

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
FROM scratch
2+
ARG VERSION=none
3+
LABEL name="cloud_ai_openshift_operator_bundle" \
4+
maintainer="Qualcomm Innovation Center, Inc." \
5+
vendor="Qualcomm Innovation Center, Inc." \
6+
version="${VERSION}" \
7+
release="${VERSION}" \
8+
summary="Openshift Operator Bundle to orchestrate the Qualcomm AIC Operator" \
9+
description="The Openshift Operator Bundle enables the deployment of Openshift-Operator for \
10+
Qualcomm® Cloud AI series of hardware."
11+
12+
# Core bundle labels.
13+
LABEL operators.operatorframework.io.bundle.mediatype.v1=registry+v1
14+
LABEL operators.operatorframework.io.bundle.manifests.v1=manifests/
15+
LABEL operators.operatorframework.io.bundle.metadata.v1=metadata/
16+
LABEL operators.operatorframework.io.bundle.package.v1=aic-operator
17+
LABEL operators.operatorframework.io.bundle.channels.v1=alpha
18+
LABEL operators.operatorframework.io.metrics.builder=operator-sdk-v1.33.0
19+
LABEL operators.operatorframework.io.metrics.mediatype.v1=metrics+v1
20+
LABEL operators.operatorframework.io.metrics.project_layout=go.kubebuilder.io/v4
21+
22+
# Labels for testing.
23+
LABEL operators.operatorframework.io.test.mediatype.v1=scorecard+v1
24+
LABEL operators.operatorframework.io.test.config.v1=tests/scorecard/
25+
26+
# Copy files to locations specified by labels.
27+
COPY bundle/manifests /manifests/
28+
COPY bundle/metadata /metadata/
29+
COPY bundle/tests/scorecard /tests/scorecard/
30+
# Include license and location information
31+
LABEL org.opencontainers.image.source https://github.com/quic/cloud-ai-containers
32+
COPY manual_install/src_img_build/CONTAINER_LICENSE.txt /licenses/

0 commit comments

Comments
 (0)