Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 27 additions & 4 deletions ci/init-last-test-service.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,16 +16,39 @@
# limitations under the License.
#

# A broker that is not registered in ZooKeeper yet rejects topic creation with
# "Replication factor: 1 larger than available brokers: 0". The failure used to be
# silent, and the topic was then auto-created with the default single partition on
# first produce, which quietly broke tests that expect a specific partition layout.
create_kafka_topic() {
local container="$1"
local zookeeper="$2"
local partitions="$3"
local topic="$4"

for _ in $(seq 30); do
if docker exec -i "$container" /opt/bitnami/kafka/bin/kafka-topics.sh --create \
--zookeeper "$zookeeper" --replication-factor 1 \
--partitions "$partitions" --topic "$topic"; then
return 0
fi
sleep 2
done

echo "failed to create kafka topic $topic on $container"
exit 1
}

before() {
# generating SSL certificates for Kafka
sudo keytool -genkeypair -keyalg RSA -dname "CN=127.0.0.1" -alias 127.0.0.1 -keystore ./ci/pod/kafka/kafka-server/selfsigned.jks -validity 365 -keysize 2048 -storepass changeit
}

after() {
docker exec -i apache-apisix-kafka-server1-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 1 --topic test2
docker exec -i apache-apisix-kafka-server1-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 3 --topic test3
docker exec -i apache-apisix-kafka-server2-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server2:2181 --replication-factor 1 --partitions 1 --topic test4
docker exec -i apache-apisix-kafka-server1-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 1 --topic test-consumer
create_kafka_topic apache-apisix-kafka-server1-1 zookeeper-server1:2181 1 test2
create_kafka_topic apache-apisix-kafka-server1-1 zookeeper-server1:2181 3 test3
create_kafka_topic apache-apisix-kafka-server2-1 zookeeper-server2:2181 1 test4
create_kafka_topic apache-apisix-kafka-server1-1 zookeeper-server1:2181 1 test-consumer
# create messages for test-consumer
for i in `seq 30`
do
Expand Down
33 changes: 28 additions & 5 deletions ci/init-plugin-test-service.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,35 @@
# limitations under the License.
#

# A broker that is not registered in ZooKeeper yet rejects topic creation with
# "Replication factor: 1 larger than available brokers: 0". The failure used to be
# silent, and the topic was then auto-created with the default single partition on
# first produce, which quietly broke tests that expect a specific partition layout.
create_kafka_topic() {
local container="$1"
local zookeeper="$2"
local partitions="$3"
local topic="$4"

for _ in $(seq 30); do
if docker exec -i "$container" /opt/bitnami/kafka/bin/kafka-topics.sh --create \
--zookeeper "$zookeeper" --replication-factor 1 \
--partitions "$partitions" --topic "$topic"; then
return 0
fi
sleep 2
done

echo "failed to create kafka topic $topic on $container"
exit 1
}

after() {
docker exec -i apache-apisix-kafka-server1-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 1 --topic test2
docker exec -i apache-apisix-kafka-server1-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server1:2181 --replication-factor 1 --partitions 3 --topic test3
docker exec -i apache-apisix-kafka-server2-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server2:2181 --replication-factor 1 --partitions 1 --topic test4
docker exec -i apache-apisix-kafka-server3-scram-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server3:2181 --replication-factor 1 --partitions 1 --topic test-scram-256
docker exec -i apache-apisix-kafka-server3-scram-1 /opt/bitnami/kafka/bin/kafka-topics.sh --create --zookeeper zookeeper-server3:2181 --replication-factor 1 --partitions 1 --topic test-scram-512
create_kafka_topic apache-apisix-kafka-server1-1 zookeeper-server1:2181 1 test2
create_kafka_topic apache-apisix-kafka-server1-1 zookeeper-server1:2181 3 test3
create_kafka_topic apache-apisix-kafka-server2-1 zookeeper-server2:2181 1 test4
create_kafka_topic apache-apisix-kafka-server3-scram-1 zookeeper-server3:2181 1 test-scram-256
create_kafka_topic apache-apisix-kafka-server3-scram-1 zookeeper-server3:2181 1 test-scram-512
# Create user with SCRAM-SHA-512
docker exec apache-apisix-kafka-server3-scram-1 /opt/bitnami/kafka/bin/kafka-configs.sh \
--zookeeper zookeeper-server3:2181 \
Expand Down
Loading