Quellcode durchsuchen

ci: delay Kafka topic creation

Zaiming (Stone) Shi vor 3 Jahren
Ursprung
Commit
6d7e6e6ea7

+ 3 - 3
.ci/docker-compose-file/docker-compose-kafka.yaml

@@ -54,7 +54,7 @@ services:
       KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN
       KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL: PLAIN
       KAFKA_JMX_OPTS: "-Djava.security.auth.login.config=/etc/kafka/jaas.conf"
       KAFKA_JMX_OPTS: "-Djava.security.auth.login.config=/etc/kafka/jaas.conf"
       KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "true"
       KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "true"
-      KAFKA_CREATE_TOPICS: test-topic-one-partition:1:1,test-topic-two-partitions:2:1,test-topic-three-partitions:3:1,
+      KAFKA_CREATE_TOPICS_NG: test-topic-one-partition:1:1,test-topic-two-partitions:2:1,test-topic-three-partitions:3:1,
       KAFKA_AUTHORIZER_CLASS_NAME: kafka.security.auth.SimpleAclAuthorizer
       KAFKA_AUTHORIZER_CLASS_NAME: kafka.security.auth.SimpleAclAuthorizer
       KAFKA_SSL_TRUSTSTORE_LOCATION: /var/lib/secret/kafka.truststore.jks
       KAFKA_SSL_TRUSTSTORE_LOCATION: /var/lib/secret/kafka.truststore.jks
       KAFKA_SSL_TRUSTSTORE_PASSWORD: password
       KAFKA_SSL_TRUSTSTORE_PASSWORD: password
@@ -66,8 +66,8 @@ services:
     volumes:
     volumes:
       - emqx-shared-secret:/var/lib/secret
       - emqx-shared-secret:/var/lib/secret
       - ./kafka/jaas.conf:/etc/kafka/jaas.conf
       - ./kafka/jaas.conf:/etc/kafka/jaas.conf
-      - ./kafka/run_add_scram_users.sh:/bin/run_add_scram_users.sh
+      - ./kafka/kafka-entrypoint.sh:/bin/kafka-entrypoint.sh
       - ./kerberos/krb5.conf:/etc/kdc/krb5.conf
       - ./kerberos/krb5.conf:/etc/kdc/krb5.conf
       - ./kerberos/krb5.conf:/etc/krb5.conf
       - ./kerberos/krb5.conf:/etc/krb5.conf
-    command: run_add_scram_users.sh
+    command: kafka-entrypoint.sh
 
 

+ 7 - 0
.ci/docker-compose-file/kafka/run_add_scram_users.sh

@@ -22,6 +22,7 @@ sleep 3
 
 
 echo "+++++++ Starting Kafka ++++++++"
 echo "+++++++ Starting Kafka ++++++++"
 
 
+# fork start Kafka
 start-kafka.sh &
 start-kafka.sh &
 
 
 SERVER=localhost
 SERVER=localhost
@@ -41,6 +42,12 @@ echo "+++++++ Run config commands ++++++++"
 
 
 kafka-configs.sh --bootstrap-server localhost:9092 --alter --add-config 'SCRAM-SHA-256=[iterations=8192,password=password],SCRAM-SHA-512=[password=password]' --entity-type users --entity-name emqxuser
 kafka-configs.sh --bootstrap-server localhost:9092 --alter --add-config 'SCRAM-SHA-256=[iterations=8192,password=password],SCRAM-SHA-512=[password=password]' --entity-type users --entity-name emqxuser
 
 
+echo "+++++++ Creating Kafka Topics ++++++++"
+
+# create topics after re-configuration
+# there seem to be a race condition when creating the topics (too early)
+env KAFKA_CREATE_TOPICS="$KAFKA_CREATE_TOPICS_NG" KAFKA_PORT="$PORT1" create-topics.sh
+
 echo "+++++++ Wait until Kafka ports are down ++++++++"
 echo "+++++++ Wait until Kafka ports are down ++++++++"
 
 
 bash -c 'while printf "" 2>>/dev/null >>/dev/tcp/$0/$1; do sleep 1; done' $SERVER $PORT1
 bash -c 'while printf "" 2>>/dev/null >>/dev/tcp/$0/$1; do sleep 1; done' $SERVER $PORT1