summaryrefslogtreecommitdiffstats
path: root/roles/openshift_metrics/templates/hawkular_cassandra_rc.j2
blob: abd4ff9397447d8f59293a7a859170d7177428c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
apiVersion: v1
kind: ReplicationController
metadata:
  name: hawkular-cassandra-{{ node }}
  labels:
    metrics-infra: hawkular-cassandra
    name: hawkular-cassandra
    type: hawkular-cassandra
spec:
  selector:
    name: hawkular-cassandra-{{ node }}
  replicas: {{replica_count}}
  template:
    version: v1
    metadata:
      labels:
        metrics-infra: hawkular-cassandra
        name: hawkular-cassandra-{{ node }}
        type: hawkular-cassandra
    spec:
      serviceAccount: cassandra
      containers:
      - image: "{{ openshift_metrics_image_prefix }}metrics-cassandra:{{ openshift_metrics_image_version }}"
        name: hawkular-cassandra-{{ node }}
        ports:
        - name: cql-port
          containerPort: 9042
        - name: thift-port
          containerPort: 9160
        - name: tcp-port
          containerPort: 7000
        - name: ssl-port
          containerPort: 7001
        command:
        - "/opt/apache-cassandra/bin/cassandra-docker.sh"
        - "--cluster_name=hawkular-metrics"
        - "--data_volume=/cassandra_data"
        - "--internode_encryption=all"
        - "--require_node_auth=true"
        - "--enable_client_encryption=true"
        - "--require_client_auth=true"
        - "--keystore_file=/secret/cassandra.keystore"
        - "--keystore_password_file=/secret/cassandra.keystore.password"
        - "--truststore_file=/secret/cassandra.truststore"
        - "--truststore_password_file=/secret/cassandra.truststore.password"
        - "--cassandra_pem_file=/secret/cassandra.pem"
        env:
        - name: CASSANDRA_MASTER
          value: "{{ master }}"
        - name: CASSANDRA_DATA_VOLUME
          value: "/cassandra_data"
        - name: JVM_OPTS
          value: "-Dcassandra.commitlog.ignorereplayerrors=true"
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: MEMORY_LIMIT
          valueFrom:
            resourceFieldRef:
              resource: limits.memory
        - name: CPU_LIMIT
          valueFrom:
            resourceFieldRef:
              resource: limits.cpu
              divisor: 1m
        volumeMounts:
        - name: cassandra-data
          mountPath: "/cassandra_data"
        - name: hawkular-cassandra-secrets
          mountPath: "/secret"
{% if ((openshift_metrics_cassandra_limits_cpu is defined and openshift_metrics_cassandra_limits_cpu is not none) 
   or (openshift_metrics_cassandra_limits_memory is defined and openshift_metrics_cassandra_limits_memory is not none)
   or (openshift_metrics_cassandra_requests_cpu is defined and openshift_metrics_cassandra_requests_cpu is not none)
   or (openshift_metrics_cassandra_requests_memory is defined and openshift_metrics_cassandra_requests_memory is not none)) 
%}
        resources:
{%      if (openshift_metrics_cassandra_limits_cpu is not none
        or openshift_metrics_cassandra_limits_memory is not none)
%}
          limits:
{%        if openshift_metrics_cassandra_limits_cpu is not none %}
            cpu: "{{openshift_metrics_cassandra_limits_cpu}}"
{% endif %}
{%        if openshift_metrics_cassandra_limits_memory is not none %}
            memory: "{{openshift_metrics_cassandra_limits_memory}}"
{% endif %}
{% endif %}
{%        if (openshift_metrics_cassandra_requests_cpu is not none 
          or openshift_metrics_cassandra_requests_memory is not none) 
%}
          requests:
{%        if openshift_metrics_cassandra_requests_cpu is not none %}
            cpu: "{{openshift_metrics_cassandra_requests_cpu}}"
{% endif %}
{%        if openshift_metrics_cassandra_requests_memory is not none %}
            memory: "{{openshift_metrics_cassandra_requests_memory}}"
{% endif %}
{% endif %}
{% endif %}
        readinessProbe:
          exec:
            command:
            - "/opt/apache-cassandra/bin/cassandra-docker-ready.sh"
        lifecycle:
          preStop:
            exec:
              command:
              - "/opt/apache-cassandra/bin/cassandra-prestop.sh"
          postStart:
            exec:
              command:
              - "/opt/apache-cassandra/bin/cassandra-poststart.sh"
        terminationGracePeriodSeconds: 1800
      volumes:
      - name: cassandra-data
{%      if openshift_metrics_cassandra_storage_type == 'emptydir' %}
        emptyDir: {}
{%      else %}
        persistentVolumeClaim:
          claimName: "{{ openshift_metrics_cassandra_pv_prefix }}-{{ node }}"
{% endif %}
      - name: hawkular-cassandra-secrets
        secret:
          secretName: hawkular-cassandra-secrets