diff --git a/examples/ceph-conf.yaml b/deploy/ceph-conf.yaml similarity index 100% rename from examples/ceph-conf.yaml rename to deploy/ceph-conf.yaml diff --git a/examples/csi-config-map-sample.yaml b/deploy/csi-config-map-sample.yaml similarity index 100% rename from examples/csi-config-map-sample.yaml rename to deploy/csi-config-map-sample.yaml diff --git a/examples/service-monitor.yaml b/deploy/service-monitor.yaml similarity index 100% rename from examples/service-monitor.yaml rename to deploy/service-monitor.yaml diff --git a/docs/deploy-cephfs.md b/docs/deploy-cephfs.md index 8f23ab8a6..2087f0c87 100644 --- a/docs/deploy-cephfs.md +++ b/docs/deploy-cephfs.md @@ -148,7 +148,7 @@ for more information. **Deploy Ceph configuration ConfigMap for CSI pods:** ```bash -kubectl create -f ../../../examples/ceph-conf.yaml +kubectl create -f ../../ceph-conf.yaml ``` **Deploy CSI sidecar containers:** diff --git a/docs/deploy-rbd.md b/docs/deploy-rbd.md index 270d734d1..e397ac066 100644 --- a/docs/deploy-rbd.md +++ b/docs/deploy-rbd.md @@ -134,7 +134,7 @@ for more information. **Deploy Ceph configuration ConfigMap for CSI pods:** ```bash -kubectl create -f ../example/ceph-config.yaml +kubectl create -f ../../ceph-conf.yaml ``` **Deploy CSI sidecar containers:** diff --git a/docs/metrics.md b/docs/metrics.md index a39e1b7c0..8f19c8d2b 100644 --- a/docs/metrics.md +++ b/docs/metrics.md @@ -23,7 +23,7 @@ csi_liveness 1 ``` Promethues can be deployed through the promethues operator described [here](https://coreos.com/operators/prometheus/docs/latest/user-guides/getting-started.html). -The [service-monitor](../examples/service-monitor.yaml) will tell promethues how +The [service-monitor](../deploy/service-monitor.yaml) will tell promethues how to pull metrics out of CSI. Each CSI pod has a service to expose the endpoint to prometheus. By default, rbd diff --git a/e2e/cephfs.go b/e2e/cephfs.go index 19a1e6b54..b10498e14 100644 --- a/e2e/cephfs.go +++ b/e2e/cephfs.go @@ -67,6 +67,7 @@ func deleteCephfsPlugin() { } func createORDeleteCephfsResources(action kubectlAction) { + cephConfigFile := getConfigFile(deployPath + cephConfconfigMap) resources := []ResourceDeployer{ // shared resources &yamlResource{ @@ -74,7 +75,7 @@ func createORDeleteCephfsResources(action kubectlAction) { allowMissing: true, }, &yamlResource{ - filename: examplePath + cephConfconfigMap, + filename: cephConfigFile, allowMissing: true, }, // dependencies for provisioner diff --git a/e2e/nfs.go b/e2e/nfs.go index 60d594e00..06d2f80b5 100644 --- a/e2e/nfs.go +++ b/e2e/nfs.go @@ -79,6 +79,7 @@ func deleteNFSPlugin() { } func createORDeleteNFSResources(f *framework.Framework, action kubectlAction) { + cephConfigFile := getConfigFile(deployPath + cephConfconfigMap) resources := []ResourceDeployer{ // shared resources &yamlResource{ @@ -86,7 +87,7 @@ func createORDeleteNFSResources(f *framework.Framework, action kubectlAction) { allowMissing: true, }, &yamlResource{ - filename: examplePath + cephConfconfigMap, + filename: cephConfigFile, allowMissing: true, }, // dependencies for provisioner diff --git a/e2e/rbd.go b/e2e/rbd.go index 769283419..c820dee32 100644 --- a/e2e/rbd.go +++ b/e2e/rbd.go @@ -44,7 +44,8 @@ var ( configMap = "csi-config-map.yaml" cephConfconfigMap = "ceph-conf.yaml" csiDriverObject = "csidriver.yaml" - rbdDirPath = "../deploy/rbd/kubernetes/" + deployPath = "../deploy/" + rbdDirPath = deployPath + "/rbd/kubernetes/" examplePath = "../examples/" rbdExamplePath = examplePath + "/rbd/" e2eTemplatesPath = "../e2e/templates/" @@ -129,6 +130,7 @@ func deleteRBDPlugin() { } func createORDeleteRbdResources(action kubectlAction) { + cephConfigFile := getConfigFile(deployPath + cephConfconfigMap) resources := []ResourceDeployer{ // shared resources &yamlResource{ @@ -136,7 +138,7 @@ func createORDeleteRbdResources(action kubectlAction) { allowMissing: true, }, &yamlResource{ - filename: examplePath + cephConfconfigMap, + filename: cephConfigFile, allowMissing: true, }, // dependencies for provisioner diff --git a/e2e/utils.go b/e2e/utils.go index d79d0e2c3..9150a791f 100644 --- a/e2e/utils.go +++ b/e2e/utils.go @@ -1732,3 +1732,13 @@ func rwopMayFail(err error) bool { return !rwopSupported } + +// getConfigFile returns the passed config file location if it exists, else +// returns the old location of the config file under 'examples/' directory. +func getConfigFile(configFile string) string { + if _, err := os.Stat(configFile); os.IsNotExist(err) { + configFile = examplePath + cephConfconfigMap + } + + return configFile +} diff --git a/examples/README.md b/examples/README.md index f9e744475..0fda351a6 100644 --- a/examples/README.md +++ b/examples/README.md @@ -2,17 +2,17 @@ ## Deploying Ceph-CSI services -Create [ceph-config](./ceph-conf.yaml) configmap using the following command. +Create [ceph-config](../deploy/ceph-conf.yaml) configmap using the following command. ```bash -kubectl apply -f ./ceph-conf.yaml +kubectl apply -f ../deploy/ceph-conf.yaml ``` Both `rbd` and `cephfs` directories contain `plugin-deploy.sh` and `plugin-teardown.sh` helper scripts. You can use those to help you deploy/teardown RBACs, sidecar containers and the plugin in one go. By default, they look for the YAML manifests in -`../../deploy/{rbd,cephfs}/kubernetes`. +`../deploy/{rbd,cephfs}/kubernetes`. You can override this path by running ```bash @@ -25,7 +25,7 @@ The CSI plugin requires configuration information regarding the Ceph cluster(s), that would host the dynamically or statically provisioned volumes. This is provided by adding a per-cluster identifier (referred to as clusterID), and the required monitor details for the same, as in the provided [sample config - map](./csi-config-map-sample.yaml). + map](../deploy/csi-config-map-sample.yaml). Gather the following information from the Ceph cluster(s) of choice, @@ -38,13 +38,13 @@ Gather the following information from the Ceph cluster(s) of choice, * Alternatively, choose a `` value that is distinct per Ceph cluster in use by this kubernetes cluster -Update the [sample configmap](./csi-config-map-sample.yaml) with values +Update the [sample configmap](../deploy/csi-config-map-sample.yaml) with values from a Ceph cluster and replace `` with the chosen clusterID, to create the manifest for the configmap which can be updated in the cluster using the following command, ```bash -kubectl replace -f ./csi-config-map-sample.yaml +kubectl replace -f ../deploy/csi-config-map-sample.yaml ``` Storage class and snapshot class, using `` as the value for the