-
Notifications
You must be signed in to change notification settings - Fork 19
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(ci/upgrade): reintroduce ndm-operator
Signed-off-by: Niladri Halder <[email protected]>
- Loading branch information
Showing
2 changed files
with
255 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,253 @@ | ||
# Copyright © 2020 The OpenEBS Authors | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
|
||
# This is the node-disk-manager related config. | ||
# It can be used to customize the disks probes and filters | ||
apiVersion: v1 | ||
kind: ConfigMap | ||
metadata: | ||
name: openebs-ndm-config | ||
namespace: openebs | ||
labels: | ||
openebs.io/component-name: ndm-config | ||
data: | ||
# udev-probe is default or primary probe which should be enabled to run ndm | ||
# filterconfigs contails configs of filters - in their form fo include | ||
# and exclude comma separated strings | ||
node-disk-manager.config: | | ||
probeconfigs: | ||
- key: udev-probe | ||
name: udev probe | ||
state: true | ||
- key: seachest-probe | ||
name: seachest probe | ||
state: false | ||
- key: smart-probe | ||
name: smart probe | ||
state: true | ||
filterconfigs: | ||
- key: os-disk-exclude-filter | ||
name: os disk exclude filter | ||
state: true | ||
exclude: "/,/etc/hosts,/boot" | ||
- key: vendor-filter | ||
name: vendor filter | ||
state: true | ||
include: "" | ||
exclude: "CLOUDBYT,OpenEBS" | ||
- key: path-filter | ||
name: path filter | ||
state: true | ||
include: "" | ||
exclude: "/dev/loop,/dev/fd0,/dev/sr0,/dev/ram,/dev/dm-,/dev/md,/dev/rbd,/dev/zd" | ||
--- | ||
apiVersion: apps/v1 | ||
kind: DaemonSet | ||
metadata: | ||
name: openebs-ndm | ||
namespace: openebs | ||
labels: | ||
name: openebs-ndm | ||
openebs.io/component-name: ndm | ||
openebs.io/version: 2.8.0 | ||
spec: | ||
selector: | ||
matchLabels: | ||
name: openebs-ndm | ||
openebs.io/component-name: ndm | ||
updateStrategy: | ||
type: RollingUpdate | ||
template: | ||
metadata: | ||
labels: | ||
name: openebs-ndm | ||
openebs.io/component-name: ndm | ||
openebs.io/version: 2.8.0 | ||
spec: | ||
# By default the node-disk-manager will be run on all kubernetes nodes | ||
# If you would like to limit this to only some nodes, say the nodes | ||
# that have storage attached, you could label those node and use | ||
# nodeSelector. | ||
# | ||
# e.g. label the storage nodes with - "openebs.io/nodegroup"="storage-node" | ||
# kubectl label node <node-name> "openebs.io/nodegroup"="storage-node" | ||
#nodeSelector: | ||
# "openebs.io/nodegroup": "storage-node" | ||
serviceAccountName: openebs-cstor-operator | ||
hostNetwork: true | ||
# host PID is used to check status of iSCSI Service when the NDM | ||
# API service is enabled | ||
#hostPID: true | ||
containers: | ||
- name: node-disk-manager | ||
image: openebs/node-disk-manager:1.4.0 | ||
args: | ||
- -v=4 | ||
# The feature-gate is used to enable the new UUID algorithm. | ||
- --feature-gates="GPTBasedUUID" | ||
# The feature gate is used to start the gRPC API service. The gRPC server | ||
# starts at 9115 port by default. This feature is currently in Alpha state | ||
# - --feature-gates="APIService" | ||
# The feature gate is used to enable NDM, to create blockdevice resources | ||
# for unused partitions on the OS disk | ||
# - --feature-gates="UseOSDisk" | ||
imagePullPolicy: IfNotPresent | ||
securityContext: | ||
privileged: true | ||
volumeMounts: | ||
- name: config | ||
mountPath: /host/node-disk-manager.config | ||
subPath: node-disk-manager.config | ||
readOnly: true | ||
- name: udev | ||
mountPath: /run/udev | ||
- name: procmount | ||
mountPath: /host/proc | ||
readOnly: true | ||
- name: devmount | ||
mountPath: /dev | ||
- name: basepath | ||
mountPath: /var/openebs/ndm | ||
- name: sparsepath | ||
mountPath: /var/openebs/sparse | ||
env: | ||
# namespace in which NDM is installed will be passed to NDM Daemonset | ||
# as environment variable | ||
- name: NAMESPACE | ||
valueFrom: | ||
fieldRef: | ||
fieldPath: metadata.namespace | ||
# pass hostname as env variable using downward API to the NDM container | ||
- name: NODE_NAME | ||
valueFrom: | ||
fieldRef: | ||
fieldPath: spec.nodeName | ||
# specify the directory where the sparse files need to be created. | ||
# if not specified, then sparse files will not be created. | ||
- name: SPARSE_FILE_DIR | ||
value: "/var/openebs/sparse" | ||
# Size(bytes) of the sparse file to be created. | ||
- name: SPARSE_FILE_SIZE | ||
value: "10737418240" | ||
# Specify the number of sparse files to be created | ||
- name: SPARSE_FILE_COUNT | ||
value: "1" | ||
livenessProbe: | ||
exec: | ||
command: | ||
- pgrep | ||
- "ndm" | ||
initialDelaySeconds: 30 | ||
periodSeconds: 60 | ||
volumes: | ||
- name: config | ||
configMap: | ||
name: openebs-ndm-config | ||
- name: udev | ||
hostPath: | ||
path: /run/udev | ||
type: Directory | ||
# mount /proc (to access mount file of process 1 of host) inside container | ||
# to read mount-point of disks and partitions | ||
- name: procmount | ||
hostPath: | ||
path: /proc | ||
type: Directory | ||
- name: devmount | ||
# the /dev directory is mounted so that we have access to the devices that | ||
# are connected at runtime of the pod. | ||
hostPath: | ||
path: /dev | ||
type: Directory | ||
- name: basepath | ||
hostPath: | ||
path: /var/openebs/ndm | ||
type: DirectoryOrCreate | ||
- name: sparsepath | ||
hostPath: | ||
path: /var/openebs/sparse | ||
--- | ||
apiVersion: apps/v1 | ||
kind: Deployment | ||
metadata: | ||
name: openebs-ndm-operator | ||
namespace: openebs | ||
labels: | ||
name: openebs-ndm-operator | ||
openebs.io/component-name: ndm-operator | ||
openebs.io/version: 2.8.0 | ||
spec: | ||
selector: | ||
matchLabels: | ||
name: openebs-ndm-operator | ||
openebs.io/component-name: ndm-operator | ||
replicas: 1 | ||
strategy: | ||
type: Recreate | ||
template: | ||
metadata: | ||
labels: | ||
name: openebs-ndm-operator | ||
openebs.io/component-name: ndm-operator | ||
openebs.io/version: 2.8.0 | ||
spec: | ||
serviceAccountName: openebs-cstor-operator | ||
containers: | ||
- name: node-disk-operator | ||
image: openebs/node-disk-operator:1.4.0 | ||
imagePullPolicy: IfNotPresent | ||
readinessProbe: | ||
exec: | ||
command: | ||
- stat | ||
- /tmp/operator-sdk-ready | ||
initialDelaySeconds: 4 | ||
periodSeconds: 10 | ||
failureThreshold: 1 | ||
env: | ||
- name: WATCH_NAMESPACE | ||
valueFrom: | ||
fieldRef: | ||
fieldPath: metadata.namespace | ||
- name: POD_NAME | ||
valueFrom: | ||
fieldRef: | ||
fieldPath: metadata.name | ||
# the service account of the ndm-operator pod | ||
- name: SERVICE_ACCOUNT | ||
valueFrom: | ||
fieldRef: | ||
fieldPath: spec.serviceAccountName | ||
- name: OPERATOR_NAME | ||
value: "node-disk-operator" | ||
- name: CLEANUP_JOB_IMAGE | ||
value: "openebs/linux-utils:2.8.0" | ||
# OPENEBS_IO_INSTALL_CRD environment variable is used to enable/disable CRD installation | ||
# from NDM operator. By default the CRDs will be installed | ||
- name: OPENEBS_IO_INSTALL_CRD | ||
value: "false" | ||
# OPENEBS_IO_IMAGE_PULL_SECRETS environment variable is used to pass the image pull secrets | ||
# to the cleanup pod launched by NDM operator | ||
#- name: OPENEBS_IO_IMAGE_PULL_SECRETS | ||
# value: "" | ||
# Process name used for matching is limited to the 15 characters | ||
# present in the pgrep output. | ||
# So fullname can be used here with pgrep (cmd is < 15 chars). | ||
livenessProbe: | ||
exec: | ||
command: | ||
- pgrep | ||
- "ndo" | ||
initialDelaySeconds: 30 | ||
periodSeconds: 60 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters