Browse Source

GlusterFS: Collapse versioned files and directories

There has been and likely will be no difference across all files and
templates of the GlusterFS roles between versions of OpenShift. All
supported versions should have the same files and templates.

Signed-off-by: Jose A. Rivera <jarrpa@redhat.com>
Jose A. Rivera 7 years ago
parent
commit
8256a6e9f1
86 changed files with 12 additions and 4223 deletions
  1. 0 0
      roles/openshift_storage_glusterfs/files/deploy-heketi-template.yml
  2. 0 0
      roles/openshift_storage_glusterfs/files/gluster-s3-pvcs-template.yml
  3. 0 0
      roles/openshift_storage_glusterfs/files/gluster-s3-template.yml
  4. 0 0
      roles/openshift_storage_glusterfs/files/glusterblock-provisioner.yml
  5. 0 0
      roles/openshift_storage_glusterfs/files/glusterfs-template.yml
  6. 0 0
      roles/openshift_storage_glusterfs/files/heketi-template.yml
  7. 0 135
      roles/openshift_storage_glusterfs/files/v1.5/deploy-heketi-template.yml
  8. 0 136
      roles/openshift_storage_glusterfs/files/v1.5/glusterfs-template.yml
  9. 0 134
      roles/openshift_storage_glusterfs/files/v1.5/heketi-template.yml
  10. 0 135
      roles/openshift_storage_glusterfs/files/v3.10/deploy-heketi-template.yml
  11. 0 67
      roles/openshift_storage_glusterfs/files/v3.10/gluster-s3-pvcs-template.yml
  12. 0 140
      roles/openshift_storage_glusterfs/files/v3.10/gluster-s3-template.yml
  13. 0 104
      roles/openshift_storage_glusterfs/files/v3.10/glusterblock-provisioner.yml
  14. 0 161
      roles/openshift_storage_glusterfs/files/v3.10/glusterfs-template.yml
  15. 0 138
      roles/openshift_storage_glusterfs/files/v3.10/heketi-template.yml
  16. 0 135
      roles/openshift_storage_glusterfs/files/v3.6/deploy-heketi-template.yml
  17. 0 67
      roles/openshift_storage_glusterfs/files/v3.6/gluster-s3-pvcs-template.yml
  18. 0 140
      roles/openshift_storage_glusterfs/files/v3.6/gluster-s3-template.yml
  19. 0 104
      roles/openshift_storage_glusterfs/files/v3.6/glusterblock-provisioner.yml
  20. 0 161
      roles/openshift_storage_glusterfs/files/v3.6/glusterfs-template.yml
  21. 0 138
      roles/openshift_storage_glusterfs/files/v3.6/heketi-template.yml
  22. 0 135
      roles/openshift_storage_glusterfs/files/v3.7/deploy-heketi-template.yml
  23. 0 67
      roles/openshift_storage_glusterfs/files/v3.7/gluster-s3-pvcs-template.yml
  24. 0 140
      roles/openshift_storage_glusterfs/files/v3.7/gluster-s3-template.yml
  25. 0 104
      roles/openshift_storage_glusterfs/files/v3.7/glusterblock-provisioner.yml
  26. 0 161
      roles/openshift_storage_glusterfs/files/v3.7/glusterfs-template.yml
  27. 0 138
      roles/openshift_storage_glusterfs/files/v3.7/heketi-template.yml
  28. 0 135
      roles/openshift_storage_glusterfs/files/v3.8/deploy-heketi-template.yml
  29. 0 67
      roles/openshift_storage_glusterfs/files/v3.8/gluster-s3-pvcs-template.yml
  30. 0 140
      roles/openshift_storage_glusterfs/files/v3.8/gluster-s3-template.yml
  31. 0 104
      roles/openshift_storage_glusterfs/files/v3.8/glusterblock-provisioner.yml
  32. 0 161
      roles/openshift_storage_glusterfs/files/v3.8/glusterfs-template.yml
  33. 0 138
      roles/openshift_storage_glusterfs/files/v3.8/heketi-template.yml
  34. 2 2
      roles/openshift_storage_glusterfs/tasks/gluster_s3_deploy.yml
  35. 1 1
      roles/openshift_storage_glusterfs/tasks/glusterblock_deploy.yml
  36. 4 4
      roles/openshift_storage_glusterfs/tasks/glusterfs_common.yml
  37. 1 1
      roles/openshift_storage_glusterfs/tasks/glusterfs_deploy.yml
  38. 1 1
      roles/openshift_storage_glusterfs/tasks/heketi_deploy_part1.yml
  39. 3 3
      roles/openshift_storage_glusterfs/tasks/heketi_deploy_part2.yml
  40. 0 0
      roles/openshift_storage_glusterfs/templates/gluster-block-storageclass.yml.j2
  41. 0 0
      roles/openshift_storage_glusterfs/templates/glusterfs-registry-endpoints.yml.j2
  42. 0 0
      roles/openshift_storage_glusterfs/templates/glusterfs-registry-service.yml.j2
  43. 0 0
      roles/openshift_storage_glusterfs/templates/glusterfs-storageclass.yml.j2
  44. 0 0
      roles/openshift_storage_glusterfs/templates/heketi-endpoints.yml.j2
  45. 0 0
      roles/openshift_storage_glusterfs/templates/heketi-service.yml.j2
  46. 0 0
      roles/openshift_storage_glusterfs/templates/heketi.json.j2
  47. 0 0
      roles/openshift_storage_glusterfs/templates/topology.json.j2
  48. 0 12
      roles/openshift_storage_glusterfs/templates/v1.5/glusterfs-registry-endpoints.yml.j2
  49. 0 10
      roles/openshift_storage_glusterfs/templates/v1.5/glusterfs-registry-service.yml.j2
  50. 0 17
      roles/openshift_storage_glusterfs/templates/v1.5/glusterfs-storageclass.yml.j2
  51. 0 12
      roles/openshift_storage_glusterfs/templates/v1.5/heketi-endpoints.yml.j2
  52. 0 10
      roles/openshift_storage_glusterfs/templates/v1.5/heketi-service.yml.j2
  53. 0 36
      roles/openshift_storage_glusterfs/templates/v1.5/heketi.json.j2
  54. 0 49
      roles/openshift_storage_glusterfs/templates/v1.5/topology.json.j2
  55. 0 19
      roles/openshift_storage_glusterfs/templates/v3.10/gluster-block-storageclass.yml.j2
  56. 0 12
      roles/openshift_storage_glusterfs/templates/v3.10/glusterfs-registry-endpoints.yml.j2
  57. 0 10
      roles/openshift_storage_glusterfs/templates/v3.10/glusterfs-registry-service.yml.j2
  58. 0 17
      roles/openshift_storage_glusterfs/templates/v3.10/glusterfs-storageclass.yml.j2
  59. 0 12
      roles/openshift_storage_glusterfs/templates/v3.10/heketi-endpoints.yml.j2
  60. 0 10
      roles/openshift_storage_glusterfs/templates/v3.10/heketi-service.yml.j2
  61. 0 42
      roles/openshift_storage_glusterfs/templates/v3.10/heketi.json.j2
  62. 0 49
      roles/openshift_storage_glusterfs/templates/v3.10/topology.json.j2
  63. 0 19
      roles/openshift_storage_glusterfs/templates/v3.6/gluster-block-storageclass.yml.j2
  64. 0 12
      roles/openshift_storage_glusterfs/templates/v3.6/glusterfs-registry-endpoints.yml.j2
  65. 0 10
      roles/openshift_storage_glusterfs/templates/v3.6/glusterfs-registry-service.yml.j2
  66. 0 13
      roles/openshift_storage_glusterfs/templates/v3.6/glusterfs-storageclass.yml.j2
  67. 0 12
      roles/openshift_storage_glusterfs/templates/v3.6/heketi-endpoints.yml.j2
  68. 0 10
      roles/openshift_storage_glusterfs/templates/v3.6/heketi-service.yml.j2
  69. 0 42
      roles/openshift_storage_glusterfs/templates/v3.6/heketi.json.j2
  70. 0 49
      roles/openshift_storage_glusterfs/templates/v3.6/topology.json.j2
  71. 0 19
      roles/openshift_storage_glusterfs/templates/v3.7/gluster-block-storageclass.yml.j2
  72. 0 12
      roles/openshift_storage_glusterfs/templates/v3.7/glusterfs-registry-endpoints.yml.j2
  73. 0 10
      roles/openshift_storage_glusterfs/templates/v3.7/glusterfs-registry-service.yml.j2
  74. 0 17
      roles/openshift_storage_glusterfs/templates/v3.7/glusterfs-storageclass.yml.j2
  75. 0 12
      roles/openshift_storage_glusterfs/templates/v3.7/heketi-endpoints.yml.j2
  76. 0 10
      roles/openshift_storage_glusterfs/templates/v3.7/heketi-service.yml.j2
  77. 0 42
      roles/openshift_storage_glusterfs/templates/v3.7/heketi.json.j2
  78. 0 49
      roles/openshift_storage_glusterfs/templates/v3.7/topology.json.j2
  79. 0 19
      roles/openshift_storage_glusterfs/templates/v3.8/gluster-block-storageclass.yml.j2
  80. 0 12
      roles/openshift_storage_glusterfs/templates/v3.8/glusterfs-registry-endpoints.yml.j2
  81. 0 10
      roles/openshift_storage_glusterfs/templates/v3.8/glusterfs-registry-service.yml.j2
  82. 0 17
      roles/openshift_storage_glusterfs/templates/v3.8/glusterfs-storageclass.yml.j2
  83. 0 12
      roles/openshift_storage_glusterfs/templates/v3.8/heketi-endpoints.yml.j2
  84. 0 10
      roles/openshift_storage_glusterfs/templates/v3.8/heketi-service.yml.j2
  85. 0 42
      roles/openshift_storage_glusterfs/templates/v3.8/heketi.json.j2
  86. 0 49
      roles/openshift_storage_glusterfs/templates/v3.8/topology.json.j2

roles/openshift_storage_glusterfs/files/v3.9/deploy-heketi-template.yml → roles/openshift_storage_glusterfs/files/deploy-heketi-template.yml


roles/openshift_storage_glusterfs/files/v3.9/gluster-s3-pvcs-template.yml → roles/openshift_storage_glusterfs/files/gluster-s3-pvcs-template.yml


roles/openshift_storage_glusterfs/files/v3.9/gluster-s3-template.yml → roles/openshift_storage_glusterfs/files/gluster-s3-template.yml


roles/openshift_storage_glusterfs/files/v3.9/glusterblock-provisioner.yml → roles/openshift_storage_glusterfs/files/glusterblock-provisioner.yml


roles/openshift_storage_glusterfs/files/v3.9/glusterfs-template.yml → roles/openshift_storage_glusterfs/files/glusterfs-template.yml


roles/openshift_storage_glusterfs/files/v3.9/heketi-template.yml → roles/openshift_storage_glusterfs/files/heketi-template.yml


+ 0 - 135
roles/openshift_storage_glusterfs/files/v1.5/deploy-heketi-template.yml

@@ -1,135 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: deploy-heketi
-  labels:
-    glusterfs: heketi-template
-    deploy-heketi: support
-  annotations:
-    description: Bootstrap Heketi installation
-    tags: glusterfs,heketi,installation
-objects:
-- kind: Service
-  apiVersion: v1
-  metadata:
-    name: deploy-heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-service
-      deploy-heketi: support
-    annotations:
-      description: Exposes Heketi service
-  spec:
-    ports:
-    - name: deploy-heketi-${CLUSTER_NAME}
-      port: 8080
-      targetPort: 8080
-    selector:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-- kind: Route
-  apiVersion: v1
-  metadata:
-    name: ${HEKETI_ROUTE}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-route
-      deploy-heketi: support
-  spec:
-    to:
-      kind: Service
-      name: deploy-heketi-${CLUSTER_NAME}
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: deploy-heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-dc
-      deploy-heketi: support
-    annotations:
-      description: Defines how to deploy Heketi
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-    triggers:
-    - type: ConfigChange
-    strategy:
-      type: Recreate
-    template:
-      metadata:
-        name: deploy-heketi
-        labels:
-          glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-          deploy-heketi: support
-      spec:
-        serviceAccountName: heketi-${CLUSTER_NAME}-service-account
-        containers:
-        - name: heketi
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          env:
-          - name: HEKETI_USER_KEY
-            value: ${HEKETI_USER_KEY}
-          - name: HEKETI_ADMIN_KEY
-            value: ${HEKETI_ADMIN_KEY}
-          - name: HEKETI_EXECUTOR
-            value: ${HEKETI_EXECUTOR}
-          - name: HEKETI_FSTAB
-            value: /var/lib/heketi/fstab
-          - name: HEKETI_SNAPSHOT_LIMIT
-            value: '14'
-          - name: HEKETI_KUBE_GLUSTER_DAEMONSET
-            value: '1'
-          - name: HEKETI_KUBE_NAMESPACE
-            value: ${HEKETI_KUBE_NAMESPACE}
-          ports:
-          - containerPort: 8080
-          volumeMounts:
-          - name: db
-            mountPath: /var/lib/heketi
-          - name: config
-            mountPath: /etc/heketi
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 3
-            httpGet:
-              path: /hello
-              port: 8080
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 30
-            httpGet:
-              path: /hello
-              port: 8080
-        volumes:
-        - name: db
-        - name: config
-          secret:
-            secretName: heketi-${CLUSTER_NAME}-config-secret
-parameters:
-- name: HEKETI_USER_KEY
-  displayName: Heketi User Secret
-  description: Set secret for those creating volumes as type _user_
-- name: HEKETI_ADMIN_KEY
-  displayName: Heketi Administrator Secret
-  description: Set secret for administration of the Heketi service as user _admin_
-- name: HEKETI_EXECUTOR
-  displayName: heketi executor type
-  description: Set the executor type, kubernetes or ssh
-  value: kubernetes
-- name: HEKETI_KUBE_NAMESPACE
-  displayName: Namespace
-  description: Set the namespace where the GlusterFS pods reside
-  value: default
-- name: HEKETI_ROUTE
-  displayName: heketi route name
-  description: Set the hostname for the route URL
-  value: "heketi-glusterfs"
-- name: IMAGE_NAME
-  displayName: heketi container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: heketi container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify this heketi service, useful for running multiple heketi instances
-  value: glusterfs

+ 0 - 136
roles/openshift_storage_glusterfs/files/v1.5/glusterfs-template.yml

@@ -1,136 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: glusterfs
-  labels:
-    glusterfs: template
-  annotations:
-    description: GlusterFS DaemonSet template
-    tags: glusterfs
-objects:
-- kind: DaemonSet
-  apiVersion: extensions/v1beta1
-  metadata:
-    name: glusterfs-${CLUSTER_NAME}
-    labels:
-      glusterfs: ${CLUSTER_NAME}-daemonset
-    annotations:
-      description: GlusterFS DaemonSet
-      tags: glusterfs
-  spec:
-    selector:
-      matchLabels:
-        glusterfs: ${CLUSTER_NAME}-pod
-    template:
-      metadata:
-        name: glusterfs-${CLUSTER_NAME}
-        labels:
-          glusterfs: ${CLUSTER_NAME}-pod
-          glusterfs-node: pod
-      spec:
-        nodeSelector: "${{NODE_LABELS}}"
-        hostNetwork: true
-        containers:
-        - name: glusterfs
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          volumeMounts:
-          - name: glusterfs-heketi
-            mountPath: "/var/lib/heketi"
-          - name: glusterfs-run
-            mountPath: "/run"
-          - name: glusterfs-lvm
-            mountPath: "/run/lvm"
-          - name: glusterfs-etc
-            mountPath: "/etc/glusterfs"
-          - name: glusterfs-logs
-            mountPath: "/var/log/glusterfs"
-          - name: glusterfs-config
-            mountPath: "/var/lib/glusterd"
-          - name: glusterfs-dev
-            mountPath: "/dev"
-          - name: glusterfs-misc
-            mountPath: "/var/lib/misc/glusterfsd"
-          - name: glusterfs-cgroup
-            mountPath: "/sys/fs/cgroup"
-            readOnly: true
-          - name: glusterfs-ssl
-            mountPath: "/etc/ssl"
-            readOnly: true
-          securityContext:
-            capabilities: {}
-            privileged: true
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 40
-            exec:
-              command:
-              - "/bin/bash"
-              - "-c"
-              - systemctl status glusterd.service
-            periodSeconds: 25
-            successThreshold: 1
-            failureThreshold: 50
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 40
-            exec:
-              command:
-              - "/bin/bash"
-              - "-c"
-              - systemctl status glusterd.service
-            periodSeconds: 25
-            successThreshold: 1
-            failureThreshold: 50
-          resources: {}
-          terminationMessagePath: "/dev/termination-log"
-        volumes:
-        - name: glusterfs-heketi
-          hostPath:
-            path: "/var/lib/heketi"
-        - name: glusterfs-run
-          emptyDir: {}
-        - name: glusterfs-lvm
-          hostPath:
-            path: "/run/lvm"
-        - name: glusterfs-etc
-          hostPath:
-            path: "/etc/glusterfs"
-        - name: glusterfs-logs
-          hostPath:
-            path: "/var/log/glusterfs"
-        - name: glusterfs-config
-          hostPath:
-            path: "/var/lib/glusterd"
-        - name: glusterfs-dev
-          hostPath:
-            path: "/dev"
-        - name: glusterfs-misc
-          hostPath:
-            path: "/var/lib/misc/glusterfsd"
-        - name: glusterfs-cgroup
-          hostPath:
-            path: "/sys/fs/cgroup"
-        - name: glusterfs-ssl
-          hostPath:
-            path: "/etc/ssl"
-        restartPolicy: Always
-        terminationGracePeriodSeconds: 30
-        dnsPolicy: ClusterFirst
-        securityContext: {}
-parameters:
-- name: NODE_LABELS
-  displayName: Daemonset Node Labels
-  description: Labels which define the daemonset node selector. Must contain at least one label of the format \'glusterfs=<CLUSTER_NAME>-host\'
-  value: '{ "glusterfs": "storage-host" }'
-- name: IMAGE_NAME
-  displayName: GlusterFS container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: GlusterFS container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage

+ 0 - 134
roles/openshift_storage_glusterfs/files/v1.5/heketi-template.yml

@@ -1,134 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: heketi
-  labels:
-    glusterfs: heketi-template
-  annotations:
-    description: Heketi service deployment template
-    tags: glusterfs,heketi
-objects:
-- kind: Service
-  apiVersion: v1
-  metadata:
-    name: heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-service
-    annotations:
-      description: Exposes Heketi service
-  spec:
-    ports:
-    - name: heketi
-      port: 8080
-      targetPort: 8080
-    selector:
-      glusterfs: heketi-${CLUSTER_NAME}-pod
-- kind: Route
-  apiVersion: v1
-  metadata:
-    name: ${HEKETI_ROUTE}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-route
-  spec:
-    to:
-      kind: Service
-      name: heketi-${CLUSTER_NAME}
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-dc
-    annotations:
-      description: Defines how to deploy Heketi
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: heketi-${CLUSTER_NAME}-pod
-    triggers:
-    - type: ConfigChange
-    strategy:
-      type: Recreate
-    template:
-      metadata:
-        name: heketi-${CLUSTER_NAME}
-        labels:
-          glusterfs: heketi-${CLUSTER_NAME}-pod
-      spec:
-        serviceAccountName: heketi-${CLUSTER_NAME}-service-account
-        containers:
-        - name: heketi
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          env:
-          - name: HEKETI_USER_KEY
-            value: ${HEKETI_USER_KEY}
-          - name: HEKETI_ADMIN_KEY
-            value: ${HEKETI_ADMIN_KEY}
-          - name: HEKETI_EXECUTOR
-            value: ${HEKETI_EXECUTOR}
-          - name: HEKETI_FSTAB
-            value: /var/lib/heketi/fstab
-          - name: HEKETI_SNAPSHOT_LIMIT
-            value: '14'
-          - name: HEKETI_KUBE_GLUSTER_DAEMONSET
-            value: '1'
-          - name: HEKETI_KUBE_NAMESPACE
-            value: ${HEKETI_KUBE_NAMESPACE}
-          ports:
-          - containerPort: 8080
-          volumeMounts:
-          - name: db
-            mountPath: /var/lib/heketi
-          - name: config
-            mountPath: /etc/heketi
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 3
-            httpGet:
-              path: /hello
-              port: 8080
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 30
-            httpGet:
-              path: /hello
-              port: 8080
-        volumes:
-        - name: db
-          glusterfs:
-            endpoints: heketi-db-${CLUSTER_NAME}-endpoints
-            path: heketidbstorage
-        - name: config
-          secret:
-            secretName: heketi-${CLUSTER_NAME}-config-secret
-parameters:
-- name: HEKETI_USER_KEY
-  displayName: Heketi User Secret
-  description: Set secret for those creating volumes as type _user_
-- name: HEKETI_ADMIN_KEY
-  displayName: Heketi Administrator Secret
-  description: Set secret for administration of the Heketi service as user _admin_
-- name: HEKETI_EXECUTOR
-  displayName: heketi executor type
-  description: Set the executor type, kubernetes or ssh
-  value: kubernetes
-- name: HEKETI_KUBE_NAMESPACE
-  displayName: Namespace
-  description: Set the namespace where the GlusterFS pods reside
-  value: default
-- name: HEKETI_ROUTE
-  displayName: heketi route name
-  description: Set the hostname for the route URL
-  value: "heketi-glusterfs"
-- name: IMAGE_NAME
-  displayName: heketi container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: heketi container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify this heketi service, useful for running multiple heketi instances
-  value: glusterfs

+ 0 - 135
roles/openshift_storage_glusterfs/files/v3.10/deploy-heketi-template.yml

@@ -1,135 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: deploy-heketi
-  labels:
-    glusterfs: heketi-template
-    deploy-heketi: support
-  annotations:
-    description: Bootstrap Heketi installation
-    tags: glusterfs,heketi,installation
-objects:
-- kind: Service
-  apiVersion: v1
-  metadata:
-    name: deploy-heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-service
-      deploy-heketi: support
-    annotations:
-      description: Exposes Heketi service
-  spec:
-    ports:
-    - name: deploy-heketi-${CLUSTER_NAME}
-      port: 8080
-      targetPort: 8080
-    selector:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-- kind: Route
-  apiVersion: v1
-  metadata:
-    name: ${HEKETI_ROUTE}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-route
-      deploy-heketi: support
-  spec:
-    to:
-      kind: Service
-      name: deploy-heketi-${CLUSTER_NAME}
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: deploy-heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-dc
-      deploy-heketi: support
-    annotations:
-      description: Defines how to deploy Heketi
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-    triggers:
-    - type: ConfigChange
-    strategy:
-      type: Recreate
-    template:
-      metadata:
-        name: deploy-heketi
-        labels:
-          glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-          deploy-heketi: support
-      spec:
-        serviceAccountName: heketi-${CLUSTER_NAME}-service-account
-        containers:
-        - name: heketi
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          env:
-          - name: HEKETI_USER_KEY
-            value: ${HEKETI_USER_KEY}
-          - name: HEKETI_ADMIN_KEY
-            value: ${HEKETI_ADMIN_KEY}
-          - name: HEKETI_EXECUTOR
-            value: ${HEKETI_EXECUTOR}
-          - name: HEKETI_FSTAB
-            value: ${HEKETI_FSTAB}
-          - name: HEKETI_SNAPSHOT_LIMIT
-            value: '14'
-          - name: HEKETI_KUBE_GLUSTER_DAEMONSET
-            value: '1'
-          - name: HEKETI_IGNORE_STALE_OPERATIONS
-            value: "true"
-          ports:
-          - containerPort: 8080
-          volumeMounts:
-          - name: db
-            mountPath: /var/lib/heketi
-          - name: config
-            mountPath: /etc/heketi
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 3
-            httpGet:
-              path: /hello
-              port: 8080
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 30
-            httpGet:
-              path: /hello
-              port: 8080
-        volumes:
-        - name: db
-        - name: config
-          secret:
-            secretName: heketi-${CLUSTER_NAME}-config-secret
-parameters:
-- name: HEKETI_USER_KEY
-  displayName: Heketi User Secret
-  description: Set secret for those creating volumes as type _user_
-- name: HEKETI_ADMIN_KEY
-  displayName: Heketi Administrator Secret
-  description: Set secret for administration of the Heketi service as user _admin_
-- name: HEKETI_EXECUTOR
-  displayName: heketi executor type
-  description: Set the executor type, kubernetes or ssh
-  value: kubernetes
-- name: HEKETI_FSTAB
-  displayName: heketi fstab path
-  description: Set the fstab path, file that is populated with bricks that heketi creates
-  value: /var/lib/heketi/fstab
-- name: HEKETI_ROUTE
-  displayName: heketi route name
-  description: Set the hostname for the route URL
-  value: "heketi-glusterfs"
-- name: IMAGE_NAME
-  displayName: heketi container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: heketi container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify this heketi service, useful for running multiple heketi instances
-  value: glusterfs

+ 0 - 67
roles/openshift_storage_glusterfs/files/v3.10/gluster-s3-pvcs-template.yml

@@ -1,67 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: gluster-s3-pvcs
-  labels:
-    glusterfs: s3-pvcs-template
-    gluster-s3: pvcs-template
-  annotations:
-    description: Gluster S3 service template
-    tags: glusterfs,heketi,gluster-s3
-objects:
-- kind: PersistentVolumeClaim
-  apiVersion: v1
-  metadata:
-    name: "${PVC}"
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-storage
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-pvc
-    annotations:
-      volume.beta.kubernetes.io/storage-class: "glusterfs-${CLUSTER_NAME}"
-  spec:
-    accessModes:
-    - ReadWriteMany
-    resources:
-      requests:
-        storage: "${PVC_SIZE}"
-- kind: PersistentVolumeClaim
-  apiVersion: v1
-  metadata:
-    name: "${META_PVC}"
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-storage
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-meta-pvc
-    annotations:
-      volume.beta.kubernetes.io/storage-class: "glusterfs-${CLUSTER_NAME}"
-  spec:
-    accessModes:
-    - ReadWriteMany
-    resources:
-      requests:
-        storage: "${META_PVC_SIZE}"
-parameters:
-- name: S3_ACCOUNT
-  displayName: S3 Account Name
-  description: S3 storage account which will provide storage on GlusterFS volumes
-  required: true
-- name: PVC
-  displayName: Primary GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage
-  required: true
-- name: PVC_SIZE
-  displayName: Primary GlusterFS-backed PVC capacity
-  description: Capacity for GlusterFS-backed PVC for object storage
-  value: 2Gi
-- name: META_PVC
-  displayName: Metadata GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage metadata
-  required: true
-- name: META_PVC_SIZE
-  displayName: Metadata GlusterFS-backed PVC capacity
-  description: Capacity for GlusterFS-backed PVC for object storage metadata
-  value: 1Gi
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage

+ 0 - 140
roles/openshift_storage_glusterfs/files/v3.10/gluster-s3-template.yml

@@ -1,140 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: gluster-s3
-  labels:
-    glusterfs: s3-template
-    gluster-s3: template
-  annotations:
-    description: Gluster S3 service template
-    tags: glusterfs,heketi,gluster-s3
-objects:
-- kind: Service
-  apiVersion: v1
-  metadata:
-    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-service
-  spec:
-    ports:
-    - protocol: TCP
-      port: 8080
-      targetPort: 8080
-    selector:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-    type: ClusterIP
-    sessionAffinity: None
-  status:
-    loadBalancer: {}
-- kind: Route
-  apiVersion: v1
-  metadata:
-    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-route
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-route
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-route
-  spec:
-    to:
-      kind: Service
-      name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-dc
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-dc
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-dc
-    annotations:
-      openshift.io/scc: privileged
-      description: Defines how to deploy gluster s3 object storage
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-    template:
-      metadata:
-        name: gluster-${CLUSTER_NAME}-${S3_ACCOUNT}-s3
-        labels:
-          glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-          gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-      spec:
-        containers:
-        - name: gluster-s3
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          ports:
-          - name: gluster
-            containerPort: 8080
-            protocol: TCP
-          env:
-          - name: S3_ACCOUNT
-            value: "${S3_ACCOUNT}"
-          - name: S3_USER
-            value: "${S3_USER}"
-          - name: S3_PASSWORD
-            value: "${S3_PASSWORD}"
-          resources: {}
-          volumeMounts:
-          - name: gluster-vol1
-            mountPath: "/mnt/gluster-object/${S3_ACCOUNT}"
-          - name: gluster-vol2
-            mountPath: "/mnt/gluster-object/gsmetadata"
-          - name: glusterfs-cgroup
-            readOnly: true
-            mountPath: "/sys/fs/cgroup"
-          terminationMessagePath: "/dev/termination-log"
-          securityContext:
-            privileged: true
-        volumes:
-        - name: glusterfs-cgroup
-          hostPath:
-            path: "/sys/fs/cgroup"
-        - name: gluster-vol1
-          persistentVolumeClaim:
-            claimName: ${PVC}
-        - name: gluster-vol2
-          persistentVolumeClaim:
-            claimName: ${META_PVC}
-        restartPolicy: Always
-        terminationGracePeriodSeconds: 30
-        dnsPolicy: ClusterFirst
-        serviceAccountName: default
-        serviceAccount: default
-        securityContext: {}
-parameters:
-- name: IMAGE_NAME
-  displayName: glusterblock provisioner container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: glusterblock provisioner container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage
-- name: S3_ACCOUNT
-  displayName: S3 Account Name
-  description: S3 storage account which will provide storage on GlusterFS volumes
-  required: true
-- name: S3_USER
-  displayName: S3 User
-  description: S3 user who can access the S3 storage account
-  required: true
-- name: S3_PASSWORD
-  displayName: S3 User Password
-  description: Password for the S3 user
-  required: true
-- name: PVC
-  displayName: Primary GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage
-  value: gluster-s3-claim
-- name: META_PVC
-  displayName: Metadata GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage metadata
-  value: gluster-s3-meta-claim
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage

+ 0 - 104
roles/openshift_storage_glusterfs/files/v3.10/glusterblock-provisioner.yml

@@ -1,104 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: glusterblock-provisioner
-  labels:
-    glusterfs: block-template
-    glusterblock: template
-  annotations:
-    description: glusterblock provisioner template
-    tags: glusterfs
-objects:
-- kind: ClusterRole
-  apiVersion: v1
-  metadata:
-    name: glusterblock-provisioner-runner
-    labels:
-      glusterfs: block-provisioner-runner-clusterrole
-      glusterblock: provisioner-runner-clusterrole
-  rules:
-    - apiGroups: [""]
-      resources: ["persistentvolumes"]
-      verbs: ["get", "list", "watch", "create", "delete"]
-    - apiGroups: [""]
-      resources: ["persistentvolumeclaims"]
-      verbs: ["get", "list", "watch", "update"]
-    - apiGroups: ["storage.k8s.io"]
-      resources: ["storageclasses"]
-      verbs: ["get", "list", "watch"]
-    - apiGroups: [""]
-      resources: ["events"]
-      verbs: ["list", "watch", "create", "update", "patch"]
-    - apiGroups: [""]
-      resources: ["services"]
-      verbs: ["get"]
-    - apiGroups: [""]
-      resources: ["secrets"]
-      verbs: ["get", "create", "delete"]
-    - apiGroups: [""]
-      resources: ["routes"]
-      verbs: ["get", "list"]
-- apiVersion: v1
-  kind: ServiceAccount
-  metadata:
-    name: glusterblock-${CLUSTER_NAME}-provisioner
-    labels:
-      glusterfs: block-${CLUSTER_NAME}-provisioner-sa
-      glusterblock: ${CLUSTER_NAME}-provisioner-sa
-- apiVersion: v1
-  kind: ClusterRoleBinding
-  metadata:
-    name: glusterblock-${CLUSTER_NAME}-provisioner
-  roleRef:
-    name: glusterblock-provisioner-runner
-  subjects:
-  - kind: ServiceAccount
-    name: glusterblock-${CLUSTER_NAME}-provisioner
-    namespace: ${NAMESPACE}
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: glusterblock-${CLUSTER_NAME}-provisioner-dc
-    labels:
-      glusterfs: block-${CLUSTER_NAME}-provisioner-dc
-      glusterblock: ${CLUSTER_NAME}-provisioner-dc
-    annotations:
-      description: Defines how to deploy the glusterblock provisioner pod.
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: block-${CLUSTER_NAME}-provisioner-pod
-    triggers:
-    - type: ConfigChange
-    strategy:
-      type: Recreate
-    template:
-      metadata:
-        name: glusterblock-provisioner
-        labels:
-          glusterfs: block-${CLUSTER_NAME}-provisioner-pod
-      spec:
-        serviceAccountName: glusterblock-${CLUSTER_NAME}-provisioner
-        containers:
-        - name: glusterblock-provisioner
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          env:
-          - name: PROVISIONER_NAME
-            value: gluster.org/glusterblock
-parameters:
-- name: IMAGE_NAME
-  displayName: glusterblock provisioner container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: glusterblock provisioner container image version
-  required: True
-- name: NAMESPACE
-  displayName: glusterblock provisioner namespace
-  description: The namespace in which these resources are being created
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage

+ 0 - 161
roles/openshift_storage_glusterfs/files/v3.10/glusterfs-template.yml

@@ -1,161 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: glusterfs
-  labels:
-    glusterfs: template
-  annotations:
-    description: GlusterFS DaemonSet template
-    tags: glusterfs
-objects:
-- kind: DaemonSet
-  apiVersion: extensions/v1beta1
-  metadata:
-    name: glusterfs-${CLUSTER_NAME}
-    labels:
-      glusterfs: ${CLUSTER_NAME}-daemonset
-    annotations:
-      description: GlusterFS DaemonSet
-      tags: glusterfs
-  spec:
-    selector:
-      matchLabels:
-        glusterfs: ${CLUSTER_NAME}-pod
-    template:
-      metadata:
-        name: glusterfs-${CLUSTER_NAME}
-        labels:
-          glusterfs: ${CLUSTER_NAME}-pod
-          glusterfs-node: pod
-      spec:
-        nodeSelector: "${{NODE_LABELS}}"
-        hostNetwork: true
-        containers:
-        - name: glusterfs
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          env:
-          - name: GB_GLFS_LRU_COUNT
-            value: "${GB_GLFS_LRU_COUNT}"
-          - name: TCMU_LOGDIR
-            value: "${TCMU_LOGDIR}"
-          - name: GB_LOGDIR
-            value: "/var/log/glusterfs/gluster-block"
-          resources:
-            requests:
-              memory: 100Mi
-              cpu: 100m
-          volumeMounts:
-          - name: glusterfs-heketi
-            mountPath: "/var/lib/heketi"
-          - name: glusterfs-run
-            mountPath: "/run"
-          - name: glusterfs-lvm
-            mountPath: "/run/lvm"
-          - name: glusterfs-etc
-            mountPath: "/etc/glusterfs"
-          - name: glusterfs-logs
-            mountPath: "/var/log/glusterfs"
-          - name: glusterfs-config
-            mountPath: "/var/lib/glusterd"
-          - name: glusterfs-dev
-            mountPath: "/dev"
-          - name: glusterfs-misc
-            mountPath: "/var/lib/misc/glusterfsd"
-          - name: glusterfs-cgroup
-            mountPath: "/sys/fs/cgroup"
-            readOnly: true
-          - name: glusterfs-ssl
-            mountPath: "/etc/ssl"
-            readOnly: true
-          - name: glusterfs-target
-            mountPath: "/etc/target"
-          securityContext:
-            capabilities: {}
-            privileged: true
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 40
-            exec:
-              command:
-              - "/bin/bash"
-              - "-c"
-              - systemctl status glusterd.service
-            periodSeconds: 25
-            successThreshold: 1
-            failureThreshold: 50
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 40
-            exec:
-              command:
-              - "/bin/bash"
-              - "-c"
-              - systemctl status glusterd.service
-            periodSeconds: 25
-            successThreshold: 1
-            failureThreshold: 50
-          terminationMessagePath: "/dev/termination-log"
-        volumes:
-        - name: glusterfs-heketi
-          hostPath:
-            path: "/var/lib/heketi"
-        - name: glusterfs-run
-          emptyDir: {}
-        - name: glusterfs-lvm
-          hostPath:
-            path: "/run/lvm"
-        - name: glusterfs-etc
-          hostPath:
-            path: "/etc/glusterfs"
-        - name: glusterfs-logs
-          hostPath:
-            path: "/var/log/glusterfs"
-        - name: glusterfs-config
-          hostPath:
-            path: "/var/lib/glusterd"
-        - name: glusterfs-dev
-          hostPath:
-            path: "/dev"
-        - name: glusterfs-misc
-          hostPath:
-            path: "/var/lib/misc/glusterfsd"
-        - name: glusterfs-cgroup
-          hostPath:
-            path: "/sys/fs/cgroup"
-        - name: glusterfs-ssl
-          hostPath:
-            path: "/etc/ssl"
-        - name: glusterfs-target
-          hostPath:
-            path: "/etc/target"
-        restartPolicy: Always
-        terminationGracePeriodSeconds: 30
-        dnsPolicy: ClusterFirst
-        securityContext: {}
-parameters:
-- name: NODE_LABELS
-  displayName: Daemonset Node Labels
-  description: Labels which define the daemonset node selector. Must contain at least one label of the format \'glusterfs=<CLUSTER_NAME>-host\'
-  value: '{ "glusterfs": "storage-host" }'
-- name: IMAGE_NAME
-  displayName: GlusterFS container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: GlusterFS container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage
-- name: GB_GLFS_LRU_COUNT
-  displayName: Maximum number of block hosting volumes
-  description: This value is to set maximum number of block hosting volumes.
-  value: "15"
-  required: true
-- name: TCMU_LOGDIR
-  displayName: Tcmu runner log directory
-  description: This value is to set tcmu runner log directory
-  value: "/var/log/glusterfs/gluster-block"
-  required: true

