aboutsummaryrefslogtreecommitdiff
path: root/test/basic-produce-consume.yml
blob: fdacea06f85de73b1db00ce7281c7e293106bbe4 (plain) (blame)
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
---
kind: ConfigMap
metadata:
  name: basic-produce-consume
  namespace: test-kafka
apiVersion: v1
data:

  setup.sh: |-
    touch /tmp/testlog

    ./bin/kafka-topics.sh --zookeeper $ZOOKEEPER \
      --create --if-not-exists --topic test-basic-produce-consume \
      --partitions 1 --replication-factor 1

    # Despite the deprecation warning --zookeeper nothing is consumed when using --bootstrap-server
    ./bin/kafka-console-consumer.sh --zookeeper $ZOOKEEPER --topic test-basic-produce-consume > /tmp/testconsumed &

    tail -f /tmp/testlog

  continue.sh: |-
    exit 0

  run.sh: |-
    exec >> /tmp/testlog
    exec 2>&1

    unique=$(date -Ins)

    echo "Test $unique" | ./bin/kafka-console-producer.sh --broker-list $BOOTSTRAP --topic test-basic-produce-consume
    echo ""
    tail -n 1 /tmp/testconsumed | grep $unique

    # How to make this test fail:
    #apt-get update && apt-get install -y --no-install-recommends procps
    #pkill java

    exit 0

---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: basic-produce-consume
  namespace: test-kafka
spec:
  replicas: 1
  template:
    metadata:
      labels:
        test-target: kafka
        test-type: readiness
    spec:
      containers:
      - name: testcase
        image: solsson/kafka:0.11.0.0@sha256:b27560de08d30ebf96d12e74f80afcaca503ad4ca3103e63b1fd43a2e4c976ce
        env:
        - name: BOOTSTRAP
          value: kafka-0.broker.kafka.svc.cluster.local:9092,kafka-1.broker.kafka.svc.cluster.local:9092,kafka-2.broker.kafka.svc.cluster.local:9092
        - name: ZOOKEEPER
          value: zookeeper.kafka.svc.cluster.local:2181
        # Test set up
        command:
        - /bin/bash
        - -e
        - /test/setup.sh
        # Test run, again and again
        readinessProbe:
          exec:
            command:
            - /bin/bash
            - -e
            - /test/run.sh
          # JVM start is slow, can we keep producer started and restore the default preriod 10s?
          periodSeconds: 30
        # Test quit on nonzero exit
        livenessProbe:
          exec:
            command:
            - /bin/bash
            - -e
            - /test/continue.sh
        volumeMounts:
        - name: config
          mountPath: /test
      volumes:
      - name: config
        configMap:
          name: basic-produce-consume