Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Actions And Monitoring Calls For Replication #57

Merged
merged 24 commits into from
Feb 24, 2022
Merged
Show file tree
Hide file tree
Changes from 22 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 4 additions & 8 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,14 +1,10 @@
ARG GOPROXY

FROM centos:8
FROM rockylinux:8
ARG GOPROXY
RUN yum install -y libaio
RUN yum install -y libuuid
RUN yum install -y numactl
RUN yum install -y xfsprogs
RUN yum install -y e4fsprogs
RUN yum install -y nfs-utils
RUN yum --enablerepo=cr update -y

RUN yum install -y libaio libuuid numactl xfsprogs e4fsprogs nfs-utils

RUN yum clean all
COPY "csi-isilon" .
ENTRYPOINT ["/csi-isilon"]
11 changes: 10 additions & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ require (
github.com/akutz/gournal v0.5.0
github.com/container-storage-interface/spec v1.5.0
github.com/cucumber/godog v0.10.0
github.com/dell/dell-csi-extensions/common v1.0.0
github.com/dell/dell-csi-extensions/replication v1.0.0
github.com/dell/dell-csi-extensions/volumeGroupSnapshot v1.0.0
github.com/dell/gocsi v1.5.0
github.com/dell/gofsutil v1.7.1-0.20220131144828-d54a8e0917c7
github.com/dell/goisilon v1.6.1-0.20220221094638-024f75dd0502
Expand All @@ -18,13 +20,20 @@ require (
github.com/spf13/viper v1.7.1
github.com/stretchr/testify v1.7.0
golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f
google.golang.org/grpc v1.38.0
google.golang.org/grpc v1.42.0
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
k8s.io/apimachinery v0.22.2
k8s.io/client-go v0.22.2

)

replace (
github.com/dell/dell-csi-extensions/common v1.0.0 => github.com/dell/dell-csi-extensions/common v0.0.0-20211217121714-58de430139aa
github.com/dell/dell-csi-extensions/replication v1.0.0 => github.com/dell/dell-csi-extensions/replication v0.0.0-20211217121714-58de430139aa
github.com/dell/dell-csi-extensions/volumeGroupSnapshot v1.0.0 => github.com/dell/dell-csi-extensions/volumeGroupSnapshot v0.0.0-20211217121714-58de430139aa
github.com/dell/goisilon v1.6.1-0.20220221094638-024f75dd0502 => github.com/dell/goisilon v0.0.0-20220217135244-de3994c21085
)

require (
github.com/akutz/gosync v0.1.0 // indirect
github.com/coreos/go-semver v0.3.0 // indirect
Expand Down
25 changes: 18 additions & 7 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,10 @@ github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMn
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/container-storage-interface/spec v1.2.0/go.mod h1:6URME8mwIBbpVyZV93Ce5St17xBiQJQY67NDsuohiy4=
github.com/container-storage-interface/spec v1.5.0 h1:lvKxe3uLgqQeVQcrnL2CPQKISoKjTJxojEs9cBk+HXo=
github.com/container-storage-interface/spec v1.5.0/go.mod h1:8K96oQNkJ7pFcC2R9Z1ynGGBB1I93kcS6PGg3SsOk8s=
Expand All @@ -107,16 +111,18 @@ github.com/cucumber/messages-go/v10 v10.0.3/go.mod h1:9jMZ2Y8ZxjLY6TG2+x344nt5rX
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dell/dell-csi-extensions/replication v1.0.0 h1:fLcn4xhVO7Xt5t8ZIwDu57vAtL3LWbdYF94W9bpWS/Y=
github.com/dell/dell-csi-extensions/replication v1.0.0/go.mod h1:DbHqsh4vpC+SajnrDSAwWE8n556GSSyzOAEBX7tcCUg=
github.com/dell/dell-csi-extensions/common v0.0.0-20211217121714-58de430139aa h1:aETQQEsjCVXPPDOWs+HfJRWfgvU8Dy/uoJV/0vcojQQ=
github.com/dell/dell-csi-extensions/common v0.0.0-20211217121714-58de430139aa/go.mod h1:HCs4rWiZJ1hcwfhCsr5sBsi+/5E8zuBZ+VG7qwiHOsU=
github.com/dell/dell-csi-extensions/replication v0.0.0-20211217121714-58de430139aa h1:C7nKArKDtARwEZtDD//ewlC8Ru+v3uavlAqrnx5Rvpk=
github.com/dell/dell-csi-extensions/replication v0.0.0-20211217121714-58de430139aa/go.mod h1:9BF1BUr8XF9IXLrghrznqO6J5J1TX0fcunoFZfQ0Ozc=
github.com/dell/dell-csi-extensions/volumeGroupSnapshot v0.0.0-20211217121714-58de430139aa h1:L4cowHMVAmgnHxrSLFhhgH5+K1Lli+LzN0xEKoIKZe8=
github.com/dell/dell-csi-extensions/volumeGroupSnapshot v0.0.0-20211217121714-58de430139aa/go.mod h1:jfpjS6YywYdApbmkRYHSeqYhKVOJZMSH9SGbb4ig2qI=
github.com/dell/gocsi v1.5.0 h1:qi2T6H6JHDo9sJEw24jo6Z88fJszBXfQc3lxOBaUijo=
github.com/dell/gocsi v1.5.0/go.mod h1:nIsIXXB5JpAvOQ0//gtPGULC2+NUddpi5qwpBeMhiLs=
github.com/dell/gofsutil v1.7.1-0.20220131144828-d54a8e0917c7 h1:+lDblTVlST1wIR75v+4f8fECGJwBWCINYwZQcTk7GeA=
github.com/dell/gofsutil v1.7.1-0.20220131144828-d54a8e0917c7/go.mod h1:0tAefmK/JahHEUFLwtqFPRdr823j0c5vrrhcq+Mx4TM=
github.com/dell/goisilon v1.6.1-0.20220131062522-bf7e8c05654e h1:ycKpkw1djI9JrpBewUVHhAMD3NtmIB6Tt383HiBt0S0=
github.com/dell/goisilon v1.6.1-0.20220131062522-bf7e8c05654e/go.mod h1:X6Xizkcr0K4soNlM26rK/KMF95VI/StxL1GHanHm1UQ=
github.com/dell/goisilon v1.6.1-0.20220221094638-024f75dd0502 h1:txAkas2Y7XgtdpxExX3q5PFBaz5YMn90RHgC+JIra/8=
github.com/dell/goisilon v1.6.1-0.20220221094638-024f75dd0502/go.mod h1:ort9gaSlqh8XeyiTBhaL9ZWSymZ7u85ncjN4vckpJQA=
github.com/dell/goisilon v0.0.0-20220217135244-de3994c21085 h1:xwNKA7fxAi27FQ3y4anzHIGRWlwyqlmuTsRzgjZbQUI=
github.com/dell/goisilon v0.0.0-20220217135244-de3994c21085/go.mod h1:X6Xizkcr0K4soNlM26rK/KMF95VI/StxL1GHanHm1UQ=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
Expand All @@ -127,7 +133,9 @@ github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/evanphx/json-patch v4.11.0+incompatible h1:glyUF9yIYtMHzn8xaKw5rMhdWcwsYV8dZHIq5567/xs=
Expand Down Expand Up @@ -450,6 +458,7 @@ go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
Expand Down Expand Up @@ -710,8 +719,10 @@ google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8
google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.29.0/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
google.golang.org/grpc v1.38.0 h1:/9BgsAsa5nWe26HqOlvlgJnqBuktYOLCgjCPqsa56W0=
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/grpc v1.42.0 h1:XT2/MFpuPFsEX2fWh3YQtHkZ+WYZFQRfaUgLZYj/p6A=
google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
Expand Down
7 changes: 7 additions & 0 deletions samples/secret/secret.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,13 @@ isilonClusters:
# Examples: "0777", "777", "0755"
# isiVolumePathPermissions: "0777"

# Unique ID if the certificate used to encrypt replication policy
walker2 marked this conversation as resolved.
Show resolved Hide resolved
# This will be used if a replication encrypted is enabled, leave empty in case you use unecrypted replication
# Allowed values: string, unique id of the certificate
# Default value: ""
# Examples: "dd9c736cc17e6dd5f7d85fe13528cfc20f3b4b0af4f26595d22328c8d1f461af"
# replicationCertificateID: ""

- clusterName: "cluster2"
username: "user"
password: "password"
Expand Down
118 changes: 118 additions & 0 deletions samples/storageclass/isilon-replication.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: isilon-replication
provisioner: csi-isilon.dellemc.com
reclaimPolicy: Delete
allowVolumeExpansion: true
parameters:
# replicationPrefix parameter in values.yaml must be used as prefix for all replication parameters in storage class
# for e.g., all replication parameters have prefix: replication.storage.dell.com here

# replication.storage.dell.com/isReplicationEnabled:
# Allowed values:
# true: enable replication sidecar
# false: disable replication sidecar
# Optional: true
# Default value: false
replication.storage.dell.com/isReplicationEnabled: "true"

# replication.storage.dell.com/remoteStorageClassName:
# Allowed values: string
# Optional: true
# Default value: None
replication.storage.dell.com/remoteStorageClassName: "isilon-replication"

# replication.storage.dell.com/remoteClusterID: point to correct remote cluster id
# Allowed values: string
# Optional: true
# Default value: None
replication.storage.dell.com/remoteClusterID: "target"

# replication.storage.dell.com/remoteSystem: point to correct remote PowerScale system, this should match whatever clusterName you specified in `isilon-creds` secret
# Allowed values: string
# Optional: true
# Default value: None
replication.storage.dell.com/remoteSystem: "cluster-2"

# replication.storage.dell.com/rpo: change to any other RPO predefined in a list
# Allowed values: "Five_Minutes", "Fifteen_Minutes", "Thirty_Minutes", "One_Hour", "Six_Hours", "Twelve_Hours", "One_Day"
# Optional: true
# Default value: None
replication.storage.dell.com/rpo: Five_Minutes

# replication.storage.dell.com/ignoreNamespaces: set to 'true' if you want to ignore namespaces and use one volume group
# Allowed values:
# true: ignore namespaces and use one volume group
# false: create separate volume group per namespace
# Optional: true
# Default value: None
replication.storage.dell.com/ignoreNamespaces: "false"

# replication.storage.dell.com/volumeGroupPrefix: volume group prefix
# Allowed values: string
# Optional: true
# Default value: None
replication.storage.dell.com/volumeGroupPrefix: "csi"
# The name of the access zone a volume can be created in
walker2 marked this conversation as resolved.
Show resolved Hide resolved
# Optional: true
# Default value: default value specified in values.yaml
# Examples: System, zone1
AccessZone: System

# The base path for the volumes to be created on PowerScale cluster.
# Ensure that this path exists on PowerScale cluster.
# Allowed values: unix absolute path
# Optional: true
# Default value: value specified in values.yaml for isiPath
# Examples: /ifs/data/csi, /ifs/engineering
IsiPath: /ifs/data/csi

# The permissions for isi volume directory path
# This value overrides the isiVolumePathPermissions attribute of corresponding cluster config in secret, if present
# Allowed values: valid octal mode number
# Default value: "0777"
# Examples: "0777", "777", "0755"
#IsiVolumePathPermissions: "0777"

# AccessZone groupnet service IP. Update AzServiceIP if different than endpoint.
# Optional: true
# Default value: endpoint of the cluster ClusterName
#AzServiceIP : 192.168.2.1

# When a PVC is being created, this parameter determines, when a node mounts the PVC,
# whether to add the k8s node to the "Root clients" field or "Clients" field of the NFS export
# Allowed values:
# "true": adds k8s node to the "Root clients" field of the NFS export
# "false": adds k8s node to the "Clients" field of the NFS export
# Optional: true
# Default value: "false"
RootClientEnabled: "false"

# Name of PowerScale cluster, where pv will be provisioned.
# This name should match with name of one of the cluster configs in isilon-creds secret.
# If this parameter is not specified, then default cluster config in isilon-creds secret
# will be considered if available.
# Optional: true
ClusterName: cluster-1
walker2 marked this conversation as resolved.
Show resolved Hide resolved

# volumeBindingMode controls when volume binding and dynamic provisioning should occur.
# Allowed values:
# Immediate: indicates that volume binding and dynamic provisioning occurs once the
# PersistentVolumeClaim is created
# WaitForFirstConsumer: will delay the binding and provisioning of a PersistentVolume
# until a Pod using the PersistentVolumeClaim is created
# Default value: Immediate
volumeBindingMode: Immediate

# allowedTopologies helps scheduling pods on worker nodes which match all of below expressions.
# If enableCustomTopology is set to true in helm values.yaml, then do not specify allowedTopologies
# Change all instances of <ISILON_IP> to the IP of the PowerScale OneFS API server
#allowedTopologies:
# - matchLabelExpressions:
# - key: csi-isilon.dellemc.com/<ISILON_IP>
# values:
# - csi-isilon.dellemc.com

# specify additional mount options for when a Persistent Volume is being mounted on a node.
#mountOptions: ["<mountOption1>", "<mountOption2>", ..., "<mountOptionN>"]
Loading