+ 0 - 138
roles/openshift_storage_glusterfs/files/v3.10/heketi-template.yml

@@ -1,138 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: heketi
-  labels:
-    glusterfs: heketi-template
-  annotations:
-    description: Heketi service deployment template
-    tags: glusterfs,heketi
-objects:
-- kind: Service
-  apiVersion: v1
-  metadata:
-    name: heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-service
-      heketi: ${CLUSTER_NAME}-service
-    annotations:
-      description: Exposes Heketi service
-  spec:
-    ports:
-    - name: heketi
-      port: 8080
-      targetPort: 8080
-    selector:
-      glusterfs: heketi-${CLUSTER_NAME}-pod
-- kind: Route
-  apiVersion: v1
-  metadata:
-    name: ${HEKETI_ROUTE}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-route
-      heketi: ${CLUSTER_NAME}-route
-  spec:
-    to:
-      kind: Service
-      name: heketi-${CLUSTER_NAME}
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-dc
-      heketi: ${CLUSTER_NAME}-dc
-    annotations:
-      description: Defines how to deploy Heketi
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: heketi-${CLUSTER_NAME}-pod
-    triggers:
-    - type: ConfigChange
-    strategy:
-      type: Recreate
-    template:
-      metadata:
-        name: heketi-${CLUSTER_NAME}
-        labels:
-          glusterfs: heketi-${CLUSTER_NAME}-pod
-          heketi: ${CLUSTER_NAME}-pod
-      spec:
-        serviceAccountName: heketi-${CLUSTER_NAME}-service-account
-        containers:
-        - name: heketi
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          env:
-          - name: HEKETI_USER_KEY
-            value: ${HEKETI_USER_KEY}
-          - name: HEKETI_ADMIN_KEY
-            value: ${HEKETI_ADMIN_KEY}
-          - name: HEKETI_EXECUTOR
-            value: ${HEKETI_EXECUTOR}
-          - name: HEKETI_FSTAB
-            value: ${HEKETI_FSTAB}
-          - name: HEKETI_SNAPSHOT_LIMIT
-            value: '14'
-          - name: HEKETI_KUBE_GLUSTER_DAEMONSET
-            value: '1'
-          - name: HEKETI_IGNORE_STALE_OPERATIONS
-            value: "true"
-          ports:
-          - containerPort: 8080
-          volumeMounts:
-          - name: db
-            mountPath: /var/lib/heketi
-          - name: config
-            mountPath: /etc/heketi
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 3
-            httpGet:
-              path: /hello
-              port: 8080
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 30
-            httpGet:
-              path: /hello
-              port: 8080
-        volumes:
-        - name: db
-          glusterfs:
-            endpoints: heketi-db-${CLUSTER_NAME}-endpoints
-            path: heketidbstorage
-        - name: config
-          secret:
-            secretName: heketi-${CLUSTER_NAME}-config-secret
-parameters:
-- name: HEKETI_USER_KEY
-  displayName: Heketi User Secret
-  description: Set secret for those creating volumes as type _user_
-- name: HEKETI_ADMIN_KEY
-  displayName: Heketi Administrator Secret
-  description: Set secret for administration of the Heketi service as user _admin_
-- name: HEKETI_EXECUTOR
-  displayName: heketi executor type
-  description: Set the executor type, kubernetes or ssh
-  value: kubernetes
-- name: HEKETI_FSTAB
-  displayName: heketi fstab path
-  description: Set the fstab path, file that is populated with bricks that heketi creates
-  value: /var/lib/heketi/fstab
-- name: HEKETI_ROUTE
-  displayName: heketi route name
-  description: Set the hostname for the route URL
-  value: "heketi-glusterfs"
-- name: IMAGE_NAME
-  displayName: heketi container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: heketi container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify this heketi service, useful for running multiple heketi instances
-  value: glusterfs

+ 0 - 135
roles/openshift_storage_glusterfs/files/v3.6/deploy-heketi-template.yml

@@ -1,135 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: deploy-heketi
-  labels:
-    glusterfs: heketi-template
-    deploy-heketi: support
-  annotations:
-    description: Bootstrap Heketi installation
-    tags: glusterfs,heketi,installation
-objects:
-- kind: Service
-  apiVersion: v1
-  metadata:
-    name: deploy-heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-service
-      deploy-heketi: support
-    annotations:
-      description: Exposes Heketi service
-  spec:
-    ports:
-    - name: deploy-heketi-${CLUSTER_NAME}
-      port: 8080
-      targetPort: 8080
-    selector:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-- kind: Route
-  apiVersion: v1
-  metadata:
-    name: ${HEKETI_ROUTE}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-route
-      deploy-heketi: support
-  spec:
-    to:
-      kind: Service
-      name: deploy-heketi-${CLUSTER_NAME}
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: deploy-heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-dc
-      deploy-heketi: support
-    annotations:
-      description: Defines how to deploy Heketi
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-    triggers:
-    - type: ConfigChange
-    strategy:
-      type: Recreate
-    template:
-      metadata:
-        name: deploy-heketi
-        labels:
-          glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-          deploy-heketi: support
-      spec:
-        serviceAccountName: heketi-${CLUSTER_NAME}-service-account
-        containers:
-        - name: heketi
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          env:
-          - name: HEKETI_USER_KEY
-            value: ${HEKETI_USER_KEY}
-          - name: HEKETI_ADMIN_KEY
-            value: ${HEKETI_ADMIN_KEY}
-          - name: HEKETI_EXECUTOR
-            value: ${HEKETI_EXECUTOR}
-          - name: HEKETI_FSTAB
-            value: ${HEKETI_FSTAB}
-          - name: HEKETI_SNAPSHOT_LIMIT
-            value: '14'
-          - name: HEKETI_KUBE_GLUSTER_DAEMONSET
-            value: '1'
-          - name: HEKETI_IGNORE_STALE_OPERATIONS
-            value: "true"
-          ports:
-          - containerPort: 8080
-          volumeMounts:
-          - name: db
-            mountPath: /var/lib/heketi
-          - name: config
-            mountPath: /etc/heketi
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 3
-            httpGet:
-              path: /hello
-              port: 8080
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 30
-            httpGet:
-              path: /hello
-              port: 8080
-        volumes:
-        - name: db
-        - name: config
-          secret:
-            secretName: heketi-${CLUSTER_NAME}-config-secret
-parameters:
-- name: HEKETI_USER_KEY
-  displayName: Heketi User Secret
-  description: Set secret for those creating volumes as type _user_
-- name: HEKETI_ADMIN_KEY
-  displayName: Heketi Administrator Secret
-  description: Set secret for administration of the Heketi service as user _admin_
-- name: HEKETI_EXECUTOR
-  displayName: heketi executor type
-  description: Set the executor type, kubernetes or ssh
-  value: kubernetes
-- name: HEKETI_FSTAB
-  displayName: heketi fstab path
-  description: Set the fstab path, file that is populated with bricks that heketi creates
-  value: /var/lib/heketi/fstab
-- name: HEKETI_ROUTE
-  displayName: heketi route name
-  description: Set the hostname for the route URL
-  value: "heketi-glusterfs"
-- name: IMAGE_NAME
-  displayName: heketi container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: heketi container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify this heketi service, useful for running multiple heketi instances
-  value: glusterfs

+ 0 - 67
roles/openshift_storage_glusterfs/files/v3.6/gluster-s3-pvcs-template.yml

@@ -1,67 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: gluster-s3-pvcs
-  labels:
-    glusterfs: s3-pvcs-template
-    gluster-s3: pvcs-template
-  annotations:
-    description: Gluster S3 service template
-    tags: glusterfs,heketi,gluster-s3
-objects:
-- kind: PersistentVolumeClaim
-  apiVersion: v1
-  metadata:
-    name: "${PVC}"
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-storage
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-pvc
-    annotations:
-      volume.beta.kubernetes.io/storage-class: "glusterfs-${CLUSTER_NAME}"
-  spec:
-    accessModes:
-    - ReadWriteMany
-    resources:
-      requests:
-        storage: "${PVC_SIZE}"
-- kind: PersistentVolumeClaim
-  apiVersion: v1
-  metadata:
-    name: "${META_PVC}"
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-storage
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-meta-pvc
-    annotations:
-      volume.beta.kubernetes.io/storage-class: "glusterfs-${CLUSTER_NAME}"
-  spec:
-    accessModes:
-    - ReadWriteMany
-    resources:
-      requests:
-        storage: "${META_PVC_SIZE}"
-parameters:
-- name: S3_ACCOUNT
-  displayName: S3 Account Name
-  description: S3 storage account which will provide storage on GlusterFS volumes
-  required: true
-- name: PVC
-  displayName: Primary GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage
-  required: true
-- name: PVC_SIZE
-  displayName: Primary GlusterFS-backed PVC capacity
-  description: Capacity for GlusterFS-backed PVC for object storage
-  value: 2Gi
-- name: META_PVC
-  displayName: Metadata GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage metadata
-  required: true
-- name: META_PVC_SIZE
-  displayName: Metadata GlusterFS-backed PVC capacity
-  description: Capacity for GlusterFS-backed PVC for object storage metadata
-  value: 1Gi
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage

+ 0 - 140
roles/openshift_storage_glusterfs/files/v3.6/gluster-s3-template.yml

@@ -1,140 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: gluster-s3
-  labels:
-    glusterfs: s3-template
-    gluster-s3: template
-  annotations:
-    description: Gluster S3 service template
-    tags: glusterfs,heketi,gluster-s3
-objects:
-- kind: Service
-  apiVersion: v1
-  metadata:
-    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-service
-  spec:
-    ports:
-    - protocol: TCP
-      port: 8080
-      targetPort: 8080
-    selector:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-    type: ClusterIP
-    sessionAffinity: None
-  status:
-    loadBalancer: {}
-- kind: Route
-  apiVersion: v1
-  metadata:
-    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-route
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-route
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-route
-  spec:
-    to:
-      kind: Service
-      name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-dc
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-dc
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-dc
-    annotations:
-      openshift.io/scc: privileged
-      description: Defines how to deploy gluster s3 object storage
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-    template:
-      metadata:
-        name: gluster-${CLUSTER_NAME}-${S3_ACCOUNT}-s3
-        labels:
-          glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-          gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-      spec:
-        containers:
-        - name: gluster-s3
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          ports:
-          - name: gluster
-            containerPort: 8080
-            protocol: TCP
-          env:
-          - name: S3_ACCOUNT
-            value: "${S3_ACCOUNT}"
-          - name: S3_USER
-            value: "${S3_USER}"
-          - name: S3_PASSWORD
-            value: "${S3_PASSWORD}"
-          resources: {}
-          volumeMounts:
-          - name: gluster-vol1
-            mountPath: "/mnt/gluster-object/${S3_ACCOUNT}"
-          - name: gluster-vol2
-            mountPath: "/mnt/gluster-object/gsmetadata"
-          - name: glusterfs-cgroup
-            readOnly: true
-            mountPath: "/sys/fs/cgroup"
-          terminationMessagePath: "/dev/termination-log"
-          securityContext:
-            privileged: true
-        volumes:
-        - name: glusterfs-cgroup
-          hostPath:
-            path: "/sys/fs/cgroup"
-        - name: gluster-vol1
-          persistentVolumeClaim:
-            claimName: ${PVC}
-        - name: gluster-vol2
-          persistentVolumeClaim:
-            claimName: ${META_PVC}
-        restartPolicy: Always
-        terminationGracePeriodSeconds: 30
-        dnsPolicy: ClusterFirst
-        serviceAccountName: default
-        serviceAccount: default
-        securityContext: {}
-parameters:
-- name: IMAGE_NAME
-  displayName: glusterblock provisioner container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: glusterblock provisioner container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage
-- name: S3_ACCOUNT
-  displayName: S3 Account Name
-  description: S3 storage account which will provide storage on GlusterFS volumes
-  required: true
-- name: S3_USER
-  displayName: S3 User
-  description: S3 user who can access the S3 storage account
-  required: true
-- name: S3_PASSWORD
-  displayName: S3 User Password
-  description: Password for the S3 user
-  required: true
-- name: PVC
-  displayName: Primary GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage
-  value: gluster-s3-claim
-- name: META_PVC
-  displayName: Metadata GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage metadata
-  value: gluster-s3-meta-claim
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage

+ 0 - 104
roles/openshift_storage_glusterfs/files/v3.6/glusterblock-provisioner.yml

@@ -1,104 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: glusterblock-provisioner
-  labels:
-    glusterfs: block-template
-    glusterblock: template
-  annotations:
-    description: glusterblock provisioner template
-    tags: glusterfs
-objects:
-- kind: ClusterRole
-  apiVersion: v1
-  metadata:
-    name: glusterblock-provisioner-runner
-    labels:
-      glusterfs: block-provisioner-runner-clusterrole
-      glusterblock: provisioner-runner-clusterrole
-  rules:
-    - apiGroups: [""]
-      resources: ["persistentvolumes"]
-      verbs: ["get", "list", "watch", "create", "delete"]
-    - apiGroups: [""]
-      resources: ["persistentvolumeclaims"]
-      verbs: ["get", "list", "watch", "update"]
-    - apiGroups: ["storage.k8s.io"]
-      resources: ["storageclasses"]
-      verbs: ["get", "list", "watch"]
-    - apiGroups: [""]
-      resources: ["events"]
-      verbs: ["list", "watch", "create", "update", "patch"]
-    - apiGroups: [""]
-      resources: ["services"]
-      verbs: ["get"]
-    - apiGroups: [""]
-      resources: ["secrets"]
-      verbs: ["get", "create", "delete"]
-    - apiGroups: [""]
-      resources: ["routes"]
-      verbs: ["get", "list"]
-- apiVersion: v1
-  kind: ServiceAccount
-  metadata:
-    name: glusterblock-${CLUSTER_NAME}-provisioner
-    labels:
-      glusterfs: block-${CLUSTER_NAME}-provisioner-sa
-      glusterblock: ${CLUSTER_NAME}-provisioner-sa
-- apiVersion: v1
-  kind: ClusterRoleBinding
-  metadata:
-    name: glusterblock-${CLUSTER_NAME}-provisioner
-  roleRef:
-    name: glusterblock-provisioner-runner
-  subjects:
-  - kind: ServiceAccount
-    name: glusterblock-${CLUSTER_NAME}-provisioner
-    namespace: ${NAMESPACE}
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: glusterblock-${CLUSTER_NAME}-provisioner-dc
-    labels:
-      glusterfs: block-${CLUSTER_NAME}-provisioner-dc
-      glusterblock: ${CLUSTER_NAME}-provisioner-dc
-    annotations:
-      description: Defines how to deploy the glusterblock provisioner pod.
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: block-${CLUSTER_NAME}-provisioner-pod
-    triggers:
-    - type: ConfigChange
-    strategy:
-      type: Recreate
-    template:
-      metadata:
-        name: glusterblock-provisioner
-        labels:
-          glusterfs: block-${CLUSTER_NAME}-provisioner-pod
-      spec:
-        serviceAccountName: glusterblock-${CLUSTER_NAME}-provisioner
-        containers:
-        - name: glusterblock-provisioner
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          env:
-          - name: PROVISIONER_NAME
-            value: gluster.org/glusterblock
-parameters:
-- name: IMAGE_NAME
-  displayName: glusterblock provisioner container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: glusterblock provisioner container image version
-  required: True
-- name: NAMESPACE
-  displayName: glusterblock provisioner namespace
-  description: The namespace in which these resources are being created
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage

+ 0 - 161
roles/openshift_storage_glusterfs/files/v3.6/glusterfs-template.yml

