Skip to content
This repository has been archived by the owner on May 8, 2024. It is now read-only.

Commit

Permalink
feat: mayastor as a first class citizen in openebs (#317)
Browse files Browse the repository at this point in the history
* feat: mayastor as a first class citizen in openebs

Signed-off-by: Prateek Chandra <[email protected]>

* fix: fixed spaces in README file

Signed-off-by: Prateek Chandra <[email protected]>

* chore(chart): update mayastor helm chart
- fix indentation for mayastor object members in values.yaml
- set image tag for mayastor images to release-2.0
- rework README documentation
- trim the mayastor chart option set on the master chart values.yaml

Signed-off-by: Niladri Halder <[email protected]>

* chore(ci): add entry for mayastor repo update

Signed-off-by: Niladri Halder <[email protected]>

---------

Signed-off-by: Prateek Chandra <[email protected]>
Signed-off-by: Niladri Halder <[email protected]>
Co-authored-by: Niladri Halder <[email protected]>
  • Loading branch information
pchandra19 and niladrih authored Feb 16, 2023
1 parent 34a030c commit e577693
Show file tree
Hide file tree
Showing 15 changed files with 280 additions and 73 deletions.
1 change: 1 addition & 0 deletions .github/workflows/lint-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ jobs:

- name: Add dependency chart repos
run: |
helm repo add openebs-mayastor https://openebs.github.io/mayastor-extensions
helm repo add openebs-ndm https://openebs.github.io/node-disk-manager
helm repo add openebs-localpv https://openebs.github.io/dynamic-localpv-provisioner
helm repo add openebs-jiva https://openebs.github.io/jiva-operator
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ OpenEBS helm chart will includes common components that are used by multiple eng
- Security Policies like RBAC, PSP, Kyverno

Engine charts included as dependencies are:
- [mayastor] (https://github.com/openebs/mayastor-extensions/tree/release/2.0/chart)
- [cStor](https://github.com/openebs/cstor-operators/tree/HEAD/deploy/helm/charts)
- [Jiva](https://github.com/openebs/jiva-operator/tree/HEAD/deploy/helm/charts)
- [ZFS Local PV](https://github.com/openebs/zfs-localpv/tree/HEAD/deploy/helm/charts)
Expand All @@ -31,7 +32,6 @@ Engine charts included as dependencies are:

Some of the other charts that will be included in the upcoming releases are:
- [Rawfile Local PV](https://github.com/openebs/rawfile-localpv/tree/HEAD/deploy/charts/rawfile-csi)
- [Mayastor](https://github.com/openebs/mayastor/tree/develop/chart)
- [Dashboard](https://github.com/openebs/monitoring/tree/develop/deploy/charts/openebs-monitoring)

> **Note:** cStor and Jiva out-of-tree provisioners will be replaced by respective CSI charts listed above. OpenEBS users are expected to install the cstor and jiva CSI components and migrate the pools and volumes. The steps to migate are available at: https://github.com/openebs/upgrade
Expand Down
6 changes: 5 additions & 1 deletion charts/openebs/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,10 +44,14 @@ dependencies:
repository: "https://openebs.github.io/zfs-localpv"
condition: zfs-localpv.enabled
- name: lvm-localpv
version: "1.0.0"
version: "1.0.1"
repository: "https://openebs.github.io/lvm-localpv"
condition: lvm-localpv.enabled
- name: nfs-provisioner
version: "0.10.0"
repository: "https://openebs.github.io/dynamic-nfs-provisioner"
condition: nfs-provisioner.enabled
- name: mayastor
version: "2.0.0"
repository: "https://openebs.github.io/mayastor-extensions"
condition: mayastor.enabled
172 changes: 102 additions & 70 deletions charts/openebs/README.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{{- if not .Values.mayastor.enabled -}}
{{- if .Values.localprovisioner.enabled }}
{{- $localpvprovisionerValues := index .Values "localpv-provisioner" }}
{{- if not $localpvprovisionerValues.enabled }}
Expand Down Expand Up @@ -124,3 +125,4 @@ spec:
{{ end }}
{{ end }}
{{ end }}
{{ end }}
2 changes: 2 additions & 0 deletions charts/openebs/templates/localprovisioner/device-class.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{{- if not .Values.mayastor.enabled -}}
{{- if .Values.localprovisioner.enabled }}
{{- $localpvprovisionerValues := index .Values "localpv-provisioner" }}
{{- if not $localpvprovisionerValues.enabled }}
Expand Down Expand Up @@ -36,3 +37,4 @@ reclaimPolicy: {{ .Values.localprovisioner.deviceClass.reclaimPolicy }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
2 changes: 2 additions & 0 deletions charts/openebs/templates/localprovisioner/hostpath-class.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{{- if not .Values.mayastor.enabled -}}
{{- if .Values.localprovisioner.enabled }}
{{- $localpvprovisionerValues := index .Values "localpv-provisioner" }}
{{- if not $localpvprovisionerValues.enabled }}
Expand Down Expand Up @@ -45,3 +46,4 @@ reclaimPolicy: {{ .Values.localprovisioner.hostpathClass.reclaimPolicy }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
2 changes: 2 additions & 0 deletions charts/openebs/templates/ndm/cluster-exporter-service.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{{- if not .Values.mayastor.enabled -}}
{{- if .Values.ndm.enabled }}
{{- if and .Values.ndmExporter.enabled .Values.ndmExporter.clusterExporter.metricsPort }}
{{- $ndmValues := index .Values "openebs-ndm" }}
Expand All @@ -21,3 +22,4 @@ spec:
{{- end }}
{{- end }}
{{- end }}
{{- end }}
2 changes: 2 additions & 0 deletions charts/openebs/templates/ndm/cluster-exporter.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{{- if not .Values.mayastor.enabled -}}
{{- if and (.Values.ndm.enabled) (.Values.ndmExporter.enabled) }}
{{- $ndmValues := index .Values "openebs-ndm" }}
{{- if not $ndmValues.enabled }}
Expand Down Expand Up @@ -49,3 +50,4 @@ spec:
{{- end }}
{{- end }}
{{- end }}
{{- end }}
2 changes: 2 additions & 0 deletions charts/openebs/templates/ndm/cm-node-disk-manager.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{{- if not .Values.mayastor.enabled -}}
{{- if .Values.ndm.enabled }}
{{- $ndmValues := index .Values "openebs-ndm" }}
{{- if not $ndmValues.enabled }}
Expand Down Expand Up @@ -46,3 +47,4 @@ data:
exclude: "{{ .Values.ndm.filters.excludePaths }}"
{{- end }}
{{- end }}
{{- end }}
2 changes: 2 additions & 0 deletions charts/openebs/templates/ndm/daemonset-ndm.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{{- if not .Values.mayastor.enabled -}}
{{- if .Values.ndm.enabled }}
{{- $ndmValues := index .Values "openebs-ndm" }}
{{- if not $ndmValues.enabled }}
Expand Down Expand Up @@ -184,3 +185,4 @@ spec:
{{- end }}
{{- end }}
{{- end }}
{{- end }}
2 changes: 2 additions & 0 deletions charts/openebs/templates/ndm/deployment-ndm-operator.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{{- if not .Values.mayastor.enabled -}}
{{- if .Values.ndmOperator.enabled }}
{{- $ndmValues := index .Values "openebs-ndm" }}
{{- if not $ndmValues.enabled }}
Expand Down Expand Up @@ -89,3 +90,4 @@ spec:
{{- end }}
{{- end }}
{{- end }}
{{- end }}
2 changes: 2 additions & 0 deletions charts/openebs/templates/ndm/node-exporter-service.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{{- if not .Values.mayastor.enabled -}}
{{- if .Values.ndm.enabled }}
{{- if and .Values.ndmExporter.enabled .Values.ndmExporter.nodeExporter.metricsPort }}
{{- $ndmValues := index .Values "openebs-ndm" }}
Expand All @@ -21,3 +22,4 @@ spec:
{{- end }}
{{- end }}
{{- end }}
{{- end }}
2 changes: 2 additions & 0 deletions charts/openebs/templates/ndm/node-exporter.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{{- if not .Values.mayastor.enabled -}}
{{- if and .Values.ndm.enabled .Values.ndmExporter.enabled }}
{{- $ndmValues := index .Values "openebs-ndm" }}
{{- if not $ndmValues.enabled }}
Expand Down Expand Up @@ -50,3 +51,4 @@ spec:
{{- end }}
{{- end }}
{{- end }}
{{- end }}
152 changes: 151 additions & 1 deletion charts/openebs/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -397,8 +397,158 @@ analytics:
# Specify in hours the duration after which a ping event needs to be sent.
pingInterval: "24h"

jiva:
mayastor:
# -- Enable Mayastor storage engine
# Note: Enabling this will remove LocalPV Provisioner and NDM (default chart components).
enabled: false
image:
# -- Image registry to pull Mayastor product images
registry: docker.io
# -- Image registry's namespace
repo: openebs
# -- Release tag for Mayastor images
tag: release-2.0
# -- ImagePullPolicy for Mayastor images
pullPolicy: Always

base:
initContainers:
enabled: true
containers:
- name: agent-core-grpc-probe
image: busybox:latest
command: ['sh', '-c', 'trap "exit 1" TERM; until nc -vzw 5 {{ .Release.Name }}-agent-core 50051; do date; echo "Waiting for agent-core-grpc services..."; sleep 1; done;']
- name: etcd-probe
image: busybox:latest
command: ['sh', '-c', 'trap "exit 1" TERM; until nc -vzw 5 {{ .Release.Name }}-etcd {{.Values.etcd.service.port}}; do date; echo "Waiting for etcd..."; sleep 1; done;']
initCoreContainers:
enabled: true
containers:
- name: etcd-probe
image: busybox:latest
command: ['sh', '-c', 'trap "exit 1" TERM; until nc -vzw 5 {{ .Release.Name }}-etcd {{.Values.etcd.service.port}}; do date; echo "Waiting for etcd..."; sleep 1; done;']
# docker-secrets required to pull images if the container registry from image.Registry is protected
imagePullSecrets:
# -- Enable imagePullSecrets for pulling our container images
enabled: false
# Name of the imagePullSecret in the installed namespace
secrets:
- name: login

metrics:
# -- Enable the metrics exporter
enabled: true

jaeger:
# -- Enable jaeger tracing
enabled: false

operators:
pool:
# -- Log level for diskpool operator service
logLevel: info

jaeger-operator:
# Name of jaeger operator
name: "{{ .Release.Name }}"
crd:
# Install jaeger CRDs
install: false
jaeger:
# Install jaeger-operator
create: false
rbac:
# Create a clusterRole for Jaeger
clusterRole: true

agents:
core:
# -- Log level for the core service
logLevel: info
ha:
enabled: true
node:
# -- Log level for the ha node service
logLevel: info
cluster:
# -- Log level for the ha cluster service
logLevel: info

apis:
rest:
# -- Log level for the rest service
logLevel: info
# -- Number of replicas of rest
replicaCount: 1

csi:
image:
# -- Image registry to pull all CSI Sidecar images
registry: registry.k8s.io
# -- Image registry's namespace
repo: sig-storage
# -- imagePullPolicy for all CSI Sidecar images
pullPolicy: IfNotPresent
# -- csi-provisioner image release tag
provisionerTag: v2.2.1
# -- csi-attacher image release tag
attacherTag: v3.2.1
# -- csi-node-driver-registrar image release tag
registrarTag: v2.1.0

controller:
# -- Log level for the csi controller
logLevel: info

node:
logLevel: info
topology:
segments:
openebs.io/csi-node: mayastor
# -- Add topology segments to the csi-node daemonset node selector
nodeSelector: false
kubeletDir: /var/lib/kubelet

io_engine:
# -- Log level for the io-engine service
logLevel: info,io_engine=info
# -- Node selectors to designate storage nodes for diskpool creation
# Note that if multi-arch images support 'kubernetes.io/arch: amd64'
# should be removed.
nodeSelector:
openebs.io/engine: mayastor
kubernetes.io/arch: amd64

etcd:
# Pod labels; okay to remove the openebs logging label if required
podLabels:
app: etcd
openebs.io/logging: "true"
# -- Number of replicas of etcd
replicaCount: 3
persistence:
# -- If true, use a Persistent Volume Claim. If false, use emptyDir.
enabled: true
# -- Will define which storageClass to use in etcd's StatefulSets
# a `manual` storageClass will provision a hostpath PV on the same node
# an empty storageClass will use the default StorageClass on the cluster
storageClass: ""
# -- Volume size
size: 2Gi
podAntiAffinityPreset: "hard"

loki-stack:
# -- Enable loki log collection for Mayastor components
enabled: true

obs:
callhome:
# -- Enable callhome
enabled: true
# -- Log level for callhome
logLevel: "info"

jiva:
# non csi configuration
image: "openebs/jiva"
imageTag: "2.12.2"
Expand Down

0 comments on commit e577693

Please sign in to comment.