Skip to content

Commit

Permalink
Merge main into stateless authorization branch (#611)
Browse files Browse the repository at this point in the history
* Update GitHub Actions (#547)

* update github actions

* add exclusion

* Adding tolerations for resiliency (#546)

* Update Go Modules (#548)

* update go modules

* replace deprecated ioutil package

* Fix related images auto update (#551)

* Fix auto update of related images during make bundle

* update comments in makefile

---------

Co-authored-by: panigs7 <spandita.panigrahi@dell.com>

* Fix invalid controllerstatus in ocp UI (#550)

* fix invalid controller status

* remove client status in apexclient as there is no client status in acc object

---------

Co-authored-by: panigs7 <spandita.panigrahi@dell.com>

* Add support for Authorization upgrade (#549)

* Add support for authorization upgrade

* Add upgrade-path.yaml for authorization proxy server

* Add min upgrade path support for authorization proxy server

* Fix status loggers

* Fix linting issues

* Fix linting issues

* Fix authorization pre-checks

* Update checkUpgrade for authorization

* Update checkUpgrade for authorization

* Fix controller UT

* Add test scenarios for authorization sidecar upgrade to e2e

* Fix module UT failure

* Increase code coverage of controller pkg

* Increase code coverage of controller pkg

* Address review comments

---------

Co-authored-by: Jooseppi Luna <jooseppi_luna@dell.com>

* Fix linter errors (#557)

* Added E2E Tests Scenarios for Authorization upgrade (#559)

* Add yaml lint GitHub Action (#561)

* add yaml lint action

* E2E Updates (#564)

* e2e test changes

* consolidate replication test cases, comment out non-replication tags

* fix bug

* Update env-e2e-test.sh

* got tests working

* reconfigure how we run tests

* minor bug fixes to script

* fix bug

* bug fix

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update array-info.sh

* Update README.md

* Update README.md

* Update README.md

* more detailed examples

* Update README.md

* go fmt

* Update e2e_test.go

* merge auth upgrade tests

* consolidate sanity test cases

* Added function to get the csm namespaces from the cluster. (#581)

* function to get the csm namespaces from the cluster

* change the function to unexported type for time being

* refactor variablename and error message

* refactor variablename and error message

* fix yaml lint

* Cherrypick v1.4.4 changes into main (#585)

* add v1.0.3 support (#524)

* add v1.0.3 support

* update test files

(cherry picked from commit 0763aac)

* Changed cluster role binding for secrets to role binding on specific namespaces (#527)

* Changed cluster role binding for secrets to role binding on specific namespaces

* Modified sample CRD

* Added Default CSM Namespace

* Added csmNamespace in crds and samples

* Added namespace - default to role

* Hardcoded CSM namespace as dell-csm

* Added namespace creation

* Added secret names

* add Namespace to GetModuleComponentObj

* Added secret names

* ClusterRole does not have namespace (k8s docs)

---------

Co-authored-by: nijayf <francis.nijay@emc.com>
Co-authored-by: Jooseppi Luna <jooseppi_luna@dell.com>
(cherry picked from commit 4e74385)

* Remove secret create restriction by resourcenames (#529)

* Removed restriction by resourcenames

* Moved permissions from clusterrole to role

* Moved permissions from clusterrole to role

* Update statefulset.yaml

* Update statefulset.yaml

* Update statefulset.yaml

* Added list permission for secret at cluster level

* removed list secret

* review changes

* review changes

---------

Co-authored-by: Jooseppi Luna <jooseppi_luna@dell.com>
(cherry picked from commit 7520e8a)

* dont delete namespaces BRUV (#531)

(cherry picked from commit 8ce8e00)

---------

Co-authored-by: JacobGros <jacobgrosner4@gmail.com>
Co-authored-by: Francis Nijay <francis.nijay@dell.com>

* Add downgrade support (#584)

* Support downgrade

* Fix Annotation CSMVersion

* removing comment

* Fixing unit-test

* increase unit-test coverage

* Fix lint errors

* Fix bug in versioncheck

* Change variable name

* Fix changes

* Fix commits

* Added annotations for app-mobility upgrade (#587)

* Added annotations for app-mobility upgrade

* Added upgrade path for 1.0.3 release

Signed-off-by: Harish P <harish_p4@dell.com>

---------

Signed-off-by: Harish P <harish_p4@dell.com>

* changes to support brownfield onboarding to ANK8s (#588)

* changes to support brownfield onboarding to ANK8s

* code refactoring

* remove commented code

* remove commented code

* remove commented code

* remove commented code

* remove commented code

* Fixed lint issues

* Fixed lint issues

* Added UT tescases

* Removing the failed testcases

* add new unit test case

* add new unit test case

* refactor the code

* refactor the code

* refactor the code

* refactor the code

* refactor the code

* lint-fix

* lint-fix

* Fixed lint issues

Signed-off-by: Harish P <harish_p4@dell.com>

* Fixed lint issues

Signed-off-by: Harish P <harish_p4@dell.com>

---------

Signed-off-by: Harish P <harish_p4@dell.com>
Co-authored-by: Harish P <harish_p4@dell.com>
Co-authored-by: meggm <meghana.gm@dell.com>

* Updating ubi micro dependencies (#594)

* Updating ubi micro dependencies

* Downgrade support test (#592)

* Add downgrade unit-tests

* Fix broken unit-test

* downgradestests

* Add E2E test for downgrade support

* Adding comments

---------

Co-authored-by: daniyaliqbal2024 <daniyaliqbal_2024@depauw.edu>

* Removing the role and rolebindings from the brownfield deployment (#596)

* Removing the role and rolebindings from the brownfield deployment

* Removing the role and rolebindings from the brownfield deployment

* fixed lint issues

* refactor getting acc namespace

* Removing the role and rolebindings from the brownfield deployment

---------

Co-authored-by: Harish P <harishp8889@gmail.com>
Co-authored-by: Harish P <harish_p4@dell.com>
Co-authored-by: ashleyvjoy <Ashley.Joy@dell.com>

* update k8s.io/kubernetes (#601)

* Cherry-picking commits from patch release 1.5.1 (#599)

Cherry-picking the commits from patch release 1.5.1

* add e2e test case (#603)

* Updating ubi micro script permissions (#605)

* Prepare CSM-Operator for 1.6.0 release (#604)

* update csm-operator version

* update driver sample files and fix linting errors

* upgrade modules

* update sidecars

* update config version

* update sidecars and ocp version

* CSI-Unity: Update usage of env X_CSI_ALLOWED_NETWORKS (#606)

* update usage of env X_CSI_ALLOWED_NETWORKS

* update config sample yaml

* update env in node.yaml

* update permission for containerstorage module (#602)

* apex connectivity client upgrade support (#593)

* sync acc and statefulset

* update acc

* fix golangci-lint

* fix linter

* remove comments

* UT coverage

* acc controller UT

* lint fix and added statefulset UTs

* lint fix

* controller UT

* fix linter

* remove return for constant

* UT fix

* linter fix

* lint fix

* Driver pkg UT

* remove comments

* Add Application Mobility 1.1.0 Support (#607)

* Add app mobility 1.1.0 support

* update min upgrade path

* Add n-2 support for upgrade/downgrade (#609)

* fix linting check

* fix linting

* [KRV-25132] Auth CR changes

* update files for new CR format for auth

* [KRV-25132] Default images

---------

Signed-off-by: Harish P <harish_p4@dell.com>
Co-authored-by: Chiman Jain <36687396+chimanjain@users.noreply.github.com>
Co-authored-by: abhi16394 <32352976+abhi16394@users.noreply.github.com>
Co-authored-by: HarishH-DELL <109663924+HarishH-DELL@users.noreply.github.com>
Co-authored-by: panigs7 <spandita.panigrahi@dell.com>
Co-authored-by: Akshay Saini <109056238+AkshaySainiDell@users.noreply.github.com>
Co-authored-by: Jooseppi Luna <jooseppi_luna@dell.com>
Co-authored-by: Don Khan <don.khan@dell.com>
Co-authored-by: KshitijaKakde <111420075+KshitijaKakde@users.noreply.github.com>
Co-authored-by: ashleyvjoy <110008193+ashleyvjoy@users.noreply.github.com>
Co-authored-by: JacobGros <jacobgrosner4@gmail.com>
Co-authored-by: Francis Nijay <francis.nijay@dell.com>
Co-authored-by: Harish P <harishp8889@gmail.com>
Co-authored-by: Harish P <harish_p4@dell.com>
Co-authored-by: meggm <meghana.gm@dell.com>
Co-authored-by: rodrigobassil <115796094+rodrigobassil@users.noreply.github.com>
Co-authored-by: daniyaliqbal2024 <daniyaliqbal_2024@depauw.edu>
Co-authored-by: Meghana GM <41953467+meggm@users.noreply.github.com>
Co-authored-by: ashleyvjoy <Ashley.Joy@dell.com>
Co-authored-by: Nitesh-Rewatkar <90749010+nitesh3108@users.noreply.github.com>
Co-authored-by: Rajendra Indukuri <82365588+rajendraindukuri@users.noreply.github.com>
Co-authored-by: Surya Gupta <109594002+suryagupta4@users.noreply.github.com>
Co-authored-by: root <shayna_finocchiaro@dell.com>
Co-authored-by: Evgeny Uglov <evgeny.uglov@dell.com>
  • Loading branch information
1 parent ce0388c commit 535a5cd
Show file tree
Hide file tree
Showing 406 changed files with 32,518 additions and 4,847 deletions.
54 changes: 36 additions & 18 deletions .github/workflows/actions.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
name: Workflow
on:
push:
branches: [ main ]
branches: [main]
pull_request:
branches: [ '**' ]
branches: ["**"]
jobs:
code-check:
name: Check Go formatting, linting, vetting
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v3.2.0
uses: actions/checkout@v4
- name: Run the formatter, linter, and vetter
uses: dell/common-github-actions/go-code-formatter-linter-vetter@main
with:
Expand All @@ -21,7 +21,7 @@ jobs:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout the code
# uses: actions/checkout@v3.2.0
# uses: actions/checkout@v4
# - name: Run the forbidden words scan
# uses: dell/common-github-actions/code-sanitizer@main
# with:
Expand All @@ -31,16 +31,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v3.2.0
uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "1.22"
cache: false
- name: Checkout csm-operator
uses: actions/checkout@v3.2.0
uses: actions/checkout@v4
with:
repository: 'dell/csm-operator'
path: 'csm-operator'
repository: "dell/csm-operator"
path: "csm-operator"
- name: Run unit tests and check package coverage
uses: dell/common-github-actions/go-code-tester@csm-operator-controllers
with:
Expand All @@ -50,7 +50,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v3.2.0
uses: actions/checkout@v4
- name: Run unit tests and check package coverage
uses: dell/common-github-actions/go-code-tester@main
with:
Expand All @@ -61,7 +61,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v3.2.0
uses: actions/checkout@v4
- name: Run unit tests and check package coverage
uses: dell/common-github-actions/go-code-tester@main
with:
Expand All @@ -72,7 +72,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v3.2.0
uses: actions/checkout@v4
- name: Run Go Security
uses: securego/gosec@master
with:
Expand All @@ -82,31 +82,49 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v3.2.0
uses: actions/checkout@v4
- name: Run malware scan
uses: dell/common-github-actions/malware-scanner@main
with:
directories: .
options: -ri
yaml_lint_scan:
name: Run Yaml Lint
runs-on: ubuntu-latest
steps:
- name: Checkout the code
uses: actions/checkout@v4
- name: setup python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: pip install yamllint
- run: yamllint .
image_security_scan:
name: Image Scanner
runs-on: ubuntu-latest
env:
BASE_IMG : ubuntu:latest
BASE_IMG: ubuntu:latest
steps:
- name: Set up Go 1.22+
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: ^1.22
id: go
- name: Checkout the code
uses: actions/checkout@v3.2.0
uses: actions/checkout@v4
- name: Build Docker Images
run: DEFAULT_IMG=csm-operator:latest make -o gen-semver docker-build
run: |
chmod +x ./scripts/build-ubi-micro.sh
make build-base-image
make -o gen-semver
podman build -t docker.io/csm-operator -f ./Dockerfile --build-arg GOIMAGE=golang:latest --build-arg BASEIMAGE="localhost/csm-operator-ubimicro"
podman save docker.io/library/csm-operator -o /tmp/csm-operator.tar
docker load -i /tmp/csm-operator.tar
- name: Scan controller Image
uses: Azure/container-scan@v0
env:
env:
DOCKLE_HOST: "unix:///var/run/docker.sock"
with:
image-name: csm-operator:latest
image-name: csm-operator
severity-threshold: HIGH
8 changes: 4 additions & 4 deletions .github/workflows/linters.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@ jobs:
name: golangci-lint
runs-on: ubuntu-latest
steps:
- uses: actions/setup-go@v4
- uses: actions/setup-go@v5
with:
go-version: "1.22"
cache: false
- name: Checkout the code
uses: actions/checkout@v3.2.0
uses: actions/checkout@v4
- name: Vendor packages
run: |
go mod vendor
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
uses: golangci/golangci-lint-action@v5
with:
version: v1.55
version: latest
skip-cache: true
2 changes: 2 additions & 0 deletions .golangci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ issues:
max-issues-per-linter: 0
max-same-issues: 0
new: false
exclude:
- "parameter 'clusterConfigData' seems to be unused, consider removing or renaming it as _"

output:
print-linter-name: true
Expand Down
31 changes: 31 additions & 0 deletions .yamllint.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
yaml-files:
- "*.yaml"
- "*.yml"
- ".yamllint"

rules:
braces: enable
brackets: enable
colons: enable
commas: enable
comments:
level: warning
comments-indentation:
level: warning
document-end: disable
document-start: disable
empty-lines: enable
empty-values: disable
hyphens: enable
indentation: enable
key-duplicates: enable
key-ordering: disable
line-length: disable
new-line-at-end-of-file: enable
new-lines: enable
octal-values: disable
quoted-strings: disable
trailing-spaces: enable
truthy:
level: warning
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ LABEL vendor="Dell Inc." \
name="dell-csm-operator" \
summary="Operator for installing Dell CSI Drivers and Dell CSM Modules" \
description="Common Operator for installing various Dell CSI Drivers and Dell CSM Modules" \
version="1.5.0" \
version="1.6.0" \
license="Dell CSM Operator Apache License"

# copy the licenses folder
Expand Down
35 changes: 19 additions & 16 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,7 @@ test: manifests gen-semver fmt vet envtest ## Run tests.
KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) -p path)" go test ./... -coverprofile cover.out

controller-unit-test:
go clean -cache && go test -v -coverpkg=github.com/dell/csm-operator/pkg/logger,github.com/dell/csm-operator/pkg/resources/daemonset,github.com/dell/csm-operator/pkg/resources/deployment,github.com/dell/csm-operator/pkg/resources/configmap,github.com/dell/csm-operator/pkg/resources/serviceaccount,github.com/dell/csm-operator/pkg/resources/rbac,github.com/dell/csm-operator/pkg/resources/csidriver,github.com/dell/csm-operator/pkg/constants,github.com/dell/csm-operator/controllers -coverprofile=c.out github.com/dell/csm-operator/controllers

go clean -cache && go test -v -coverpkg=github.com/dell/csm-operator/pkg/logger,github.com/dell/csm-operator/pkg/resources/daemonset,github.com/dell/csm-operator/pkg/resources/deployment,github.com/dell/csm-operator/pkg/resources/statefulset,github.com/dell/csm-operator/pkg/resources/configmap,github.com/dell/csm-operator/pkg/resources/serviceaccount,github.com/dell/csm-operator/pkg/resources/rbac,github.com/dell/csm-operator/pkg/resources/csidriver,github.com/dell/csm-operator/pkg/constants,github.com/dell/csm-operator/controllers -coverprofile=c.out github.com/dell/csm-operator/controllers
driver-unit-test:
go clean -cache && go test -v -coverprofile=c.out github.com/dell/csm-operator/pkg/drivers

Expand All @@ -93,13 +92,11 @@ build: gen-semver fmt vet ## Build manager binary.
run: generate gen-semver fmt vet static-manifests ## Run a controller from your host.
go run ./main.go

podman-build: gen-semver download-csm-common ## Build podman image with the manager.
$(eval include csm-common.mk)
podman build . -t ${DEFAULT_IMG} --build-arg BASEIMAGE=$(DEFAULT_BASEIMAGE) --build-arg GOIMAGE=$(DEFAULT_GOIMAGE)
podman-build: gen-semver build-base-image ## Build podman image with the manager.
podman build . -t ${DEFAULT_IMG} --build-arg BASEIMAGE=$(BASEIMAGE) --build-arg GOIMAGE=$(DEFAULT_GOIMAGE)

docker-build: gen-semver download-csm-common ## Build docker image with the manager.
$(eval include csm-common.mk)
docker build . -t ${DEFAULT_IMG} --build-arg BASEIMAGE=$(DEFAULT_BASEIMAGE) --build-arg GOIMAGE=$(DEFAULT_GOIMAGE)
docker-build: gen-semver build-base-image ## Build docker image with the manager.
docker build . -t ${DEFAULT_IMG} --build-arg BASEIMAGE=$(BASEIMAGE) --build-arg GOIMAGE=$(DEFAULT_GOIMAGE)

docker-push: docker-build ## Builds, tags and pushes docker image with the manager.
docker tag ${DEFAULT_IMG} ${IMG}
Expand Down Expand Up @@ -139,7 +136,7 @@ $(LOCALBIN):
CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen

## Tool Versions
CONTROLLER_TOOLS_VERSION ?= v0.14.0
CONTROLLER_TOOLS_VERSION ?= v0.15.0

.PHONY: controller-gen
controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. If wrong version is installed, it will be overwritten.
Expand Down Expand Up @@ -171,16 +168,16 @@ rm -rf $$TMP_DIR ;\
endef

.PHONY: bundle
bundle: static-manifests gen-semver kustomize ## Generate bundle manifests and metadata, then validate generated files.
bundle: static-manifests gen-semver kustomize ## Generate bundle manifests and metadata, then validate generated files. Set --use-image-digests=true to use SHA ID of image instead of image tag.
operator-sdk generate kustomize manifests -q
cd config/manager && $(KUSTOMIZE) edit set image controller=$(IMG)
$(KUSTOMIZE) build config/manifests | operator-sdk generate bundle -q --overwrite --version $(BUNDLE_VERSION) $(BUNDLE_METADATA_OPTS)
$(KUSTOMIZE) build config/manifests | operator-sdk generate bundle -q --overwrite --version $(BUNDLE_VERSION) $(BUNDLE_METADATA_OPTS) --use-image-digests=false
operator-sdk bundle validate ./bundle

.PHONY: bundle-build
bundle-build: gen-semver download-csm-common ## Build the bundle image.
$(eval include csm-common.mk)
docker build -f bundle.Dockerfile -t $(BUNDLE_IMG) --build-arg BASEIMAGE=$(DEFAULT_BASEIMAGE) .
bundle-build: gen-semver build-base-image ## Build the bundle image.
docker build -f bundle.Dockerfile -t $(BUNDLE_IMG) --build-arg BASEIMAGE=$(BASEIMAGE) .


.PHONY: bundle-push
bundle-push: gen-semver ## Push the bundle image.
Expand All @@ -203,7 +200,7 @@ OPM = $(shell which opm)
endif
endif

# A comma-separated list of bundle images (e.g. make catalog-build BUNDLE_IMGS=example.com/operator-bundle:v0.1.0,example.com/operator-bundle:v1.5.0).
# A comma-separated list of bundle images (e.g. make catalog-build BUNDLE_IMGS=example.com/operator-bundle:v0.1.0,example.com/operator-bundle:v1.6.0).
# These images MUST exist in a registry and be pull-able.
BUNDLE_IMGS ?= $(BUNDLE_IMG)

Expand All @@ -229,7 +226,13 @@ catalog-push: gen-semver ## Push a catalog image.
lint: build
golangci-lint run --fix

.PHONY: build-base-image
build-base-image: download-csm-common
$(eval include csm-common.mk)
sh ./scripts/build-ubi-micro.sh $(DEFAULT_BASEIMAGE)
$(eval BASEIMAGE=csm-operator-ubimicro:latest)

# Download common CSM configuration file used for builds
.PHONY: download-csm-common
download-csm-common:
curl -O -L https://raw.githubusercontent.com/dell/csm/main/config/csm-common.mk
curl -O -L https://raw.githubusercontent.com/dell/csm/main/config/csm-common.mk
25 changes: 19 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ You may obtain a copy of the License at
-->

# Dell Technologies Container Storage Modules (CSM) Operator

[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](https://github.com/dell/csm/blob/main/docs/CODE_OF_CONDUCT.md)
[![License](https://img.shields.io/github/license/dell/csm-operator)](LICENSE)
[![Docker Pulls](https://img.shields.io/docker/pulls/dellemc/dell-csm-operator)](https://hub.docker.com/r/dellemc/dell-csm-operator)
Expand All @@ -27,14 +28,15 @@ Dell Technologies Container Storage Modules (CSM) Operator is an open-source Kub
* [List of Adopters](./docs/ADOPTERS.md)
* [Support](./docs/SUPPORT.md)
* [Security](./docs/SECURITY.md)
* [Dell Container Storage Modules Operator](#dell-csm-operator)
* [Dell Container Storage Modules Operator](#dell-container-storage-modules-operator)
* [Support](#support)
* [Supported Platforms](#supported-platforms)
* [Installation](#installation)
* [Install CSI Drivers and CSM Modules](#install-csi-drivers-and-csm-modules)
* [Uninstall CSI Drivers and CSM Modules](#uninstall-csi-drivers-and-csm-modules)

# Dell Container Storage Modules Operator

Dell Container Storage Modules Operator is a Kubernetes native application which helps in installing and managing CSI Drivers and CSM Modules provided by Dell Technologies for its various storage platforms.
Dell Container Storage Modules Operator uses Kubernetes CRDs (Custom Resource Definitions) to define a manifest that describes the deployment specifications for each driver to be deployed.

Expand All @@ -51,18 +53,21 @@ Currently, the Dell Container Storage Modules Operator can be used to deploy the
**NOTE**: You can refer to additional information about the Dell Container Storage Modules Operator on the new documentation website [here](https://dell.github.io/csm-docs/docs/deployment/csmoperator/)

## Support

The Dell Container Storage Modules Operator image is available on Dockerhub and is officially supported by Dell Technologies.
For any CSM Operator and driver issues, questions or feedback, join the [Dell Technologies Container community](https://www.dell.com/community/Containers/bd-p/Containers) or the [Slack channel for Dell Container Storage Modules](https://dellemccsm.slack.com/).

## Supported Platforms

Dell Container Storage Modules Operator has been tested and qualified with

* Upstream Kubernetes cluster v1.27, v1.28, v1.29
* OpenShift Clusters 4.13, 4.14 with RHEL 8.x & RHCOS worker nodes
* Upstream Kubernetes cluster v1.28, v1.29, v1.30
* OpenShift Clusters 4.14, 4.15 with RHEL 8.x & RHCOS worker nodes

## Installation

## Install Operator (both OLM and Non OLM) in dev mode

1. Clone the repo: `git clone https://github.com/dell/csm-operator.git`
2. Navigate one level inside the cloned repo: `cd csm-operator`
3. Execute `make install` to install the CRDs
Expand All @@ -74,12 +79,15 @@ NOTE: Closing the session where operator is running will stop the operator.
## Install Operator using scripts

### Operator install on a cluster without OLM

For Non OLM based install of Operator please refer the steps given here at [https://dell.github.io/csm-docs/docs/deployment/csmoperator/#operator-installation-on-a-cluster-without-olm](https://dell.github.io/csm-docs/docs/deployment/csmoperator/#operator-installation-on-a-cluster-without-olm)

To uninstall the Operator, execute `bash scripts/uninstall.sh`

### Operator install on a cluster with OLM

NOTE: Index image or Catalog image should be used for OLM based install of Operator. This mode of install is used only for internal testing purposes as the bundle and index/catalog images are not posted in Dockerhub.

1. Clone the repo: `git clone https://github.com/dell/csm-operator.git`
2. Navigate one level inside the cloned repo: `cd csm-operator`
3. Update the image specified in `deploy/olm/operator_community.yaml` to the required image.
Expand All @@ -88,31 +96,36 @@ To uninstall the Operator, execute `bash scripts/uninstall.sh`
To uninstall the Operator, execute `bash scripts/uninstall_olm.sh`

### Operator install using offline bundle on a cluster without OLM
For Non OLM based install of Operator using offline bundle please refer the steps given here at [https://dell.github.io/csm-docs/docs/deployment/csmoperator/#offline-bundle-installation-on-a-cluster-without-olm](https://dell.github.io/csm-docs/docs/deployment/csmoperator/#offline-bundle-installation-on-a-cluster-without-olm)

For Non OLM based install of Operator using offline bundle please refer the steps given here at [https://dell.github.io/csm-docs/docs/deployment/csmoperator/#offline-bundle-installation-on-a-cluster-without-olm](https://dell.github.io/csm-docs/docs/deployment/csmoperator/#offline-bundle-installation-on-a-cluster-without-olm)

## Install CSI Drivers and CSM Modules

To install CSI drivers and CSM modules using the operator please refer here at [https://dell.github.io/csm-docs/docs/deployment/csmoperator/](https://dell.github.io/csm-docs/docs/deployment/csmoperator/)

## Uninstall CSI Drivers and CSM Modules

To uninstall CSI drivers and CSM modules installed using the operator please refer here at [https://dell.github.io/csm-docs/docs/deployment/csmoperator/](https://dell.github.io/csm-docs/docs/deployment/csmoperator/).

## Install Apex Connectivity Client

1. Ensure that CSM Operator is installed and the operator pods are up and running.
2. Edit the images to point to the correct location in `connectivity_client_v100.yaml` sample file located at `csm-operator\samples` folder.
3. To deploy Apex Connectivity Client, execute `kubectl create -f samples\connectivity_client_v100.yaml`.
4. Ensure that the Apex Connectivity Client pods are up and running.

## Update Apex Connectivity Client

1. Ensure that CSM Operator is installed and the operator pods are up and running.
2. Edit the required images to point to the correct location in `connectivity_client_v100.yaml` sample file located at `csm-operator\samples` folder.
3. To update Apex Connectivity Client, execute `kubectl apply -f samples\connectivity_client_v100.yaml`.
4. Ensure that the Apex Connectivity Client pods are up and running.

## Uninstall Apex Connectivity Client

1. Ensure that CSM Operator is installed and the operator pods are up and running.
3. To uninstall Apex Connectivity Client, execute `kubectl delete -f samples\connectivity_client_v100.yaml`
4. Ensure that the Apex Connectivity Client pods are deleted.
2. To uninstall Apex Connectivity Client, execute `kubectl delete -f samples\connectivity_client_v100.yaml`
3. Ensure that the Apex Connectivity Client pods are deleted.

## Versioning

Expand Down
Loading

0 comments on commit 535a5cd

Please sign in to comment.