@@ -1,161 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: glusterfs
-  labels:
-    glusterfs: template
-  annotations:
-    description: GlusterFS DaemonSet template
-    tags: glusterfs
-objects:
-- kind: DaemonSet
-  apiVersion: extensions/v1beta1
-  metadata:
-    name: glusterfs-${CLUSTER_NAME}
-    labels:
-      glusterfs: ${CLUSTER_NAME}-daemonset
-    annotations:
-      description: GlusterFS DaemonSet
-      tags: glusterfs
-  spec:
-    selector:
-      matchLabels:
-        glusterfs: ${CLUSTER_NAME}-pod
-    template:
-      metadata:
-        name: glusterfs-${CLUSTER_NAME}
-        labels:
-          glusterfs: ${CLUSTER_NAME}-pod
-          glusterfs-node: pod
-      spec:
-        nodeSelector: "${{NODE_LABELS}}"
-        hostNetwork: true
-        containers:
-        - name: glusterfs
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          env:
-          - name: GB_GLFS_LRU_COUNT
-            value: "${GB_GLFS_LRU_COUNT}"
-          - name: TCMU_LOGDIR
-            value: "${TCMU_LOGDIR}"
-          - name: GB_LOGDIR
-            value: "/var/log/glusterfs/gluster-block"
-          resources:
-            requests:
-              memory: 100Mi
-              cpu: 100m
-          volumeMounts:
-          - name: glusterfs-heketi
-            mountPath: "/var/lib/heketi"
-          - name: glusterfs-run
-            mountPath: "/run"
-          - name: glusterfs-lvm
-            mountPath: "/run/lvm"
-          - name: glusterfs-etc
-            mountPath: "/etc/glusterfs"
-          - name: glusterfs-logs
-            mountPath: "/var/log/glusterfs"
-          - name: glusterfs-config
-            mountPath: "/var/lib/glusterd"
-          - name: glusterfs-dev
-            mountPath: "/dev"
-          - name: glusterfs-misc
-            mountPath: "/var/lib/misc/glusterfsd"
-          - name: glusterfs-cgroup
-            mountPath: "/sys/fs/cgroup"
-            readOnly: true
-          - name: glusterfs-ssl
-            mountPath: "/etc/ssl"
-            readOnly: true
-          - name: glusterfs-target
-            mountPath: "/etc/target"
-          securityContext:
-            capabilities: {}
-            privileged: true
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 40
-            exec:
-              command:
-              - "/bin/bash"
-              - "-c"
-              - systemctl status glusterd.service
-            periodSeconds: 25
-            successThreshold: 1
-            failureThreshold: 50
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 40
-            exec:
-              command:
-              - "/bin/bash"
-              - "-c"
-              - systemctl status glusterd.service
-            periodSeconds: 25
-            successThreshold: 1
-            failureThreshold: 50
-          terminationMessagePath: "/dev/termination-log"
-        volumes:
-        - name: glusterfs-heketi
-          hostPath:
-            path: "/var/lib/heketi"
-        - name: glusterfs-run
-          emptyDir: {}
-        - name: glusterfs-lvm
-          hostPath:
-            path: "/run/lvm"
-        - name: glusterfs-etc
-          hostPath:
-            path: "/etc/glusterfs"
-        - name: glusterfs-logs
-          hostPath:
-            path: "/var/log/glusterfs"
-        - name: glusterfs-config
-          hostPath:
-            path: "/var/lib/glusterd"
-        - name: glusterfs-dev
-          hostPath:
-            path: "/dev"
-        - name: glusterfs-misc
-          hostPath:
-            path: "/var/lib/misc/glusterfsd"
-        - name: glusterfs-cgroup
-          hostPath:
-            path: "/sys/fs/cgroup"
-        - name: glusterfs-ssl
-          hostPath:
-            path: "/etc/ssl"
-        - name: glusterfs-target
-          hostPath:
-            path: "/etc/target"
-        restartPolicy: Always
-        terminationGracePeriodSeconds: 30
-        dnsPolicy: ClusterFirst
-        securityContext: {}
-parameters:
-- name: NODE_LABELS
-  displayName: Daemonset Node Labels
-  description: Labels which define the daemonset node selector. Must contain at least one label of the format \'glusterfs=<CLUSTER_NAME>-host\'
-  value: '{ "glusterfs": "storage-host" }'
-- name: IMAGE_NAME
-  displayName: GlusterFS container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: GlusterFS container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage
-- name: GB_GLFS_LRU_COUNT
-  displayName: Maximum number of block hosting volumes
-  description: This value is to set maximum number of block hosting volumes.
-  value: "15"
-  required: true
-- name: TCMU_LOGDIR
-  displayName: Tcmu runner log directory
-  description: This value is to set tcmu runner log directory
-  value: "/var/log/glusterfs/gluster-block"
-  required: true

+ 0 - 138
roles/openshift_storage_glusterfs/files/v3.6/heketi-template.yml

@@ -1,138 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: heketi
-  labels:
-    glusterfs: heketi-template
-  annotations:
-    description: Heketi service deployment template
-    tags: glusterfs,heketi
-objects:
-- kind: Service
-  apiVersion: v1
-  metadata:
-    name: heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-service
-      heketi: ${CLUSTER_NAME}-service
-    annotations:
-      description: Exposes Heketi service
-  spec:
-    ports:
-    - name: heketi
-      port: 8080
-      targetPort: 8080
-    selector:
-      glusterfs: heketi-${CLUSTER_NAME}-pod
-- kind: Route
-  apiVersion: v1
-  metadata:
-    name: ${HEKETI_ROUTE}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-route
-      heketi: ${CLUSTER_NAME}-route
-  spec:
-    to:
-      kind: Service
-      name: heketi-${CLUSTER_NAME}
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-dc
-      heketi: ${CLUSTER_NAME}-dc
-    annotations:
-      description: Defines how to deploy Heketi
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: heketi-${CLUSTER_NAME}-pod
-    triggers:
-    - type: ConfigChange
-    strategy:
-      type: Recreate
-    template:
-      metadata:
-        name: heketi-${CLUSTER_NAME}
-        labels:
-          glusterfs: heketi-${CLUSTER_NAME}-pod
-          heketi: ${CLUSTER_NAME}-pod
-      spec:
-        serviceAccountName: heketi-${CLUSTER_NAME}-service-account
-        containers:
-        - name: heketi
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          env:
-          - name: HEKETI_USER_KEY
-            value: ${HEKETI_USER_KEY}
-          - name: HEKETI_ADMIN_KEY
-            value: ${HEKETI_ADMIN_KEY}
-          - name: HEKETI_EXECUTOR
-            value: ${HEKETI_EXECUTOR}
-          - name: HEKETI_FSTAB
-            value: ${HEKETI_FSTAB}
-          - name: HEKETI_SNAPSHOT_LIMIT
-            value: '14'
-          - name: HEKETI_KUBE_GLUSTER_DAEMONSET
-            value: '1'
-          - name: HEKETI_IGNORE_STALE_OPERATIONS
-            value: "true"
-          ports:
-          - containerPort: 8080
-          volumeMounts:
-          - name: db
-            mountPath: /var/lib/heketi
-          - name: config
-            mountPath: /etc/heketi
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 3
-            httpGet:
-              path: /hello
-              port: 8080
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 30
-            httpGet:
-              path: /hello
-              port: 8080
-        volumes:
-        - name: db
-          glusterfs:
-            endpoints: heketi-db-${CLUSTER_NAME}-endpoints
-            path: heketidbstorage
-        - name: config
-          secret:
-            secretName: heketi-${CLUSTER_NAME}-config-secret
-parameters:
-- name: HEKETI_USER_KEY
-  displayName: Heketi User Secret
-  description: Set secret for those creating volumes as type _user_
-- name: HEKETI_ADMIN_KEY
-  displayName: Heketi Administrator Secret
-  description: Set secret for administration of the Heketi service as user _admin_
-- name: HEKETI_EXECUTOR
-  displayName: heketi executor type
-  description: Set the executor type, kubernetes or ssh
-  value: kubernetes
-- name: HEKETI_FSTAB
-  displayName: heketi fstab path
-  description: Set the fstab path, file that is populated with bricks that heketi creates
-  value: /var/lib/heketi/fstab
-- name: HEKETI_ROUTE
-  displayName: heketi route name
-  description: Set the hostname for the route URL
-  value: "heketi-glusterfs"
-- name: IMAGE_NAME
-  displayName: heketi container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: heketi container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify this heketi service, useful for running multiple heketi instances
-  value: glusterfs

+ 0 - 135
roles/openshift_storage_glusterfs/files/v3.7/deploy-heketi-template.yml

@@ -1,135 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: deploy-heketi
-  labels:
-    glusterfs: heketi-template
-    deploy-heketi: support
-  annotations:
-    description: Bootstrap Heketi installation
-    tags: glusterfs,heketi,installation
-objects:
-- kind: Service
-  apiVersion: v1
-  metadata:
-    name: deploy-heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-service
-      deploy-heketi: support
-    annotations:
-      description: Exposes Heketi service
-  spec:
-    ports:
-    - name: deploy-heketi-${CLUSTER_NAME}
-      port: 8080
-      targetPort: 8080
-    selector:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-- kind: Route
-  apiVersion: v1
-  metadata:
-    name: ${HEKETI_ROUTE}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-route
-      deploy-heketi: support
-  spec:
-    to:
-      kind: Service
-      name: deploy-heketi-${CLUSTER_NAME}
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: deploy-heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-dc
-      deploy-heketi: support
-    annotations:
-      description: Defines how to deploy Heketi
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-    triggers:
-    - type: ConfigChange
-    strategy:
-      type: Recreate
-    template:
-      metadata:
-        name: deploy-heketi
-        labels:
-          glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-          deploy-heketi: support
-      spec:
-        serviceAccountName: heketi-${CLUSTER_NAME}-service-account
-        containers:
-        - name: heketi
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          env:
-          - name: HEKETI_USER_KEY
-            value: ${HEKETI_USER_KEY}
-          - name: HEKETI_ADMIN_KEY
-            value: ${HEKETI_ADMIN_KEY}
-          - name: HEKETI_EXECUTOR
-            value: ${HEKETI_EXECUTOR}
-          - name: HEKETI_FSTAB
-            value: ${HEKETI_FSTAB}
-          - name: HEKETI_SNAPSHOT_LIMIT
-            value: '14'
-          - name: HEKETI_KUBE_GLUSTER_DAEMONSET
-            value: '1'
-          - name: HEKETI_IGNORE_STALE_OPERATIONS
-            value: "true"
-          ports:
-          - containerPort: 8080
-          volumeMounts:
-          - name: db
-            mountPath: /var/lib/heketi
-          - name: config
-            mountPath: /etc/heketi
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 3
-            httpGet:
-              path: /hello
-              port: 8080
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 30
-            httpGet:
-              path: /hello
-              port: 8080
-        volumes:
-        - name: db
-        - name: config
-          secret:
-            secretName: heketi-${CLUSTER_NAME}-config-secret
-parameters:
-- name: HEKETI_USER_KEY
-  displayName: Heketi User Secret
-  description: Set secret for those creating volumes as type _user_
-- name: HEKETI_ADMIN_KEY
-  displayName: Heketi Administrator Secret
-  description: Set secret for administration of the Heketi service as user _admin_
-- name: HEKETI_EXECUTOR
-  displayName: heketi executor type
-  description: Set the executor type, kubernetes or ssh
-  value: kubernetes
-- name: HEKETI_FSTAB
-  displayName: heketi fstab path
-  description: Set the fstab path, file that is populated with bricks that heketi creates
-  value: /var/lib/heketi/fstab
-- name: HEKETI_ROUTE
-  displayName: heketi route name
-  description: Set the hostname for the route URL
-  value: "heketi-glusterfs"
-- name: IMAGE_NAME
-  displayName: heketi container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: heketi container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify this heketi service, useful for running multiple heketi instances
-  value: glusterfs

+ 0 - 67
roles/openshift_storage_glusterfs/files/v3.7/gluster-s3-pvcs-template.yml

@@ -1,67 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: gluster-s3-pvcs
-  labels:
-    glusterfs: s3-pvcs-template
-    gluster-s3: pvcs-template
-  annotations:
-    description: Gluster S3 service template
-    tags: glusterfs,heketi,gluster-s3
-objects:
-- kind: PersistentVolumeClaim
-  apiVersion: v1
-  metadata:
-    name: "${PVC}"
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-storage
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-pvc
-    annotations:
-      volume.beta.kubernetes.io/storage-class: "glusterfs-${CLUSTER_NAME}"
-  spec:
-    accessModes:
-    - ReadWriteMany
-    resources:
-      requests:
-        storage: "${PVC_SIZE}"
-- kind: PersistentVolumeClaim
-  apiVersion: v1
-  metadata:
-    name: "${META_PVC}"
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-storage
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-meta-pvc
-    annotations:
-      volume.beta.kubernetes.io/storage-class: "glusterfs-${CLUSTER_NAME}"
-  spec:
-    accessModes:
-    - ReadWriteMany
-    resources:
-      requests:
-        storage: "${META_PVC_SIZE}"
-parameters:
-- name: S3_ACCOUNT
-  displayName: S3 Account Name
-  description: S3 storage account which will provide storage on GlusterFS volumes
-  required: true
-- name: PVC
-  displayName: Primary GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage
-  required: true
-- name: PVC_SIZE
-  displayName: Primary GlusterFS-backed PVC capacity
-  description: Capacity for GlusterFS-backed PVC for object storage
-  value: 2Gi
-- name: META_PVC
-  displayName: Metadata GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage metadata
-  required: true
-- name: META_PVC_SIZE
-  displayName: Metadata GlusterFS-backed PVC capacity
-  description: Capacity for GlusterFS-backed PVC for object storage metadata
-  value: 1Gi
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage

+ 0 - 140
roles/openshift_storage_glusterfs/files/v3.7/gluster-s3-template.yml

@@ -1,140 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: gluster-s3
-  labels:
-    glusterfs: s3-template
-    gluster-s3: template
-  annotations:
-    description: Gluster S3 service template
-    tags: glusterfs,heketi,gluster-s3
-objects:
-- kind: Service
-  apiVersion: v1
-  metadata:
-    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-service
-  spec:
-    ports:
-    - protocol: TCP
-      port: 8080
-      targetPort: 8080
-    selector:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-    type: ClusterIP
-    sessionAffinity: None
-  status:
-    loadBalancer: {}
-- kind: Route
-  apiVersion: v1
-  metadata:
-    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-route
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-route
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-route
-  spec:
-    to:
-      kind: Service
-      name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-dc
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-dc
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-dc
-    annotations:
-      openshift.io/scc: privileged
-      description: Defines how to deploy gluster s3 object storage
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-    template:
-      metadata:
-        name: gluster-${CLUSTER_NAME}-${S3_ACCOUNT}-s3
-        labels:
-          glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-          gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-      spec:
-        containers:
-        - name: gluster-s3
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          ports:
-          - name: gluster
-            containerPort: 8080
-            protocol: TCP
-          env:
-          - name: S3_ACCOUNT
-            value: "${S3_ACCOUNT}"
-          - name: S3_USER
-            value: "${S3_USER}"
-          - name: S3_PASSWORD
-            value: "${S3_PASSWORD}"
-          resources: {}
-          volumeMounts:
-          - name: gluster-vol1
-            mountPath: "/mnt/gluster-object/${S3_ACCOUNT}"
-          - name: gluster-vol2
-            mountPath: "/mnt/gluster-object/gsmetadata"
-          - name: glusterfs-cgroup
-            readOnly: true
-            mountPath: "/sys/fs/cgroup"
-          terminationMessagePath: "/dev/termination-log"
-          securityContext:
-            privileged: true
-        volumes:
-        - name: glusterfs-cgroup
-          hostPath:
-            path: "/sys/fs/cgroup"
-        - name: gluster-vol1
-          persistentVolumeClaim:
-            claimName: ${PVC}
-        - name: gluster-vol2
-          persistentVolumeClaim:
-            claimName: ${META_PVC}
-        restartPolicy: Always
-        terminationGracePeriodSeconds: 30
-        dnsPolicy: ClusterFirst
-        serviceAccountName: default
-        serviceAccount: default
-        securityContext: {}
-parameters:
-- name: IMAGE_NAME
-  displayName: glusterblock provisioner container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: glusterblock provisioner container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage
-- name: S3_ACCOUNT
-  displayName: S3 Account Name
-  description: S3 storage account which will provide storage on GlusterFS volumes
-  required: true
-- name: S3_USER
-  displayName: S3 User
-  description: S3 user who can access the S3 storage account
-  required: true
-- name: S3_PASSWORD
-  displayName: S3 User Password
-  description: Password for the S3 user
-  required: true
-- name: PVC
-  displayName: Primary GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage
-  value: gluster-s3-claim
-- name: META_PVC
-  displayName: Metadata GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage metadata
-  value: gluster-s3-meta-claim
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage

+ 0 - 104
roles/openshift_storage_glusterfs/files/v3.7/glusterblock-provisioner.yml

@@ -1,104 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: glusterblock-provisioner
-  labels:
-    glusterfs: block-template
-    glusterblock: template
-  annotations:
-    description: glusterblock provisioner template
-    tags: glusterfs
-objects:
-- kind: ClusterRole
-  apiVersion: v1
-  metadata:
-    name: glusterblock-provisioner-runner
-    labels:
-      glusterfs: block-provisioner-runner-clusterrole
-      glusterblock: provisioner-runner-clusterrole
-  rules:
-    - apiGroups: [""]
-      resources: ["persistentvolumes"]
-      verbs: ["get", "list", "watch", "create", "delete"]
-    - apiGroups: [""]
-      resources: ["persistentvolumeclaims"]
-      verbs: ["get", "list", "watch", "update"]
-    - apiGroups: ["storage.k8s.io"]
-      resources: ["storageclasses"]
-      verbs: ["get", "list", "watch"]
-    - apiGroups: [""]
-      resources: ["events"]
-      verbs: ["list", "watch", "create", "update", "patch"]
-    - apiGroups: [""]
-      resources: ["services"]
-      verbs: ["get"]
-    - apiGroups: [""]
-      resources: ["secrets"]
-      verbs: ["get", "create", "delete"]
-    - apiGroups: [""]
-      resources: ["routes"]
-      verbs: ["get", "list"]
-- apiVersion: v1
-  kind: ServiceAccount
-  metadata:
-    name: glusterblock-${CLUSTER_NAME}-provisioner
-    labels:
-      glusterfs: block-${CLUSTER_NAME}-provisioner-sa
-      glusterblock: ${CLUSTER_NAME}-provisioner-sa
-- apiVersion: v1
-  kind: ClusterRoleBinding
-  metadata:
-    name: glusterblock-${CLUSTER_NAME}-provisioner
-  roleRef:
-    name: glusterblock-provisioner-runner
-  subjects:
-  - kind: ServiceAccount
-    name: glusterblock-${CLUSTER_NAME}-provisioner
-    namespace: ${NAMESPACE}
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: glusterblock-${CLUSTER_NAME}-provisioner-dc
-    labels:
-      glusterfs: block-${CLUSTER_NAME}-provisioner-dc
-      glusterblock: ${CLUSTER_NAME}-provisioner-dc
-    annotations:
-      description: Defines how to deploy the glusterblock provisioner pod.
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: block-${CLUSTER_NAME}-provisioner-pod
-    triggers:
-    - type: ConfigChange
-    strategy:
-      type: Recreate
-    template:
-      metadata:
-        name: glusterblock-provisioner
-        labels:
-          glusterfs: block-${CLUSTER_NAME}-provisioner-pod
-      spec:
-        serviceAccountName: glusterblock-${CLUSTER_NAME}-provisioner
-        containers:
-        - name: glusterblock-provisioner
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          env:
-          - name: PROVISIONER_NAME
-            value: gluster.org/glusterblock
-parameters:
-- name: IMAGE_NAME
-  displayName: glusterblock provisioner container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: glusterblock provisioner container image version
-  required: True
-- name: NAMESPACE
-  displayName: glusterblock provisioner namespace
-  description: The namespace in which these resources are being created
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage

