Browse Source

Merge pull request #7729 from jarrpa/glusterfs-collapse

GlusterFS: Collapse versioned files and directories
OpenShift Merge Robot 7 years ago
parent
commit
e6a94e625e
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 -%}
-  ]
-}