diff options
Diffstat (limited to 'roles')
8 files changed, 489 insertions, 98 deletions
| diff --git a/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-app-example.yaml b/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-app-example.yaml deleted file mode 100644 index 14bdd1dca..000000000 --- a/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-app-example.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: -  name: cloudforms -spec: -  capacity: -    storage: 2Gi -  accessModes: -    - ReadWriteOnce -  nfs: -    path: /opt/nfs/volumes-app -    server: 10.19.0.216 -  persistentVolumeReclaimPolicy: Recycle diff --git a/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-db-example.yaml b/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-db-example.yaml new file mode 100644 index 000000000..250a99b8d --- /dev/null +++ b/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-db-example.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: +  name: cfme-pv01 +spec: +  capacity: +    storage: 15Gi +  accessModes: +    - ReadWriteOnce +  nfs:  +    path: /exports/cfme-pv01 +    server: <your-nfs-host-here> +  persistentVolumeReclaimPolicy: Retain diff --git a/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-example.yaml b/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-example.yaml deleted file mode 100644 index 709d8d976..000000000 --- a/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-example.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: PersistentVolume -metadata: -  name: nfs-pv01 -spec: -  capacity: -    storage: 2Gi -  accessModes: -    - ReadWriteOnce -  nfs: -    path: /opt/nfs/volumes -    server: 10.19.0.216 -  persistentVolumeReclaimPolicy: Recycle diff --git a/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-region-example.yaml b/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-region-example.yaml new file mode 100644 index 000000000..cba9bbe35 --- /dev/null +++ b/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-region-example.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: +  name: cfme-pv02 +spec: +  capacity: +    storage: 5Gi +  accessModes: +    - ReadWriteOnce +  nfs:  +    path: /exports/cfme-pv02 +    server: <your-nfs-host-here> +  persistentVolumeReclaimPolicy: Retain diff --git a/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-server-example.yaml b/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-server-example.yaml new file mode 100644 index 000000000..c08c21265 --- /dev/null +++ b/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-pv-server-example.yaml @@ -0,0 +1,13 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: +  name: cfme-pv03 +spec: +  capacity: +    storage: 5Gi +  accessModes: +    - ReadWriteOnce +  nfs:  +    path: /exports/cfme-pv03 +    server: <your-nfs-host-here> +  persistentVolumeReclaimPolicy: Retain diff --git a/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-template.yaml b/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-template.yaml index 4f25a9c8f..3bc6c5813 100644 --- a/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-template.yaml +++ b/roles/openshift_examples/files/examples/v3.6/cfme-templates/cfme-template.yaml @@ -17,6 +17,7 @@ objects:        service.alpha.openshift.io/dependencies: '[{"name":"${DATABASE_SERVICE_NAME}","namespace":"","kind":"Service"},{"name":"${MEMCACHED_SERVICE_NAME}","namespace":"","kind":"Service"}]'      name: ${NAME}    spec: +    clusterIP: None      ports:      - name: http        port: 80 @@ -48,11 +49,27 @@ objects:      annotations:        description: "Keeps track of changes in the CloudForms app image"    spec: -    dockerImageRepository: registry.access.redhat.com/cloudforms/cfme-openshift-app +    dockerImageRepository: "${APPLICATION_IMG_NAME}" +- apiVersion: v1 +  kind: ImageStream +  metadata: +    name: cfme-openshift-postgresql +    annotations: +      description: "Keeps track of changes in the CloudForms postgresql image" +  spec: +    dockerImageRepository: "${POSTGRESQL_IMG_NAME}" +- apiVersion: v1 +  kind: ImageStream +  metadata: +    name: cfme-openshift-memcached +    annotations: +      description: "Keeps track of changes in the CloudForms memcached image" +  spec: +    dockerImageRepository: "${MEMCACHED_IMG_NAME}"  - apiVersion: v1    kind: PersistentVolumeClaim    metadata: -    name: ${DATABASE_SERVICE_NAME} +    name: "${NAME}-${DATABASE_SERVICE_NAME}"    spec:      accessModes:        - ReadWriteOnce @@ -62,45 +79,41 @@ objects:  - apiVersion: v1    kind: PersistentVolumeClaim    metadata: -    name: ${NAME} +    name: "${NAME}-region"    spec:      accessModes:        - ReadWriteOnce      resources:        requests: -        storage: ${APPLICATION_VOLUME_CAPACITY} -- apiVersion: v1 -  kind: "DeploymentConfig" +        storage: ${APPLICATION_REGION_VOLUME_CAPACITY} +- apiVersion: apps/v1beta1 +  kind: "StatefulSet"    metadata:      name: ${NAME}      annotations:        description: "Defines how to deploy the CloudForms appliance"    spec: +    serviceName: "${NAME}" +    replicas: 1      template:        metadata:          labels:            name: ${NAME}          name: ${NAME}        spec: -        volumes: -          - -            name: "cfme-app-volume" -            persistentVolumeClaim: -              claimName: ${NAME}          containers: -        - image: cloudforms/cfme-openshift-app:${APPLICATION_IMG_TAG} -          imagePullPolicy: IfNotPresent -          name: cloudforms +        - name: cloudforms +          image: "${APPLICATION_IMG_NAME}:${APPLICATION_IMG_TAG}"            livenessProbe: -            httpGet: -              path: / -              port: 80 +            tcpSocket: +              port: 443              initialDelaySeconds: 480              timeoutSeconds: 3            readinessProbe:              httpGet:                path: / -              port: 80 +              port: 443 +              scheme: HTTPS              initialDelaySeconds: 200              timeoutSeconds: 3            ports: @@ -112,8 +125,11 @@ objects:              privileged: true            volumeMounts:                - -                name: "cfme-app-volume" +                name: "${NAME}-server"                  mountPath: "/persistent" +              - +                name: "${NAME}-region" +                mountPath: "/persistent-region"            env:              -                name: "APPLICATION_INIT_DELAY" @@ -144,29 +160,32 @@ objects:                value: "${POSTGRESQL_SHARED_BUFFERS}"            resources:              requests: -              memory: "${MEMORY_APPLICATION_MIN}" +              memory: "${APPLICATION_MEM_REQ}" +              cpu: "${APPLICATION_CPU_REQ}" +            limits: +              memory: "${APPLICATION_MEM_LIMIT}"            lifecycle:              preStop:                exec:                  command:                    - /opt/rh/cfme-container-scripts/sync-pv-data -    replicas: 1 -    selector: -      name: ${NAME} -    triggers: -      - type: "ConfigChange" -      - type: "ImageChange" -        imageChangeParams: -          automatic: true -          containerNames: -            - "cloudforms" -          from: -            kind: "ImageStreamTag" -            name: "cfme-openshift-app:${APPLICATION_IMG_TAG}" -    strategy: -      type: "Recreate" -      recreateParams: -        timeoutSeconds: 1200 +        volumes: +         - +           name: "${NAME}-region" +           persistentVolumeClaim: +             claimName: ${NAME}-region +    volumeClaimTemplates: +      - metadata: +          name: "${NAME}-server" +          annotations: +            # Uncomment this if using dynamic volume provisioning. +            # https://docs.openshift.org/latest/install_config/persistent_storage/dynamically_provisioning_pvs.html +            # volume.alpha.kubernetes.io/storage-class: anything +        spec: +          accessModes: [ ReadWriteOnce ] +          resources: +            requests: +              storage: "${APPLICATION_VOLUME_CAPACITY}"  - apiVersion: v1    kind: "Service"    metadata: @@ -182,14 +201,6 @@ objects:      selector:        name: "${MEMCACHED_SERVICE_NAME}"  - apiVersion: v1 -  kind: ImageStream -  metadata: -    name: cfme-openshift-memcached -    annotations: -      description: "Keeps track of changes in the CloudForms memcached image" -  spec: -    dockerImageRepository: registry.access.redhat.com/cloudforms/cfme-openshift-memcached -- apiVersion: v1    kind: "DeploymentConfig"    metadata:      name: "${MEMCACHED_SERVICE_NAME}" @@ -223,7 +234,7 @@ objects:          containers:            -              name: "memcached" -            image: "cloudforms/cfme-openshift-memcached:${MEMCACHED_IMG_TAG}" +            image: "${MEMCACHED_IMG_NAME}:${MEMCACHED_IMG_TAG}"              ports:                -                  containerPort: 11211 @@ -249,8 +260,11 @@ objects:                  name: "MEMCACHED_SLAB_PAGE_SIZE"                  value: "${MEMCACHED_SLAB_PAGE_SIZE}"              resources: +              requests: +                memory: "${MEMCACHED_MEM_REQ}" +                cpu: "${MEMCACHED_CPU_REQ}"                limits: -                memory: "${MEMORY_MEMCACHED_LIMIT}" +                memory: "${MEMCACHED_MEM_LIMIT}"  - apiVersion: v1    kind: "Service"    metadata: @@ -266,14 +280,6 @@ objects:      selector:        name: "${DATABASE_SERVICE_NAME}"  - apiVersion: v1 -  kind: ImageStream -  metadata: -    name: cfme-openshift-postgresql -    annotations: -      description: "Keeps track of changes in the CloudForms postgresql image" -  spec: -    dockerImageRepository: registry.access.redhat.com/cloudforms/cfme-openshift-postgresql -- apiVersion: v1    kind: "DeploymentConfig"    metadata:      name: "${DATABASE_SERVICE_NAME}" @@ -307,11 +313,11 @@ objects:            -              name: "cfme-pgdb-volume"              persistentVolumeClaim: -              claimName: ${DATABASE_SERVICE_NAME} +              claimName: "${NAME}-${DATABASE_SERVICE_NAME}"          containers:            -              name: "postgresql" -            image: "cloudforms/cfme-openshift-postgresql:${POSTGRESQL_IMG_TAG}" +            image: "${POSTGRESQL_IMG_NAME}:${POSTGRESQL_IMG_TAG}"              ports:                -                  containerPort: 5432 @@ -350,8 +356,11 @@ objects:                  name: "POSTGRESQL_SHARED_BUFFERS"                  value: "${POSTGRESQL_SHARED_BUFFERS}"              resources: +              requests: +                memory: "${POSTGRESQL_MEM_REQ}" +                cpu: "${POSTGRESQL_CPU_REQ}"                limits: -                memory: "${MEMORY_POSTGRESQL_LIMIT}" +                memory: "${POSTGRESQL_MEM_LIMIT}"  parameters:    - @@ -420,36 +429,87 @@ parameters:      name: "POSTGRESQL_SHARED_BUFFERS"      displayName: "PostgreSQL Shared Buffer Amount"      description: "Amount of memory dedicated for PostgreSQL shared memory buffers." -    value: "64MB" +    value: "256MB"    - -    name: "MEMORY_APPLICATION_MIN" -    displayName: "Application Memory Minimum" +    name: "APPLICATION_CPU_REQ" +    displayName: "Application Min CPU Requested" +    required: true +    description: "Minimum amount of CPU time the Application container will need (expressed in millicores)." +    value: "1000m" +  - +    name: "POSTGRESQL_CPU_REQ" +    displayName: "PostgreSQL Min CPU Requested" +    required: true +    description: "Minimum amount of CPU time the PostgreSQL container will need (expressed in millicores)." +    value: "500m" +  - +    name: "MEMCACHED_CPU_REQ" +    displayName: "Memcached Min CPU Requested" +    required: true +    description: "Minimum amount of CPU time the Memcached container will need (expressed in millicores)." +    value: "200m" +  - +    name: "APPLICATION_MEM_REQ" +    displayName: "Application Min RAM Requested"      required: true      description: "Minimum amount of memory the Application container will need." -    value: "4096Mi" +    value: "6144Mi" +  - +    name: "POSTGRESQL_MEM_REQ" +    displayName: "PostgreSQL Min RAM Requested" +    required: true +    description: "Minimum amount of memory the PostgreSQL container will need." +    value: "1024Mi"    - -    name: "MEMORY_POSTGRESQL_LIMIT" -    displayName: "PostgreSQL Memory Limit" +    name: "MEMCACHED_MEM_REQ" +    displayName: "Memcached Min RAM Requested"      required: true -    description: "Maximum amount of memory the PostgreSQL container can use." -    value: "2048Mi" +    description: "Minimum amount of memory the Memcached container will need." +    value: "64Mi"    - -    name: "MEMORY_MEMCACHED_LIMIT" -    displayName: "Memcached Memory Limit" +    name: "APPLICATION_MEM_LIMIT" +    displayName: "Application Max RAM Limit"      required: true -    description: "Maximum amount of memory the Memcached container can use." +    description: "Maximum amount of memory the Application container can consume." +    value: "16384Mi" +  - +    name: "POSTGRESQL_MEM_LIMIT" +    displayName: "PostgreSQL Max RAM Limit" +    required: true +    description: "Maximum amount of memory the PostgreSQL container can consume." +    value: "8192Mi" +  - +    name: "MEMCACHED_MEM_LIMIT" +    displayName: "Memcached Max RAM Limit" +    required: true +    description: "Maximum amount of memory the Memcached container can consume."      value: "256Mi"    - +    name: "POSTGRESQL_IMG_NAME" +    displayName: "PostgreSQL Image Name" +    description: "This is the PostgreSQL image name requested to deploy." +    value: "registry.access.redhat.com/cloudforms45/cfme-openshift-postgresql" +  -      name: "POSTGRESQL_IMG_TAG"      displayName: "PostgreSQL Image Tag"      description: "This is the PostgreSQL image tag/version requested to deploy."      value: "latest"    - +    name: "MEMCACHED_IMG_NAME" +    displayName: "Memcached Image Name" +    description: "This is the Memcached image name requested to deploy." +    value: "registry.access.redhat.com/cloudforms45/cfme-openshift-memcached" +  -      name: "MEMCACHED_IMG_TAG"      displayName: "Memcached Image Tag"      description: "This is the Memcached image tag/version requested to deploy."      value: "latest"    - +    name: "APPLICATION_IMG_NAME" +    displayName: "Application Image Name" +    description: "This is the Application image name requested to deploy." +    value: "registry.access.redhat.com/cloudforms45/cfme-openshift-app" +  -      name: "APPLICATION_IMG_TAG"      displayName: "Application Image Tag"      description: "This is the Application image tag/version requested to deploy." @@ -464,16 +524,22 @@ parameters:      displayName: "Application Init Delay"      required: true      description: "Delay in seconds before we attempt to initialize the application." -    value: "30" +    value: "15"    -      name: "APPLICATION_VOLUME_CAPACITY"      displayName: "Application Volume Capacity"      required: true      description: "Volume space available for application data." -    value: "1Gi" +    value: "5Gi" +  - +    name: "APPLICATION_REGION_VOLUME_CAPACITY" +    displayName: "Application Region Volume Capacity" +    required: true +    description: "Volume space available for region application data." +    value: "5Gi"    -      name: "DATABASE_VOLUME_CAPACITY"      displayName: "Database Volume Capacity"      required: true      description: "Volume space available for database." -    value: "1Gi" +    value: "15Gi" diff --git a/roles/openshift_examples/files/examples/v3.6/cfme-templates/jboss-middleware-manager-pv-example.yaml b/roles/openshift_examples/files/examples/v3.6/cfme-templates/jboss-middleware-manager-pv-example.yaml new file mode 100644 index 000000000..240f6cbdf --- /dev/null +++ b/roles/openshift_examples/files/examples/v3.6/cfme-templates/jboss-middleware-manager-pv-example.yaml @@ -0,0 +1,58 @@ +# +# Copyright 2016-2017 Red Hat, Inc. and/or its affiliates +# and other contributors as indicated by the @author tags. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +#    http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: v1 +kind: Template +parameters: +- name: HAWKULAR_SERVICES_DATA_LIMIT +  description: Maximum amount data used by hawkular-services container (mostly logging) +  displayName: Hawkular Services Container Data Limit +  value: 1Gi +- name: CASSANDRA_DATA_LIMIT +  description: Maximum amount data used by Cassandra container +  displayName: Cassandra Container Data Limit +  value: 2Gi + +objects: +- apiVersion: v1 +  kind: PersistentVolume +  metadata: +    name: h-services-pv +    labels: +      type: h-services +  spec: +    capacity: +      storage: ${HAWKULAR_SERVICES_DATA_LIMIT} +    accessModes: +      - ReadWriteOnce +    persistentVolumeReclaimPolicy: Retain +    hostPath: +      path: /tmp/pv-services +- apiVersion: v1 +  kind: PersistentVolume +  metadata: +    name: cassandra-pv +    labels: +      type: cassandra +  spec: +    capacity: +      storage: ${CASSANDRA_DATA_LIMIT} +    accessModes: +      - ReadWriteOnce +    persistentVolumeReclaimPolicy: Retain +    hostPath: +      path: /tmp/pv-cassandra diff --git a/roles/openshift_examples/files/examples/v3.6/cfme-templates/jboss-middleware-manager-template.yaml b/roles/openshift_examples/files/examples/v3.6/cfme-templates/jboss-middleware-manager-template.yaml new file mode 100644 index 000000000..bbc0c7044 --- /dev/null +++ b/roles/openshift_examples/files/examples/v3.6/cfme-templates/jboss-middleware-manager-template.yaml @@ -0,0 +1,254 @@ +# +# Copyright 2016-2017 Red Hat, Inc. and/or its affiliates +# and other contributors as indicated by the @author tags. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +#    http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +apiVersion: v1 +kind: Template +metadata: +  name: hawkular-services +  annotations: +    openshift.io/display-name: Hawkular Services +    description: Hawkular-Services all-in-one (including Hawkular Metrics, Hawkular Alerts and Hawkular Inventory). +    iconClass: icon-wildfly +    tags: hawkular,hawkular-services,metrics,alerts,manageiq,cassandra + +parameters: +- name: HAWKULAR_SERVICES_IMAGE +  description: What docker image should be used for hawkular-services. +  displayName: Hawkular Services Docker Image +  value: registry.access.redhat.com/jboss-mm-7-tech-preview/middleware-manager:latest +- name: CASSANDRA_IMAGE +  description: What docker image should be used for cassandra node. +  displayName: Cassandra Docker Image +  value: registry.access.redhat.com/openshift3/metrics-cassandra:3.5.0 +- name: CASSANDRA_MEMORY_LIMIT +  description: Maximum amount of memory for Cassandra container. +  displayName: Cassandra Memory Limit +  value: 2Gi +- name: CASSANDRA_DATA_LIMIT +  description: Maximum amount data used by Cassandra container. +  displayName: Cassandra Container Data Limit +  value: 2Gi +- name: HAWKULAR_SERVICES_DATA_LIMIT +  description: Maximum amount data used by hawkular-services container (mostly logging). +  displayName: Hawkular Services Container Data Limit +  value: 1Gi +- name: ROUTE_NAME +  description: Public route with this name will be created. +  displayName: Route Name +  value: hawkular-services +- name: ROUTE_HOSTNAME +  description: Under this hostname the Hawkular Services will be accessible, if left blank a value will be defaulted. +  displayName: Hostname +- name: HAWKULAR_USER +  description: Username that is used for accessing the Hawkular Services, if left blank a value will be generated. +  displayName: Hawkular User +  from: '[a-zA-Z0-9]{16}' +  generate: expression +- name: HAWKULAR_PASSWORD +  description: Password that is used for accessing the Hawkular Services, if left blank a value will be generated. +  displayName: Hawkular Password +  from: '[a-zA-Z0-9]{16}' +  generate: expression +labels: +  template: hawkular-services +message: Credentials for hawkular-services are ${HAWKULAR_USER}:${HAWKULAR_PASSWORD} + +objects: +- apiVersion: v1 +  kind: Service +  metadata: +    annotations: +      description: Exposes and load balances the application pods +      service.alpha.openshift.io/dependencies: '[{"name":"hawkular-cassandra","namespace":"","kind":"Service"}]' +    name: hawkular-services +  spec: +    ports: +    - name: http-8080-tcp +      port: 8080 +      protocol: TCP +      targetPort: 8080 +    - name: admin-9990-tcp +      port: 9990 +      protocol: TCP +      targetPort: 9990 +    selector: +      name: hawkular-services +    type: ClusterIP +- apiVersion: v1 +  kind: Service +  metadata: +    annotations: +      description: Cassandra Service +    name: hawkular-cassandra +  spec: +    ports: +    - name: cql-9042-tcp +      port: 9042 +      protocol: TCP +      targetPort: 9042 +    selector: +      name: hawkular-cassandra +- apiVersion: v1 +  kind: Route +  metadata: +    name: ${ROUTE_NAME} +  spec: +    host: ${ROUTE_HOSTNAME} +    to: +      kind: Service +      name: hawkular-services +    port: +      targetPort: http-8080-tcp + +- apiVersion: v1 +  kind: DeploymentConfig +  metadata: +    annotations: +      description: Defines how to deploy the application server +    name: hawkular-services +  spec: +    replicas: 1 +    selector: +      name: hawkular-services +    strategy: +      type: Rolling +    template: +      metadata: +        labels: +          name: hawkular-services +      spec: +        containers: +        - image: ${HAWKULAR_SERVICES_IMAGE} +          env: +          - name: HAWKULAR_BACKEND +            value: remote +          - name: CASSANDRA_NODES +            value: hawkular-cassandra +          - name: HAWKULAR_USER +            value: ${HAWKULAR_USER} +          - name: HAWKULAR_PASSWORD +            value: ${HAWKULAR_PASSWORD} +          imagePullPolicy: IfNotPresent +          name: hawkular-services +          volumeMounts: +          - name: h-services-data +            mountPath: /var/opt/hawkular +          ports: +          - containerPort: 8080 +          - containerPort: 9990 +          livenessProbe: +            exec: +              command: +              - /opt/hawkular/bin/ready.sh +            initialDelaySeconds: 180 +            timeoutSeconds: 3 +          readinessProbe: +            exec: +              command: +              - /opt/hawkular/bin/ready.sh +            initialDelaySeconds: 120 +            timeoutSeconds: 3 +            periodSeconds: 5 +            successThreshold: 1 +            failureThreshold: 12 +          resources: +            requests: +              memory: 1024Mi +              cpu: 2000m +        dnsPolicy: ClusterFirst +        restartPolicy: Always +        volumes: +        - name: h-services-data +          persistentVolumeClaim: +            claimName: h-services-pvc + +- apiVersion: v1 +  kind: DeploymentConfig +  metadata: +    annotations: +      description: Defines how to deploy the cassandra +    name: hawkular-cassandra +  spec: +    replicas: 1 +    selector: +      name: hawkular-cassandra +    strategy: +      type: Recreate +      rollingParams: +        timeoutSeconds: 300 +    template: +      metadata: +        labels: +          name: hawkular-cassandra +      spec: +        containers: +        - image: ${CASSANDRA_IMAGE} +          imagePullPolicy: Always +          name: hawkular-cassandra +          env: +          - name: DATA_VOLUME +            value: /var/lib/cassandra +          volumeMounts: +          - name: cassandra-data +            mountPath: /var/lib/cassandra +          ports: +          - containerPort: 9042 +          - containerPort: 9160 +          readinessProbe: +            exec: +              command: ['nodetool', 'status'] +            initialDelaySeconds: 30 +            timeoutSeconds: 10 +            periodSeconds: 15 +            successThreshold: 1 +            failureThreshold: 3 +          livenessProbe: +            exec: +              command: ['nodetool', 'status'] +            initialDelaySeconds: 300 +            timeoutSeconds: 10 +            periodSeconds: 15 +            successThreshold: 1 +            failureThreshold: 3 +          resources: +            limits: +              memory: ${CASSANDRA_MEMORY_LIMIT} +        volumes: +        - name: cassandra-data +          persistentVolumeClaim: +            claimName: cassandra-pvc + +- apiVersion: v1 +  kind: PersistentVolumeClaim +  metadata: +    name: h-services-pvc +  spec: +    accessModes: +      - ReadWriteOnce +    resources: +      requests: +        storage: 1Gi +- apiVersion: v1 +  kind: PersistentVolumeClaim +  metadata: +    name: cassandra-pvc +  spec: +    accessModes: +      - ReadWriteOnce +    resources: +      requests: +        storage: 1Gi | 