+ 0 - 161
roles/openshift_storage_glusterfs/files/v3.7/glusterfs-template.yml

@@ -1,161 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: glusterfs
-  labels:
-    glusterfs: template
-  annotations:
-    description: GlusterFS DaemonSet template
-    tags: glusterfs
-objects:
-- kind: DaemonSet
-  apiVersion: extensions/v1beta1
-  metadata:
-    name: glusterfs-${CLUSTER_NAME}
-    labels:
-      glusterfs: ${CLUSTER_NAME}-daemonset
-    annotations:
-      description: GlusterFS DaemonSet
-      tags: glusterfs
-  spec:
-    selector:
-      matchLabels:
-        glusterfs: ${CLUSTER_NAME}-pod
-    template:
-      metadata:
-        name: glusterfs-${CLUSTER_NAME}
-        labels:
-          glusterfs: ${CLUSTER_NAME}-pod
-          glusterfs-node: pod
-      spec:
-        nodeSelector: "${{NODE_LABELS}}"
-        hostNetwork: true
-        containers:
-        - name: glusterfs
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          env:
-          - name: GB_GLFS_LRU_COUNT
-            value: "${GB_GLFS_LRU_COUNT}"
-          - name: TCMU_LOGDIR
-            value: "${TCMU_LOGDIR}"
-          - name: GB_LOGDIR
-            value: "/var/log/glusterfs/gluster-block"
-          resources:
-            requests:
-              memory: 100Mi
-              cpu: 100m
-          volumeMounts:
-          - name: glusterfs-heketi
-            mountPath: "/var/lib/heketi"
-          - name: glusterfs-run
-            mountPath: "/run"
-          - name: glusterfs-lvm
-            mountPath: "/run/lvm"
-          - name: glusterfs-etc
-            mountPath: "/etc/glusterfs"
-          - name: glusterfs-logs
-            mountPath: "/var/log/glusterfs"
-          - name: glusterfs-config
-            mountPath: "/var/lib/glusterd"
-          - name: glusterfs-dev
-            mountPath: "/dev"
-          - name: glusterfs-misc
-            mountPath: "/var/lib/misc/glusterfsd"
-          - name: glusterfs-cgroup
-            mountPath: "/sys/fs/cgroup"
-            readOnly: true
-          - name: glusterfs-ssl
-            mountPath: "/etc/ssl"
-            readOnly: true
-          - name: glusterfs-target
-            mountPath: "/etc/target"
-          securityContext:
-            capabilities: {}
-            privileged: true
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 40
-            exec:
-              command:
-              - "/bin/bash"
-              - "-c"
-              - systemctl status glusterd.service
-            periodSeconds: 25
-            successThreshold: 1
-            failureThreshold: 50
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 40
-            exec:
-              command:
-              - "/bin/bash"
-              - "-c"
-              - systemctl status glusterd.service
-            periodSeconds: 25
-            successThreshold: 1
-            failureThreshold: 50
-          terminationMessagePath: "/dev/termination-log"
-        volumes:
-        - name: glusterfs-heketi
-          hostPath:
-            path: "/var/lib/heketi"
-        - name: glusterfs-run
-          emptyDir: {}
-        - name: glusterfs-lvm
-          hostPath:
-            path: "/run/lvm"
-        - name: glusterfs-etc
-          hostPath:
-            path: "/etc/glusterfs"
-        - name: glusterfs-logs
-          hostPath:
-            path: "/var/log/glusterfs"
-        - name: glusterfs-config
-          hostPath:
-            path: "/var/lib/glusterd"
-        - name: glusterfs-dev
-          hostPath:
-            path: "/dev"
-        - name: glusterfs-misc
-          hostPath:
-            path: "/var/lib/misc/glusterfsd"
-        - name: glusterfs-cgroup
-          hostPath:
-            path: "/sys/fs/cgroup"
-        - name: glusterfs-ssl
-          hostPath:
-            path: "/etc/ssl"
-        - name: glusterfs-target
-          hostPath:
-            path: "/etc/target"
-        restartPolicy: Always
-        terminationGracePeriodSeconds: 30
-        dnsPolicy: ClusterFirst
-        securityContext: {}
-parameters:
-- name: NODE_LABELS
-  displayName: Daemonset Node Labels
-  description: Labels which define the daemonset node selector. Must contain at least one label of the format \'glusterfs=<CLUSTER_NAME>-host\'
-  value: '{ "glusterfs": "storage-host" }'
-- name: IMAGE_NAME
-  displayName: GlusterFS container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: GlusterFS container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage
-- name: GB_GLFS_LRU_COUNT
-  displayName: Maximum number of block hosting volumes
-  description: This value is to set maximum number of block hosting volumes.
-  value: "15"
-  required: true
-- name: TCMU_LOGDIR
-  displayName: Tcmu runner log directory
-  description: This value is to set tcmu runner log directory
-  value: "/var/log/glusterfs/gluster-block"
-  required: true

+ 0 - 138
roles/openshift_storage_glusterfs/files/v3.7/heketi-template.yml

@@ -1,138 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: heketi
-  labels:
-    glusterfs: heketi-template
-  annotations:
-    description: Heketi service deployment template
-    tags: glusterfs,heketi
-objects:
-- kind: Service
-  apiVersion: v1
-  metadata:
-    name: heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-service
-      heketi: ${CLUSTER_NAME}-service
-    annotations:
-      description: Exposes Heketi service
-  spec:
-    ports:
-    - name: heketi
-      port: 8080
-      targetPort: 8080
-    selector:
-      glusterfs: heketi-${CLUSTER_NAME}-pod
-- kind: Route
-  apiVersion: v1
-  metadata:
-    name: ${HEKETI_ROUTE}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-route
-      heketi: ${CLUSTER_NAME}-route
-  spec:
-    to:
-      kind: Service
-      name: heketi-${CLUSTER_NAME}
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-dc
-      heketi: ${CLUSTER_NAME}-dc
-    annotations:
-      description: Defines how to deploy Heketi
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: heketi-${CLUSTER_NAME}-pod
-    triggers:
-    - type: ConfigChange
-    strategy:
-      type: Recreate
-    template:
-      metadata:
-        name: heketi-${CLUSTER_NAME}
-        labels:
-          glusterfs: heketi-${CLUSTER_NAME}-pod
-          heketi: ${CLUSTER_NAME}-pod
-      spec:
-        serviceAccountName: heketi-${CLUSTER_NAME}-service-account
-        containers:
-        - name: heketi
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          env:
-          - name: HEKETI_USER_KEY
-            value: ${HEKETI_USER_KEY}
-          - name: HEKETI_ADMIN_KEY
-            value: ${HEKETI_ADMIN_KEY}
-          - name: HEKETI_EXECUTOR
-            value: ${HEKETI_EXECUTOR}
-          - name: HEKETI_FSTAB
-            value: ${HEKETI_FSTAB}
-          - name: HEKETI_SNAPSHOT_LIMIT
-            value: '14'
-          - name: HEKETI_KUBE_GLUSTER_DAEMONSET
-            value: '1'
-          - name: HEKETI_IGNORE_STALE_OPERATIONS
-            value: "true"
-          ports:
-          - containerPort: 8080
-          volumeMounts:
-          - name: db
-            mountPath: /var/lib/heketi
-          - name: config
-            mountPath: /etc/heketi
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 3
-            httpGet:
-              path: /hello
-              port: 8080
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 30
-            httpGet:
-              path: /hello
-              port: 8080
-        volumes:
-        - name: db
-          glusterfs:
-            endpoints: heketi-db-${CLUSTER_NAME}-endpoints
-            path: heketidbstorage
-        - name: config
-          secret:
-            secretName: heketi-${CLUSTER_NAME}-config-secret
-parameters:
-- name: HEKETI_USER_KEY
-  displayName: Heketi User Secret
-  description: Set secret for those creating volumes as type _user_
-- name: HEKETI_ADMIN_KEY
-  displayName: Heketi Administrator Secret
-  description: Set secret for administration of the Heketi service as user _admin_
-- name: HEKETI_EXECUTOR
-  displayName: heketi executor type
-  description: Set the executor type, kubernetes or ssh
-  value: kubernetes
-- name: HEKETI_FSTAB
-  displayName: heketi fstab path
-  description: Set the fstab path, file that is populated with bricks that heketi creates
-  value: /var/lib/heketi/fstab
-- name: HEKETI_ROUTE
-  displayName: heketi route name
-  description: Set the hostname for the route URL
-  value: "heketi-glusterfs"
-- name: IMAGE_NAME
-  displayName: heketi container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: heketi container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify this heketi service, useful for running multiple heketi instances
-  value: glusterfs

+ 0 - 135
roles/openshift_storage_glusterfs/files/v3.8/deploy-heketi-template.yml

@@ -1,135 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: deploy-heketi
-  labels:
-    glusterfs: heketi-template
-    deploy-heketi: support
-  annotations:
-    description: Bootstrap Heketi installation
-    tags: glusterfs,heketi,installation
-objects:
-- kind: Service
-  apiVersion: v1
-  metadata:
-    name: deploy-heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-service
-      deploy-heketi: support
-    annotations:
-      description: Exposes Heketi service
-  spec:
-    ports:
-    - name: deploy-heketi-${CLUSTER_NAME}
-      port: 8080
-      targetPort: 8080
-    selector:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-- kind: Route
-  apiVersion: v1
-  metadata:
-    name: ${HEKETI_ROUTE}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-route
-      deploy-heketi: support
-  spec:
-    to:
-      kind: Service
-      name: deploy-heketi-${CLUSTER_NAME}
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: deploy-heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-dc
-      deploy-heketi: support
-    annotations:
-      description: Defines how to deploy Heketi
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-    triggers:
-    - type: ConfigChange
-    strategy:
-      type: Recreate
-    template:
-      metadata:
-        name: deploy-heketi
-        labels:
-          glusterfs: deploy-heketi-${CLUSTER_NAME}-pod
-          deploy-heketi: support
-      spec:
-        serviceAccountName: heketi-${CLUSTER_NAME}-service-account
-        containers:
-        - name: heketi
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          env:
-          - name: HEKETI_USER_KEY
-            value: ${HEKETI_USER_KEY}
-          - name: HEKETI_ADMIN_KEY
-            value: ${HEKETI_ADMIN_KEY}
-          - name: HEKETI_EXECUTOR
-            value: ${HEKETI_EXECUTOR}
-          - name: HEKETI_FSTAB
-            value: ${HEKETI_FSTAB}
-          - name: HEKETI_SNAPSHOT_LIMIT
-            value: '14'
-          - name: HEKETI_KUBE_GLUSTER_DAEMONSET
-            value: '1'
-          - name: HEKETI_IGNORE_STALE_OPERATIONS
-            value: "true"
-          ports:
-          - containerPort: 8080
-          volumeMounts:
-          - name: db
-            mountPath: /var/lib/heketi
-          - name: config
-            mountPath: /etc/heketi
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 3
-            httpGet:
-              path: /hello
-              port: 8080
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 30
-            httpGet:
-              path: /hello
-              port: 8080
-        volumes:
-        - name: db
-        - name: config
-          secret:
-            secretName: heketi-${CLUSTER_NAME}-config-secret
-parameters:
-- name: HEKETI_USER_KEY
-  displayName: Heketi User Secret
-  description: Set secret for those creating volumes as type _user_
-- name: HEKETI_ADMIN_KEY
-  displayName: Heketi Administrator Secret
-  description: Set secret for administration of the Heketi service as user _admin_
-- name: HEKETI_EXECUTOR
-  displayName: heketi executor type
-  description: Set the executor type, kubernetes or ssh
-  value: kubernetes
-- name: HEKETI_FSTAB
-  displayName: heketi fstab path
-  description: Set the fstab path, file that is populated with bricks that heketi creates
-  value: /var/lib/heketi/fstab
-- name: HEKETI_ROUTE
-  displayName: heketi route name
-  description: Set the hostname for the route URL
-  value: "heketi-glusterfs"
-- name: IMAGE_NAME
-  displayName: heketi container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: heketi container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify this heketi service, useful for running multiple heketi instances
-  value: glusterfs

+ 0 - 67
roles/openshift_storage_glusterfs/files/v3.8/gluster-s3-pvcs-template.yml

@@ -1,67 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: gluster-s3-pvcs
-  labels:
-    glusterfs: s3-pvcs-template
-    gluster-s3: pvcs-template
-  annotations:
-    description: Gluster S3 service template
-    tags: glusterfs,heketi,gluster-s3
-objects:
-- kind: PersistentVolumeClaim
-  apiVersion: v1
-  metadata:
-    name: "${PVC}"
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-storage
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-pvc
-    annotations:
-      volume.beta.kubernetes.io/storage-class: "glusterfs-${CLUSTER_NAME}"
-  spec:
-    accessModes:
-    - ReadWriteMany
-    resources:
-      requests:
-        storage: "${PVC_SIZE}"
-- kind: PersistentVolumeClaim
-  apiVersion: v1
-  metadata:
-    name: "${META_PVC}"
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-storage
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-meta-pvc
-    annotations:
-      volume.beta.kubernetes.io/storage-class: "glusterfs-${CLUSTER_NAME}"
-  spec:
-    accessModes:
-    - ReadWriteMany
-    resources:
-      requests:
-        storage: "${META_PVC_SIZE}"
-parameters:
-- name: S3_ACCOUNT
-  displayName: S3 Account Name
-  description: S3 storage account which will provide storage on GlusterFS volumes
-  required: true
-- name: PVC
-  displayName: Primary GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage
-  required: true
-- name: PVC_SIZE
-  displayName: Primary GlusterFS-backed PVC capacity
-  description: Capacity for GlusterFS-backed PVC for object storage
-  value: 2Gi
-- name: META_PVC
-  displayName: Metadata GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage metadata
-  required: true
-- name: META_PVC_SIZE
-  displayName: Metadata GlusterFS-backed PVC capacity
-  description: Capacity for GlusterFS-backed PVC for object storage metadata
-  value: 1Gi
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage

+ 0 - 140
roles/openshift_storage_glusterfs/files/v3.8/gluster-s3-template.yml

@@ -1,140 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: gluster-s3
-  labels:
-    glusterfs: s3-template
-    gluster-s3: template
-  annotations:
-    description: Gluster S3 service template
-    tags: glusterfs,heketi,gluster-s3
-objects:
-- kind: Service
-  apiVersion: v1
-  metadata:
-    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-service
-  spec:
-    ports:
-    - protocol: TCP
-      port: 8080
-      targetPort: 8080
-    selector:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-    type: ClusterIP
-    sessionAffinity: None
-  status:
-    loadBalancer: {}
-- kind: Route
-  apiVersion: v1
-  metadata:
-    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-route
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-route
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-route
-  spec:
-    to:
-      kind: Service
-      name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-service
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: gluster-s3-${CLUSTER_NAME}-${S3_ACCOUNT}-dc
-    labels:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-dc
-      gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-dc
-    annotations:
-      openshift.io/scc: privileged
-      description: Defines how to deploy gluster s3 object storage
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-    template:
-      metadata:
-        name: gluster-${CLUSTER_NAME}-${S3_ACCOUNT}-s3
-        labels:
-          glusterfs: s3-${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-          gluster-s3: ${CLUSTER_NAME}-${S3_ACCOUNT}-pod
-      spec:
-        containers:
-        - name: gluster-s3
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          ports:
-          - name: gluster
-            containerPort: 8080
-            protocol: TCP
-          env:
-          - name: S3_ACCOUNT
-            value: "${S3_ACCOUNT}"
-          - name: S3_USER
-            value: "${S3_USER}"
-          - name: S3_PASSWORD
-            value: "${S3_PASSWORD}"
-          resources: {}
-          volumeMounts:
-          - name: gluster-vol1
-            mountPath: "/mnt/gluster-object/${S3_ACCOUNT}"
-          - name: gluster-vol2
-            mountPath: "/mnt/gluster-object/gsmetadata"
-          - name: glusterfs-cgroup
-            readOnly: true
-            mountPath: "/sys/fs/cgroup"
-          terminationMessagePath: "/dev/termination-log"
-          securityContext:
-            privileged: true
-        volumes:
-        - name: glusterfs-cgroup
-          hostPath:
-            path: "/sys/fs/cgroup"
-        - name: gluster-vol1
-          persistentVolumeClaim:
-            claimName: ${PVC}
-        - name: gluster-vol2
-          persistentVolumeClaim:
-            claimName: ${META_PVC}
-        restartPolicy: Always
-        terminationGracePeriodSeconds: 30
-        dnsPolicy: ClusterFirst
-        serviceAccountName: default
-        serviceAccount: default
-        securityContext: {}
-parameters:
-- name: IMAGE_NAME
-  displayName: glusterblock provisioner container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: glusterblock provisioner container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage
-- name: S3_ACCOUNT
-  displayName: S3 Account Name
-  description: S3 storage account which will provide storage on GlusterFS volumes
-  required: true
-- name: S3_USER
-  displayName: S3 User
-  description: S3 user who can access the S3 storage account
-  required: true
-- name: S3_PASSWORD
-  displayName: S3 User Password
-  description: Password for the S3 user
-  required: true
-- name: PVC
-  displayName: Primary GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage
-  value: gluster-s3-claim
-- name: META_PVC
-  displayName: Metadata GlusterFS-backed PVC
-  description: GlusterFS-backed PVC for object storage metadata
-  value: gluster-s3-meta-claim
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage

+ 0 - 104
roles/openshift_storage_glusterfs/files/v3.8/glusterblock-provisioner.yml

@@ -1,104 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: glusterblock-provisioner
-  labels:
-    glusterfs: block-template
-    glusterblock: template
-  annotations:
-    description: glusterblock provisioner template
-    tags: glusterfs
-objects:
-- kind: ClusterRole
-  apiVersion: v1
-  metadata:
-    name: glusterblock-provisioner-runner
-    labels:
-      glusterfs: block-provisioner-runner-clusterrole
-      glusterblock: provisioner-runner-clusterrole
-  rules:
-    - apiGroups: [""]
-      resources: ["persistentvolumes"]
-      verbs: ["get", "list", "watch", "create", "delete"]
-    - apiGroups: [""]
-      resources: ["persistentvolumeclaims"]
-      verbs: ["get", "list", "watch", "update"]
-    - apiGroups: ["storage.k8s.io"]
-      resources: ["storageclasses"]
-      verbs: ["get", "list", "watch"]
-    - apiGroups: [""]
-      resources: ["events"]
-      verbs: ["list", "watch", "create", "update", "patch"]
-    - apiGroups: [""]
-      resources: ["services"]
-      verbs: ["get"]
-    - apiGroups: [""]
-      resources: ["secrets"]
-      verbs: ["get", "create", "delete"]
-    - apiGroups: [""]
-      resources: ["routes"]
-      verbs: ["get", "list"]
-- apiVersion: v1
-  kind: ServiceAccount
-  metadata:
-    name: glusterblock-${CLUSTER_NAME}-provisioner
-    labels:
-      glusterfs: block-${CLUSTER_NAME}-provisioner-sa
-      glusterblock: ${CLUSTER_NAME}-provisioner-sa
-- apiVersion: v1
-  kind: ClusterRoleBinding
-  metadata:
-    name: glusterblock-${CLUSTER_NAME}-provisioner
-  roleRef:
-    name: glusterblock-provisioner-runner
-  subjects:
-  - kind: ServiceAccount
-    name: glusterblock-${CLUSTER_NAME}-provisioner
-    namespace: ${NAMESPACE}
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: glusterblock-${CLUSTER_NAME}-provisioner-dc
-    labels:
-      glusterfs: block-${CLUSTER_NAME}-provisioner-dc
-      glusterblock: ${CLUSTER_NAME}-provisioner-dc
-    annotations:
-      description: Defines how to deploy the glusterblock provisioner pod.
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: block-${CLUSTER_NAME}-provisioner-pod
-    triggers:
-    - type: ConfigChange
-    strategy:
-      type: Recreate
-    template:
-      metadata:
-        name: glusterblock-provisioner
-        labels:
-          glusterfs: block-${CLUSTER_NAME}-provisioner-pod
-      spec:
-        serviceAccountName: glusterblock-${CLUSTER_NAME}-provisioner
-        containers:
-        - name: glusterblock-provisioner
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          env:
-          - name: PROVISIONER_NAME
-            value: gluster.org/glusterblock
-parameters:
-- name: IMAGE_NAME
-  displayName: glusterblock provisioner container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: glusterblock provisioner container image version
-  required: True
-- name: NAMESPACE
-  displayName: glusterblock provisioner namespace
-  description: The namespace in which these resources are being created
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage

+ 0 - 161
roles/openshift_storage_glusterfs/files/v3.8/glusterfs-template.yml

@@ -1,161 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: glusterfs
-  labels:
-    glusterfs: template
-  annotations:
-    description: GlusterFS DaemonSet template
-    tags: glusterfs
-objects:
-- kind: DaemonSet
-  apiVersion: extensions/v1beta1
-  metadata:
-    name: glusterfs-${CLUSTER_NAME}
-    labels:
-      glusterfs: ${CLUSTER_NAME}-daemonset
-    annotations:
-      description: GlusterFS DaemonSet
-      tags: glusterfs
-  spec:
-    selector:
-      matchLabels:
-        glusterfs: ${CLUSTER_NAME}-pod
-    template:
-      metadata:
-        name: glusterfs-${CLUSTER_NAME}
-        labels:
-          glusterfs: ${CLUSTER_NAME}-pod
-          glusterfs-node: pod
-      spec:
-        nodeSelector: "${{NODE_LABELS}}"
-        hostNetwork: true
-        containers:
-        - name: glusterfs
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          env:
-          - name: GB_GLFS_LRU_COUNT
-            value: "${GB_GLFS_LRU_COUNT}"
-          - name: TCMU_LOGDIR
-            value: "${TCMU_LOGDIR}"
-          - name: GB_LOGDIR
-            value: "/var/log/glusterfs/gluster-block"
-          resources:
-            requests:
-              memory: 100Mi
-              cpu: 100m
-          volumeMounts:
-          - name: glusterfs-heketi
-            mountPath: "/var/lib/heketi"
-          - name: glusterfs-run
-            mountPath: "/run"
-          - name: glusterfs-lvm
-            mountPath: "/run/lvm"
-          - name: glusterfs-etc
-            mountPath: "/etc/glusterfs"
-          - name: glusterfs-logs
-            mountPath: "/var/log/glusterfs"
-          - name: glusterfs-config
-            mountPath: "/var/lib/glusterd"
-          - name: glusterfs-dev
-            mountPath: "/dev"
-          - name: glusterfs-misc
-            mountPath: "/var/lib/misc/glusterfsd"
-          - name: glusterfs-cgroup
-            mountPath: "/sys/fs/cgroup"
-            readOnly: true
-          - name: glusterfs-ssl
-            mountPath: "/etc/ssl"
-            readOnly: true
-          - name: glusterfs-target
-            mountPath: "/etc/target"
-          securityContext:
-            capabilities: {}
-            privileged: true
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 40
-            exec:
-              command:
-              - "/bin/bash"
-              - "-c"
-              - systemctl status glusterd.service
-            periodSeconds: 25
-            successThreshold: 1
-            failureThreshold: 50
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 40
-            exec:
-              command:
-              - "/bin/bash"
-              - "-c"
-              - systemctl status glusterd.service
-            periodSeconds: 25
-            successThreshold: 1
-            failureThreshold: 50
-          terminationMessagePath: "/dev/termination-log"
-        volumes:
-        - name: glusterfs-heketi
-          hostPath:
-            path: "/var/lib/heketi"
-        - name: glusterfs-run
-          emptyDir: {}
-        - name: glusterfs-lvm
-          hostPath:
-            path: "/run/lvm"
-        - name: glusterfs-etc
-          hostPath:
-            path: "/etc/glusterfs"
-        - name: glusterfs-logs
-          hostPath:
-            path: "/var/log/glusterfs"
-        - name: glusterfs-config
-          hostPath:
-            path: "/var/lib/glusterd"
-        - name: glusterfs-dev
-          hostPath:
-            path: "/dev"
-        - name: glusterfs-misc
-          hostPath:
-            path: "/var/lib/misc/glusterfsd"
-        - name: glusterfs-cgroup
-          hostPath:
-            path: "/sys/fs/cgroup"
-        - name: glusterfs-ssl
-          hostPath:
-            path: "/etc/ssl"
-        - name: glusterfs-target
-          hostPath:
-            path: "/etc/target"
-        restartPolicy: Always
-        terminationGracePeriodSeconds: 30
-        dnsPolicy: ClusterFirst
-        securityContext: {}
-parameters:
-- name: NODE_LABELS
-  displayName: Daemonset Node Labels
-  description: Labels which define the daemonset node selector. Must contain at least one label of the format \'glusterfs=<CLUSTER_NAME>-host\'
-  value: '{ "glusterfs": "storage-host" }'
-- name: IMAGE_NAME
-  displayName: GlusterFS container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: GlusterFS container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify which heketi service manages this cluster, useful for running multiple heketi instances
-  value: storage
-- name: GB_GLFS_LRU_COUNT
-  displayName: Maximum number of block hosting volumes
-  description: This value is to set maximum number of block hosting volumes.
-  value: "15"
-  required: true
-- name: TCMU_LOGDIR
-  displayName: Tcmu runner log directory
-  description: This value is to set tcmu runner log directory
-  value: "/var/log/glusterfs/gluster-block"
-  required: true

+ 0 - 138
roles/openshift_storage_glusterfs/files/v3.8/heketi-template.yml

@@ -1,138 +0,0 @@
----
-kind: Template
-apiVersion: v1
-metadata:
-  name: heketi
-  labels:
-    glusterfs: heketi-template
-  annotations:
-    description: Heketi service deployment template
-    tags: glusterfs,heketi
-objects:
-- kind: Service
-  apiVersion: v1
-  metadata:
-    name: heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-service
-      heketi: ${CLUSTER_NAME}-service
-    annotations:
-      description: Exposes Heketi service
-  spec:
-    ports:
-    - name: heketi
-      port: 8080
-      targetPort: 8080
-    selector:
-      glusterfs: heketi-${CLUSTER_NAME}-pod
-- kind: Route
-  apiVersion: v1
-  metadata:
-    name: ${HEKETI_ROUTE}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-route
-      heketi: ${CLUSTER_NAME}-route
-  spec:
-    to:
-      kind: Service
-      name: heketi-${CLUSTER_NAME}
-- kind: DeploymentConfig
-  apiVersion: v1
-  metadata:
-    name: heketi-${CLUSTER_NAME}
-    labels:
-      glusterfs: heketi-${CLUSTER_NAME}-dc
-      heketi: ${CLUSTER_NAME}-dc
-    annotations:
-      description: Defines how to deploy Heketi
-  spec:
-    replicas: 1
-    selector:
-      glusterfs: heketi-${CLUSTER_NAME}-pod
-    triggers:
-    - type: ConfigChange
-    strategy:
-      type: Recreate
-    template:
-      metadata:
-        name: heketi-${CLUSTER_NAME}
-        labels:
-          glusterfs: heketi-${CLUSTER_NAME}-pod
-          heketi: ${CLUSTER_NAME}-pod
-      spec:
-        serviceAccountName: heketi-${CLUSTER_NAME}-service-account
-        containers:
-        - name: heketi
-          image: ${IMAGE_NAME}:${IMAGE_VERSION}
-          imagePullPolicy: IfNotPresent
-          env:
-          - name: HEKETI_USER_KEY
-            value: ${HEKETI_USER_KEY}
-          - name: HEKETI_ADMIN_KEY
-            value: ${HEKETI_ADMIN_KEY}
-          - name: HEKETI_EXECUTOR
-            value: ${HEKETI_EXECUTOR}
-          - name: HEKETI_FSTAB
-            value: ${HEKETI_FSTAB}
-          - name: HEKETI_SNAPSHOT_LIMIT
-            value: '14'
-          - name: HEKETI_KUBE_GLUSTER_DAEMONSET
-            value: '1'
-          - name: HEKETI_IGNORE_STALE_OPERATIONS
-            value: "true"
-          ports:
-          - containerPort: 8080
-          volumeMounts:
-          - name: db
-            mountPath: /var/lib/heketi
-          - name: config
-            mountPath: /etc/heketi
-          readinessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 3
-            httpGet:
-              path: /hello
-              port: 8080
-          livenessProbe:
-            timeoutSeconds: 3
-            initialDelaySeconds: 30
-            httpGet:
-              path: /hello
-              port: 8080
-        volumes:
-        - name: db
-          glusterfs:
-            endpoints: heketi-db-${CLUSTER_NAME}-endpoints
-            path: heketidbstorage
-        - name: config
-          secret:
-            secretName: heketi-${CLUSTER_NAME}-config-secret
-parameters:
-- name: HEKETI_USER_KEY
-  displayName: Heketi User Secret
-  description: Set secret for those creating volumes as type _user_
-- name: HEKETI_ADMIN_KEY
-  displayName: Heketi Administrator Secret
-  description: Set secret for administration of the Heketi service as user _admin_
-- name: HEKETI_EXECUTOR
-  displayName: heketi executor type
-  description: Set the executor type, kubernetes or ssh
-  value: kubernetes
-- name: HEKETI_FSTAB
-  displayName: heketi fstab path
-  description: Set the fstab path, file that is populated with bricks that heketi creates
-  value: /var/lib/heketi/fstab
-- name: HEKETI_ROUTE
-  displayName: heketi route name
-  description: Set the hostname for the route URL
-  value: "heketi-glusterfs"
-- name: IMAGE_NAME
-  displayName: heketi container image name
-  required: True
-- name: IMAGE_VERSION
-  displayName: heketi container image version
-  required: True
-- name: CLUSTER_NAME
-  displayName: GlusterFS cluster name
-  description: A unique name to identify this heketi service, useful for running multiple heketi instances
-  value: glusterfs

+ 2 - 2
roles/openshift_storage_glusterfs/tasks/gluster_s3_deploy.yml

@@ -26,7 +26,7 @@
 
 - name: Copy gluster-s3 PVCs template file
   copy:
-    src: "{{ openshift_examples_content_version }}/{{ item }}"
+    src: "{{ item }}"
     dest: "{{ mktemp.stdout }}/{{ item }}"
   with_items:
   - "gluster-s3-pvcs-template.yml"
@@ -69,7 +69,7 @@
 
 - name: Copy gluster-s3 template file
   copy:
-    src: "{{ openshift_examples_content_version }}/{{ item }}"
+    src: "{{ item }}"
     dest: "{{ mktemp.stdout }}/{{ item }}"
   with_items:
   - "gluster-s3-template.yml"

+ 1 - 1
roles/openshift_storage_glusterfs/tasks/glusterblock_deploy.yml

@@ -26,7 +26,7 @@
 
 - name: Copy initial glusterblock provisioner resource file
   copy:
-    src: "{{ openshift_examples_content_version }}/{{ item }}"
+    src: "{{ item }}"
     dest: "{{ mktemp.stdout }}/{{ item }}"
   with_items:
   - "glusterblock-provisioner.yml"

+ 4 - 4
roles/openshift_storage_glusterfs/tasks/glusterfs_common.yml

@@ -148,14 +148,14 @@
 
 - name: Generate topology file
   template:
-    src: "{{ openshift_examples_content_version }}/topology.json.j2"
+    src: "topology.json.j2"
     dest: "{{ mktemp.stdout }}/topology.json"
   when:
   - glusterfs_heketi_topology_load
 
 - name: Generate heketi config file
   template:
-    src: "{{ openshift_examples_content_version }}/heketi.json.j2"
+    src: "heketi.json.j2"
     dest: "{{ mktemp.stdout }}/heketi.json"
   when:
   - glusterfs_heketi_is_native
@@ -300,7 +300,7 @@
 
   - name: Generate GlusterFS StorageClass file
     template:
-      src: "{{ openshift_examples_content_version }}/glusterfs-storageclass.yml.j2"
+      src: "glusterfs-storageclass.yml.j2"
       dest: "{{ mktemp.stdout }}/glusterfs-storageclass.yml"
 
   - name: Create GlusterFS StorageClass
@@ -352,7 +352,7 @@
 
   - name: Generate Gluster Block StorageClass file
     template:
-      src: "{{ openshift_examples_content_version }}/gluster-block-storageclass.yml.j2"
+      src: "gluster-block-storageclass.yml.j2"
       dest: "{{ mktemp.stdout }}/gluster-block-storageclass.yml"
 
   - name: Create Gluster Block StorageClass

+ 1 - 1
roles/openshift_storage_glusterfs/tasks/glusterfs_deploy.yml

@@ -65,7 +65,7 @@
 
 - name: Copy GlusterFS DaemonSet template
   copy:
-    src: "{{ openshift_examples_content_version }}/glusterfs-template.yml"
+    src: "glusterfs-template.yml"
     dest: "{{ mktemp.stdout }}/glusterfs-template.yml"
 
 - name: Create GlusterFS template

+ 1 - 1
roles/openshift_storage_glusterfs/tasks/heketi_deploy_part1.yml

@@ -1,7 +1,7 @@
 ---
 - name: Copy initial heketi resource files
   copy:
-    src: "{{ openshift_examples_content_version }}/{{ item }}"
+    src: "{{ item }}"
     dest: "{{ mktemp.stdout }}/{{ item }}"
   with_items:
   - "deploy-heketi-template.yml"

+ 3 - 3
roles/openshift_storage_glusterfs/tasks/heketi_deploy_part2.yml

@@ -48,12 +48,12 @@
 
 - name: Generate heketi endpoints
   template:
-    src: "{{ openshift_examples_content_version }}/heketi-endpoints.yml.j2"
+    src: "heketi-endpoints.yml.j2"
     dest: "{{ mktemp.stdout }}/heketi-endpoints.yml"
 
 - name: Generate heketi service
   template:
-    src: "{{ openshift_examples_content_version }}/heketi-service.yml.j2"
+    src: "heketi-service.yml.j2"
     dest: "{{ mktemp.stdout }}/heketi-service.yml"
 
 - name: Create heketi endpoints
@@ -76,7 +76,7 @@
 
 - name: Copy heketi template
   copy:
-    src: "{{ openshift_examples_content_version }}/heketi-template.yml"
+    src: "heketi-template.yml"
     dest: "{{ mktemp.stdout }}/heketi-template.yml"
 
 - name: Create heketi template

roles/openshift_storage_glusterfs/templates/v3.9/gluster-block-storageclass.yml.j2 → roles/openshift_storage_glusterfs/templates/gluster-block-storageclass.yml.j2


roles/openshift_storage_glusterfs/templates/v3.9/glusterfs-registry-endpoints.yml.j2 → roles/openshift_storage_glusterfs/templates/glusterfs-registry-endpoints.yml.j2


roles/openshift_storage_glusterfs/templates/v3.9/glusterfs-registry-service.yml.j2 → roles/openshift_storage_glusterfs/templates/glusterfs-registry-service.yml.j2


roles/openshift_storage_glusterfs/templates/v3.9/glusterfs-storageclass.yml.j2 → roles/openshift_storage_glusterfs/templates/glusterfs-storageclass.yml.j2


roles/openshift_storage_glusterfs/templates/v3.9/heketi-endpoints.yml.j2 → roles/openshift_storage_glusterfs/templates/heketi-endpoints.yml.j2


roles/openshift_storage_glusterfs/templates/v3.9/heketi-service.yml.j2 → roles/openshift_storage_glusterfs/templates/heketi-service.yml.j2


roles/openshift_storage_glusterfs/templates/v3.9/heketi.json.j2 → roles/openshift_storage_glusterfs/templates/heketi.json.j2


roles/openshift_storage_glusterfs/templates/v3.9/topology.json.j2 → roles/openshift_storage_glusterfs/templates/topology.json.j2


+ 0 - 12
roles/openshift_storage_glusterfs/templates/v1.5/glusterfs-registry-endpoints.yml.j2

@@ -1,12 +0,0 @@
----
-apiVersion: v1
-kind: Endpoints
-metadata:
-  name: glusterfs-{{ glusterfs_name }}-endpoints
-subsets:
-- addresses:
-{% for node in glusterfs_nodes %}
-  - ip: {{ hostvars[node].glusterfs_ip | default(hostvars[node].openshift.common.ip) }}
-{% endfor %}
-  ports:
-  - port: 1

+ 0 - 10
roles/openshift_storage_glusterfs/templates/v1.5/glusterfs-registry-service.yml.j2

@@ -1,10 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: glusterfs-{{ glusterfs_name }}-endpoints
-spec:
-  ports:
-  - port: 1
-status:
-  loadBalancer: {}

+ 0 - 17
roles/openshift_storage_glusterfs/templates/v1.5/glusterfs-storageclass.yml.j2

@@ -1,17 +0,0 @@
----
-apiVersion: storage.k8s.io/v1beta1
-kind: StorageClass
-metadata:
-  name: glusterfs-{{ glusterfs_name }}
-{% if glusterfs_storageclass_default is defined and glusterfs_storageclass_default %}
-  annotations:
-    storageclass.kubernetes.io/is-default-class: "true"
-{% endif %}
-provisioner: kubernetes.io/glusterfs
-parameters:
-  resturl: "http://{% if glusterfs_heketi_is_native %}{{ glusterfs_heketi_route }}{% else %}{{ glusterfs_heketi_url }}:{{ glusterfs_heketi_port }}{% endif %}"
-  restuser: "admin"
-{% if glusterfs_heketi_admin_key is defined %}
-  secretNamespace: "{{ glusterfs_namespace }}"
-  secretName: "heketi-{{ glusterfs_name }}-admin-secret"
-{%- endif -%}

+ 0 - 12
roles/openshift_storage_glusterfs/templates/v1.5/heketi-endpoints.yml.j2

@@ -1,12 +0,0 @@
----
-apiVersion: v1
-kind: Endpoints
-metadata:
-  name: heketi-db-{{ glusterfs_name }}-endpoints
-subsets:
-- addresses:
-{% for node in glusterfs_nodes %}
-  - ip: {{ hostvars[node].glusterfs_ip | default(hostvars[node].openshift.common.ip) }}
-{% endfor %}
-  ports:
-  - port: 1

+ 0 - 10
roles/openshift_storage_glusterfs/templates/v1.5/heketi-service.yml.j2

@@ -1,10 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: heketi-db-{{ glusterfs_name }}-endpoints
-spec:
-  ports:
-  - port: 1
-status:
-  loadBalancer: {}

+ 0 - 36
roles/openshift_storage_glusterfs/templates/v1.5/heketi.json.j2

@@ -1,36 +0,0 @@
-{
-	"_port_comment": "Heketi Server Port Number",
-	"port" : "8080",
-
-	"_use_auth": "Enable JWT authorization. Please enable for deployment",
-	"use_auth" : false,
-
-	"_jwt" : "Private keys for access",
-	"jwt" : {
-		"_admin" : "Admin has access to all APIs",
-		"admin" : {
-			"key" : "My Secret"
-		},
-		"_user" : "User only has access to /volumes endpoint",
-		"user" : {
-			"key" : "My Secret"
-		}
-	},
-
-	"_glusterfs_comment": "GlusterFS Configuration",
-	"glusterfs" : {
-
-		"_executor_comment": "Execute plugin. Possible choices: mock, kubernetes, ssh",
-		"executor" : "{{ glusterfs_heketi_executor }}",
-
-		"_db_comment": "Database file name",
-		"db" : "/var/lib/heketi/heketi.db",
-
-		"sshexec" : {
-			"keyfile" : "/etc/heketi/private_key",
-			"port" : "{{ glusterfs_heketi_ssh_port }}",
-			"user" : "{{ glusterfs_heketi_ssh_user }}",
-			"sudo" : {{ glusterfs_heketi_ssh_sudo | lower }}
-		}
-	}
-}

+ 0 - 49
roles/openshift_storage_glusterfs/templates/v1.5/topology.json.j2

@@ -1,49 +0,0 @@
-{
-  "clusters": [
-{%- set clusters = {} -%}
-{%- for node in glusterfs_nodes -%}
-  {%- set cluster = hostvars[node].glusterfs_cluster if 'glusterfs_cluster' in hostvars[node] else '1' -%}
-  {%- if cluster in clusters -%}
-    {%- set _dummy = clusters[cluster].append(node) -%}
-  {%- else -%}
-    {%- set _dummy = clusters.update({cluster: [ node, ]}) -%}
-  {%- endif -%}
-{%- endfor -%}
-{%- for cluster in clusters -%}
-    {
-      "nodes": [
-{%- for node in clusters[cluster] -%}
-        {
-          "node": {
-            "hostnames": {
-              "manage": [
-{%- if 'glusterfs_hostname' in hostvars[node] -%}
-                "{{ hostvars[node].glusterfs_hostname }}"
-{%- elif 'openshift' in hostvars[node] -%}
-                "{{ hostvars[node].openshift.node.nodename }}"
-{%- else -%}
-                "{{ node }}"
-{%- endif -%}
-              ],
-              "storage": [
-{%- if 'glusterfs_ip' in hostvars[node] -%}
-                "{{ hostvars[node].glusterfs_ip }}"
-{%- else -%}
-                "{{ hostvars[node].openshift.common.ip }}"
-{%- endif -%}
-              ]
-            },
-            "zone": {{ hostvars[node].glusterfs_zone | default(1) }}
-          },
-          "devices": [
-{%- for device in hostvars[node].glusterfs_devices -%}
-            "{{ device }}"{% if not loop.last %},{% endif %}
-{%- endfor -%}
-          ]
-        }{% if not loop.last %},{% endif %}
-{%- endfor -%}
-      ]
-    }{% if not loop.last %},{% endif %}
-{%- endfor -%}
-  ]
-}

+ 0 - 19
roles/openshift_storage_glusterfs/templates/v3.10/gluster-block-storageclass.yml.j2

@@ -1,19 +0,0 @@
----
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
-  name: glusterfs-{{ glusterfs_name }}-block
-{% if glusterfs_block_storageclass_default is defined and glusterfs_block_storageclass_default %}
-  annotations:
-    storageclass.kubernetes.io/is-default-class: "true"
-{% endif %}
-provisioner: gluster.org/glusterblock
-parameters:
-  resturl: "http://{% if glusterfs_heketi_is_native %}{{ glusterfs_heketi_route }}{% else %}{{ glusterfs_heketi_url }}:{{ glusterfs_heketi_port }}{% endif %}"
-  restuser: "admin"
-  chapauthenabled: "true"
-  hacount: "3"
-{% if glusterfs_heketi_admin_key is defined %}
-  restsecretnamespace: "{{ glusterfs_namespace }}"
-  restsecretname: "heketi-{{ glusterfs_name }}-admin-secret-block"
-{%- endif -%}

+ 0 - 12
roles/openshift_storage_glusterfs/templates/v3.10/glusterfs-registry-endpoints.yml.j2

@@ -1,12 +0,0 @@
----
-apiVersion: v1
-kind: Endpoints
-metadata:
-  name: glusterfs-{{ glusterfs_name }}-endpoints
-subsets:
-- addresses:
-{% for node in glusterfs_nodes %}
-  - ip: {{ hostvars[node].glusterfs_ip | default(hostvars[node].openshift.common.ip) }}
-{% endfor %}
-  ports:
-  - port: 1

+ 0 - 10
roles/openshift_storage_glusterfs/templates/v3.10/glusterfs-registry-service.yml.j2

@@ -1,10 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: glusterfs-{{ glusterfs_name }}-endpoints
-spec:
-  ports:
-  - port: 1
-status:
-  loadBalancer: {}

+ 0 - 17
roles/openshift_storage_glusterfs/templates/v3.10/glusterfs-storageclass.yml.j2

@@ -1,17 +0,0 @@
----
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
-  name: glusterfs-{{ glusterfs_name }}
-{% if glusterfs_storageclass_default is defined and glusterfs_storageclass_default %}
-  annotations:
-    storageclass.kubernetes.io/is-default-class: "true"
-{% endif %}
-provisioner: kubernetes.io/glusterfs
-parameters:
-  resturl: "http://{% if glusterfs_heketi_is_native %}{{ glusterfs_heketi_route }}{% else %}{{ glusterfs_heketi_url }}:{{ glusterfs_heketi_port }}{% endif %}"
-  restuser: "admin"
-{% if glusterfs_heketi_admin_key is defined %}
-  secretNamespace: "{{ glusterfs_namespace }}"
-  secretName: "heketi-{{ glusterfs_name }}-admin-secret"
-{%- endif -%}

+ 0 - 12
roles/openshift_storage_glusterfs/templates/v3.10/heketi-endpoints.yml.j2

@@ -1,12 +0,0 @@
----
-apiVersion: v1
-kind: Endpoints
-metadata:
-  name: heketi-db-{{ glusterfs_name }}-endpoints
-subsets:
-- addresses:
-{% for node in glusterfs_nodes %}
-  - ip: {{ hostvars[node].glusterfs_ip | default(hostvars[node].openshift.common.ip) }}
-{% endfor %}
-  ports:
-  - port: 1

+ 0 - 10
roles/openshift_storage_glusterfs/templates/v3.10/heketi-service.yml.j2

@@ -1,10 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: heketi-db-{{ glusterfs_name }}-endpoints
-spec:
-  ports:
-  - port: 1
-status:
-  loadBalancer: {}

+ 0 - 42
roles/openshift_storage_glusterfs/templates/v3.10/heketi.json.j2

@@ -1,42 +0,0 @@
-{
-	"_port_comment": "Heketi Server Port Number",
-	"port" : "8080",
-
-	"_use_auth": "Enable JWT authorization. Please enable for deployment",
-	"use_auth" : false,
-
-	"_jwt" : "Private keys for access",
-	"jwt" : {
-		"_admin" : "Admin has access to all APIs",
-		"admin" : {
-			"key" : "My Secret"
-		},
-		"_user" : "User only has access to /volumes endpoint",
-		"user" : {
-			"key" : "My Secret"
-		}
-	},
-
-	"_glusterfs_comment": "GlusterFS Configuration",
-	"glusterfs" : {
-
-		"_executor_comment": "Execute plugin. Possible choices: mock, kubernetes, ssh",
-		"executor" : "{{ glusterfs_heketi_executor }}",
-
-		"_db_comment": "Database file name",
-		"db" : "/var/lib/heketi/heketi.db",
-
-		"sshexec" : {
-			"keyfile" : "/etc/heketi/private_key",
-			"port" : "{{ glusterfs_heketi_ssh_port }}",
-			"user" : "{{ glusterfs_heketi_ssh_user }}",
-			"sudo" : {{ glusterfs_heketi_ssh_sudo | lower }}
-		},
-
-		"_auto_create_block_hosting_volume": "Creates Block Hosting volumes automatically if not found or exsisting volume exhausted",
-		"auto_create_block_hosting_volume": {{ glusterfs_block_host_vol_create | lower }},
-
-		"_block_hosting_volume_size": "New block hosting volume will be created in size mentioned, This is considered only if auto-create is enabled.",
-		"block_hosting_volume_size": {{ glusterfs_block_host_vol_size }}
-	}
-}

+ 0 - 49
roles/openshift_storage_glusterfs/templates/v3.10/topology.json.j2

@@ -1,49 +0,0 @@
-{
-  "clusters": [
-{%- set clusters = {} -%}
-{%- for node in glusterfs_nodes -%}
-  {%- set cluster = hostvars[node].glusterfs_cluster if 'glusterfs_cluster' in hostvars[node] else '1' -%}
-  {%- if cluster in clusters -%}
-    {%- set _dummy = clusters[cluster].append(node) -%}
-  {%- else -%}
-    {%- set _dummy = clusters.update({cluster: [ node, ]}) -%}
-  {%- endif -%}
-{%- endfor -%}
-{%- for cluster in clusters -%}
-    {
-      "nodes": [
-{%- for node in clusters[cluster] -%}
-        {
-          "node": {
-            "hostnames": {
-              "manage": [
-{%- if 'glusterfs_hostname' in hostvars[node] -%}
-                "{{ hostvars[node].glusterfs_hostname }}"
-{%- elif 'openshift' in hostvars[node] -%}
-                "{{ hostvars[node].openshift.node.nodename }}"
-{%- else -%}
-                "{{ node }}"
-{%- endif -%}
-              ],
-              "storage": [
-{%- if 'glusterfs_ip' in hostvars[node] -%}
-                "{{ hostvars[node].glusterfs_ip }}"
-{%- else -%}
-                "{{ hostvars[node].openshift.common.ip }}"
-{%- endif -%}
-              ]
-            },
-            "zone": {{ hostvars[node].glusterfs_zone | default(1) }}
-          },
-          "devices": [
-{%- for device in hostvars[node].glusterfs_devices -%}
-            "{{ device }}"{% if not loop.last %},{% endif %}
-{%- endfor -%}
-          ]
-        }{% if not loop.last %},{% endif %}
-{%- endfor -%}
-      ]
-    }{% if not loop.last %},{% endif %}
-{%- endfor -%}
-  ]
-}

+ 0 - 19
roles/openshift_storage_glusterfs/templates/v3.6/gluster-block-storageclass.yml.j2

@@ -1,19 +0,0 @@
----
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
-  name: glusterfs-{{ glusterfs_name }}-block
-{% if glusterfs_block_storageclass_default is defined and glusterfs_block_storageclass_default %}
-  annotations:
-    storageclass.kubernetes.io/is-default-class: "true"
-{% endif %}
-provisioner: gluster.org/glusterblock
-parameters:
-  resturl: "http://{% if glusterfs_heketi_is_native %}{{ glusterfs_heketi_route }}{% else %}{{ glusterfs_heketi_url }}:{{ glusterfs_heketi_port }}{% endif %}"
-  restuser: "admin"
-  chapauthenabled: "true"
-  hacount: "3"
-{% if glusterfs_heketi_admin_key is defined %}
-  restsecretnamespace: "{{ glusterfs_namespace }}"
-  restsecretname: "heketi-{{ glusterfs_name }}-admin-secret-block"
-{%- endif -%}

+ 0 - 12
roles/openshift_storage_glusterfs/templates/v3.6/glusterfs-registry-endpoints.yml.j2

@@ -1,12 +0,0 @@
----
-apiVersion: v1
-kind: Endpoints
-metadata:
-  name: glusterfs-{{ glusterfs_name }}-endpoints
-subsets:
-- addresses:
-{% for node in glusterfs_nodes %}
-  - ip: {{ hostvars[node].glusterfs_ip | default(hostvars[node].openshift.common.ip) }}
-{% endfor %}
-  ports:
-  - port: 1

+ 0 - 10
roles/openshift_storage_glusterfs/templates/v3.6/glusterfs-registry-service.yml.j2

@@ -1,10 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: glusterfs-{{ glusterfs_name }}-endpoints
-spec:
-  ports:
-  - port: 1
-status:
-  loadBalancer: {}

+ 0 - 13
roles/openshift_storage_glusterfs/templates/v3.6/glusterfs-storageclass.yml.j2

@@ -1,13 +0,0 @@
----
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
-  name: glusterfs-{{ glusterfs_name }}
-provisioner: kubernetes.io/glusterfs
-parameters:
-  resturl: "http://{% if glusterfs_heketi_is_native %}{{ glusterfs_heketi_route }}{% else %}{{ glusterfs_heketi_url }}:{{ glusterfs_heketi_port }}{% endif %}"
-  restuser: "admin"
-{% if glusterfs_heketi_admin_key is defined %}
-  secretNamespace: "{{ glusterfs_namespace }}"
-  secretName: "heketi-{{ glusterfs_name }}-admin-secret"
-{%- endif -%}

+ 0 - 12
roles/openshift_storage_glusterfs/templates/v3.6/heketi-endpoints.yml.j2

@@ -1,12 +0,0 @@
----
-apiVersion: v1
-kind: Endpoints
-metadata:
-  name: heketi-db-{{ glusterfs_name }}-endpoints
-subsets:
-- addresses:
-{% for node in glusterfs_nodes %}
-  - ip: {{ hostvars[node].glusterfs_ip | default(hostvars[node].openshift.common.ip) }}
-{% endfor %}
-  ports:
-  - port: 1

+ 0 - 10
roles/openshift_storage_glusterfs/templates/v3.6/heketi-service.yml.j2

@@ -1,10 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: heketi-db-{{ glusterfs_name }}-endpoints
-spec:
-  ports:
-  - port: 1
-status:
-  loadBalancer: {}

+ 0 - 42
roles/openshift_storage_glusterfs/templates/v3.6/heketi.json.j2

@@ -1,42 +0,0 @@
-{
-	"_port_comment": "Heketi Server Port Number",
-	"port" : "8080",
-
-	"_use_auth": "Enable JWT authorization. Please enable for deployment",
-	"use_auth" : false,
-
-	"_jwt" : "Private keys for access",
-	"jwt" : {
-		"_admin" : "Admin has access to all APIs",
-		"admin" : {
-			"key" : "My Secret"
-		},
-		"_user" : "User only has access to /volumes endpoint",
-		"user" : {
-			"key" : "My Secret"
-		}
-	},
-
-	"_glusterfs_comment": "GlusterFS Configuration",
-	"glusterfs" : {
-
-		"_executor_comment": "Execute plugin. Possible choices: mock, kubernetes, ssh",
-		"executor" : "{{ glusterfs_heketi_executor }}",
-
-		"_db_comment": "Database file name",
-		"db" : "/var/lib/heketi/heketi.db",
-
-		"sshexec" : {
-			"keyfile" : "/etc/heketi/private_key",
-			"port" : "{{ glusterfs_heketi_ssh_port }}",
-			"user" : "{{ glusterfs_heketi_ssh_user }}",
-			"sudo" : {{ glusterfs_heketi_ssh_sudo | lower }}
-		},
-
-		"_auto_create_block_hosting_volume": "Creates Block Hosting volumes automatically if not found or exsisting volume exhausted",
-		"auto_create_block_hosting_volume": {{ glusterfs_block_host_vol_create | lower }},
-
-		"_block_hosting_volume_size": "New block hosting volume will be created in size mentioned, This is considered only if auto-create is enabled.",
-		"block_hosting_volume_size": {{ glusterfs_block_host_vol_size }}
-	}
-}

+ 0 - 49
roles/openshift_storage_glusterfs/templates/v3.6/topology.json.j2

@@ -1,49 +0,0 @@
-{
-  "clusters": [
-{%- set clusters = {} -%}
-{%- for node in glusterfs_nodes -%}
-  {%- set cluster = hostvars[node].glusterfs_cluster if 'glusterfs_cluster' in hostvars[node] else '1' -%}
-  {%- if cluster in clusters -%}
-    {%- set _dummy = clusters[cluster].append(node) -%}
-  {%- else -%}
-    {%- set _dummy = clusters.update({cluster: [ node, ]}) -%}
-  {%- endif -%}
-{%- endfor -%}
-{%- for cluster in clusters -%}
-    {
-      "nodes": [
-{%- for node in clusters[cluster] -%}
-        {
-          "node": {
-            "hostnames": {
-              "manage": [
-{%- if 'glusterfs_hostname' in hostvars[node] -%}
-                "{{ hostvars[node].glusterfs_hostname }}"
-{%- elif 'openshift' in hostvars[node] -%}
-                "{{ hostvars[node].openshift.node.nodename }}"
-{%- else -%}
-                "{{ node }}"
-{%- endif -%}
-              ],
-              "storage": [
-{%- if 'glusterfs_ip' in hostvars[node] -%}
-                "{{ hostvars[node].glusterfs_ip }}"
-{%- else -%}
-                "{{ hostvars[node].openshift.common.ip }}"
-{%- endif -%}
-              ]
-            },
-            "zone": {{ hostvars[node].glusterfs_zone | default(1) }}
-          },
-          "devices": [
-{%- for device in hostvars[node].glusterfs_devices -%}
-            "{{ device }}"{% if not loop.last %},{% endif %}
-{%- endfor -%}
-          ]
-        }{% if not loop.last %},{% endif %}
-{%- endfor -%}
-      ]
-    }{% if not loop.last %},{% endif %}
-{%- endfor -%}
-  ]
-}

+ 0 - 19
roles/openshift_storage_glusterfs/templates/v3.7/gluster-block-storageclass.yml.j2

@@ -1,19 +0,0 @@
----
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
-  name: glusterfs-{{ glusterfs_name }}-block
-{% if glusterfs_block_storageclass_default is defined and glusterfs_block_storageclass_default %}
-  annotations:
-    storageclass.kubernetes.io/is-default-class: "true"
-{% endif %}
-provisioner: gluster.org/glusterblock
-parameters:
-  resturl: "http://{% if glusterfs_heketi_is_native %}{{ glusterfs_heketi_route }}{% else %}{{ glusterfs_heketi_url }}:{{ glusterfs_heketi_port }}{% endif %}"
-  restuser: "admin"
-  chapauthenabled: "true"
-  hacount: "3"
-{% if glusterfs_heketi_admin_key is defined %}
-  restsecretnamespace: "{{ glusterfs_namespace }}"
-  restsecretname: "heketi-{{ glusterfs_name }}-admin-secret-block"
-{%- endif -%}

+ 0 - 12
roles/openshift_storage_glusterfs/templates/v3.7/glusterfs-registry-endpoints.yml.j2

@@ -1,12 +0,0 @@
----
-apiVersion: v1
-kind: Endpoints
-metadata:
-  name: glusterfs-{{ glusterfs_name }}-endpoints
-subsets:
-- addresses:
-{% for node in glusterfs_nodes %}
-  - ip: {{ hostvars[node].glusterfs_ip | default(hostvars[node].openshift.common.ip) }}
-{% endfor %}
-  ports:
-  - port: 1

+ 0 - 10
roles/openshift_storage_glusterfs/templates/v3.7/glusterfs-registry-service.yml.j2

@@ -1,10 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: glusterfs-{{ glusterfs_name }}-endpoints
-spec:
-  ports:
-  - port: 1
-status:
-  loadBalancer: {}

+ 0 - 17
roles/openshift_storage_glusterfs/templates/v3.7/glusterfs-storageclass.yml.j2

@@ -1,17 +0,0 @@
----
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
-  name: glusterfs-{{ glusterfs_name }}
-{% if glusterfs_storageclass_default is defined and glusterfs_storageclass_default %}
-  annotations:
-    storageclass.kubernetes.io/is-default-class: "true"
-{% endif %}
-provisioner: kubernetes.io/glusterfs
-parameters:
-  resturl: "http://{% if glusterfs_heketi_is_native %}{{ glusterfs_heketi_route }}{% else %}{{ glusterfs_heketi_url }}:{{ glusterfs_heketi_port }}{% endif %}"
-  restuser: "admin"
-{% if glusterfs_heketi_admin_key is defined %}
-  secretNamespace: "{{ glusterfs_namespace }}"
-  secretName: "heketi-{{ glusterfs_name }}-admin-secret"
-{%- endif -%}

+ 0 - 12
roles/openshift_storage_glusterfs/templates/v3.7/heketi-endpoints.yml.j2

@@ -1,12 +0,0 @@
----
-apiVersion: v1
-kind: Endpoints
-metadata:
-  name: heketi-db-{{ glusterfs_name }}-endpoints
-subsets:
-- addresses:
-{% for node in glusterfs_nodes %}
-  - ip: {{ hostvars[node].glusterfs_ip | default(hostvars[node].openshift.common.ip) }}
-{% endfor %}
-  ports:
-  - port: 1

+ 0 - 10
roles/openshift_storage_glusterfs/templates/v3.7/heketi-service.yml.j2

@@ -1,10 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: heketi-db-{{ glusterfs_name }}-endpoints
-spec:
-  ports:
-  - port: 1
-status:
-  loadBalancer: {}

+ 0 - 42
roles/openshift_storage_glusterfs/templates/v3.7/heketi.json.j2

@@ -1,42 +0,0 @@
-{
-	"_port_comment": "Heketi Server Port Number",
-	"port" : "8080",
-
-	"_use_auth": "Enable JWT authorization. Please enable for deployment",
-	"use_auth" : false,
-
-	"_jwt" : "Private keys for access",
-	"jwt" : {
-		"_admin" : "Admin has access to all APIs",
-		"admin" : {
-			"key" : "My Secret"
-		},
-		"_user" : "User only has access to /volumes endpoint",
-		"user" : {
-			"key" : "My Secret"
-		}
-	},
-
-	"_glusterfs_comment": "GlusterFS Configuration",
-	"glusterfs" : {
-
-		"_executor_comment": "Execute plugin. Possible choices: mock, kubernetes, ssh",
-		"executor" : "{{ glusterfs_heketi_executor }}",
-
-		"_db_comment": "Database file name",
-		"db" : "/var/lib/heketi/heketi.db",
-
-		"sshexec" : {
-			"keyfile" : "/etc/heketi/private_key",
-			"port" : "{{ glusterfs_heketi_ssh_port }}",
-			"user" : "{{ glusterfs_heketi_ssh_user }}",
-			"sudo" : {{ glusterfs_heketi_ssh_sudo | lower }}
-		},
-
-		"_auto_create_block_hosting_volume": "Creates Block Hosting volumes automatically if not found or exsisting volume exhausted",
-		"auto_create_block_hosting_volume": {{ glusterfs_block_host_vol_create | lower }},
-
-		"_block_hosting_volume_size": "New block hosting volume will be created in size mentioned, This is considered only if auto-create is enabled.",
-		"block_hosting_volume_size": {{ glusterfs_block_host_vol_size }}
-	}
-}

+ 0 - 49
roles/openshift_storage_glusterfs/templates/v3.7/topology.json.j2

@@ -1,49 +0,0 @@
-{
-  "clusters": [
-{%- set clusters = {} -%}
-{%- for node in glusterfs_nodes -%}
-  {%- set cluster = hostvars[node].glusterfs_cluster if 'glusterfs_cluster' in hostvars[node] else '1' -%}
-  {%- if cluster in clusters -%}
-    {%- set _dummy = clusters[cluster].append(node) -%}
-  {%- else -%}
-    {%- set _dummy = clusters.update({cluster: [ node, ]}) -%}
-  {%- endif -%}
-{%- endfor -%}
-{%- for cluster in clusters -%}
-    {
-      "nodes": [
-{%- for node in clusters[cluster] -%}
-        {
-          "node": {
-            "hostnames": {
-              "manage": [
-{%- if 'glusterfs_hostname' in hostvars[node] -%}
-                "{{ hostvars[node].glusterfs_hostname }}"
-{%- elif 'openshift' in hostvars[node] -%}
-                "{{ hostvars[node].openshift.node.nodename }}"
-{%- else -%}
-                "{{ node }}"
-{%- endif -%}
-              ],
-              "storage": [
-{%- if 'glusterfs_ip' in hostvars[node] -%}
-                "{{ hostvars[node].glusterfs_ip }}"
-{%- else -%}
-                "{{ hostvars[node].openshift.common.ip }}"
-{%- endif -%}
-              ]
-            },
-            "zone": {{ hostvars[node].glusterfs_zone | default(1) }}
-          },
-          "devices": [
-{%- for device in hostvars[node].glusterfs_devices -%}
-            "{{ device }}"{% if not loop.last %},{% endif %}
-{%- endfor -%}
-          ]
-        }{% if not loop.last %},{% endif %}
-{%- endfor -%}
-      ]
-    }{% if not loop.last %},{% endif %}
-{%- endfor -%}
-  ]
-}

+ 0 - 19
roles/openshift_storage_glusterfs/templates/v3.8/gluster-block-storageclass.yml.j2

@@ -1,19 +0,0 @@
----
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
-  name: glusterfs-{{ glusterfs_name }}-block
-{% if glusterfs_block_storageclass_default is defined and glusterfs_block_storageclass_default %}
-  annotations:
-    storageclass.kubernetes.io/is-default-class: "true"
-{% endif %}
-provisioner: gluster.org/glusterblock
-parameters:
-  resturl: "http://{% if glusterfs_heketi_is_native %}{{ glusterfs_heketi_route }}{% else %}{{ glusterfs_heketi_url }}:{{ glusterfs_heketi_port }}{% endif %}"
-  restuser: "admin"
-  chapauthenabled: "true"
-  hacount: "3"
-{% if glusterfs_heketi_admin_key is defined %}
-  restsecretnamespace: "{{ glusterfs_namespace }}"
-  restsecretname: "heketi-{{ glusterfs_name }}-admin-secret-block"
-{%- endif -%}

+ 0 - 12
roles/openshift_storage_glusterfs/templates/v3.8/glusterfs-registry-endpoints.yml.j2

@@ -1,12 +0,0 @@
----
-apiVersion: v1
-kind: Endpoints
-metadata:
-  name: glusterfs-{{ glusterfs_name }}-endpoints
-subsets:
-- addresses:
-{% for node in glusterfs_nodes %}
-  - ip: {{ hostvars[node].glusterfs_ip | default(hostvars[node].openshift.common.ip) }}
-{% endfor %}
-  ports:
-  - port: 1

+ 0 - 10
roles/openshift_storage_glusterfs/templates/v3.8/glusterfs-registry-service.yml.j2

@@ -1,10 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: glusterfs-{{ glusterfs_name }}-endpoints
-spec:
-  ports:
-  - port: 1
-status:
-  loadBalancer: {}

+ 0 - 17
roles/openshift_storage_glusterfs/templates/v3.8/glusterfs-storageclass.yml.j2

@@ -1,17 +0,0 @@
----
-apiVersion: storage.k8s.io/v1
-kind: StorageClass
-metadata:
-  name: glusterfs-{{ glusterfs_name }}
-{% if glusterfs_storageclass_default is defined and glusterfs_storageclass_default %}
-  annotations:
-    storageclass.kubernetes.io/is-default-class: "true"
-{% endif %}
-provisioner: kubernetes.io/glusterfs
-parameters:
-  resturl: "http://{% if glusterfs_heketi_is_native %}{{ glusterfs_heketi_route }}{% else %}{{ glusterfs_heketi_url }}:{{ glusterfs_heketi_port }}{% endif %}"
-  restuser: "admin"
-{% if glusterfs_heketi_admin_key is defined %}
-  secretNamespace: "{{ glusterfs_namespace }}"
-  secretName: "heketi-{{ glusterfs_name }}-admin-secret"
-{%- endif -%}

+ 0 - 12
roles/openshift_storage_glusterfs/templates/v3.8/heketi-endpoints.yml.j2

@@ -1,12 +0,0 @@
----
-apiVersion: v1
-kind: Endpoints
-metadata:
-  name: heketi-db-{{ glusterfs_name }}-endpoints
-subsets:
-- addresses:
-{% for node in glusterfs_nodes %}
-  - ip: {{ hostvars[node].glusterfs_ip | default(hostvars[node].openshift.common.ip) }}
-{% endfor %}
-  ports:
-  - port: 1

+ 0 - 10
roles/openshift_storage_glusterfs/templates/v3.8/heketi-service.yml.j2

@@ -1,10 +0,0 @@
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: heketi-db-{{ glusterfs_name }}-endpoints
-spec:
-  ports:
-  - port: 1
-status:
-  loadBalancer: {}

+ 0 - 42
roles/openshift_storage_glusterfs/templates/v3.8/heketi.json.j2

@@ -1,42 +0,0 @@
-{
-	"_port_comment": "Heketi Server Port Number",
-	"port" : "8080",
-
-	"_use_auth": "Enable JWT authorization. Please enable for deployment",
-	"use_auth" : false,
-
-	"_jwt" : "Private keys for access",
-	"jwt" : {
-		"_admin" : "Admin has access to all APIs",
-		"admin" : {
-			"key" : "My Secret"
-		},
-		"_user" : "User only has access to /volumes endpoint",
-		"user" : {
-			"key" : "My Secret"
-		}
-	},
-
-	"_glusterfs_comment": "GlusterFS Configuration",
-	"glusterfs" : {
-
-		"_executor_comment": "Execute plugin. Possible choices: mock, kubernetes, ssh",
-		"executor" : "{{ glusterfs_heketi_executor }}",
-
-		"_db_comment": "Database file name",
-		"db" : "/var/lib/heketi/heketi.db",
-
-		"sshexec" : {
-			"keyfile" : "/etc/heketi/private_key",
-			"port" : "{{ glusterfs_heketi_ssh_port }}",
-			"user" : "{{ glusterfs_heketi_ssh_user }}",
-			"sudo" : {{ glusterfs_heketi_ssh_sudo | lower }}
-		},
-
-		"_auto_create_block_hosting_volume": "Creates Block Hosting volumes automatically if not found or exsisting volume exhausted",
-		"auto_create_block_hosting_volume": {{ glusterfs_block_host_vol_create | lower }},
-
-		"_block_hosting_volume_size": "New block hosting volume will be created in size mentioned, This is considered only if auto-create is enabled.",
-		"block_hosting_volume_size": {{ glusterfs_block_host_vol_size }}
-	}
-}

+ 0 - 49
roles/openshift_storage_glusterfs/templates/v3.8/topology.json.j2

@@ -1,49 +0,0 @@
-{
-  "clusters": [
-{%- set clusters = {} -%}
-{%- for node in glusterfs_nodes -%}
-  {%- set cluster = hostvars[node].glusterfs_cluster if 'glusterfs_cluster' in hostvars[node] else '1' -%}
-  {%- if cluster in clusters -%}
-    {%- set _dummy = clusters[cluster].append(node) -%}
-  {%- else -%}
-    {%- set _dummy = clusters.update({cluster: [ node, ]}) -%}
-  {%- endif -%}
-{%- endfor -%}
-{%- for cluster in clusters -%}
-    {
-      "nodes": [
-{%- for node in clusters[cluster] -%}
-        {
-          "node": {
-            "hostnames": {
-              "manage": [
-{%- if 'glusterfs_hostname' in hostvars[node] -%}
-                "{{ hostvars[node].glusterfs_hostname }}"
-{%- elif 'openshift' in hostvars[node] -%}
-                "{{ hostvars[node].openshift.node.nodename }}"
-{%- else -%}
-                "{{ node }}"
-{%- endif -%}
-              ],
-              "storage": [
-{%- if 'glusterfs_ip' in hostvars[node] -%}
-                "{{ hostvars[node].glusterfs_ip }}"
-{%- else -%}
-                "{{ hostvars[node].openshift.common.ip }}"
-{%- endif -%}
-              ]
-            },
-            "zone": {{ hostvars[node].glusterfs_zone | default(1) }}
-          },
-          "devices": [
-{%- for device in hostvars[node].glusterfs_devices -%}
-            "{{ device }}"{% if not loop.last %},{% endif %}
-{%- endfor -%}
-          ]
-        }{% if not loop.last %},{% endif %}
-{%- endfor -%}
-      ]
-    }{% if not loop.last %},{% endif %}
-{%- endfor -%}
-  ]
-}