This is an automated email from the ASF dual-hosted git repository.

jonzeolla pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/metron-bro-plugin-kafka.git


The following commit(s) were added to refs/heads/master by this push:
     new cecf443  METRON-2349 [BRO-PLUGIN-KAFKA] Fix hard coded topic_name in 
e2e tests (JonZeolla) closes apache/metron-bro-plugin-kafka#43
cecf443 is described below

commit cecf443d0e0aeabe303f9fd056ed0f1c8ce602c7
Author: JonZeolla <[email protected]>
AuthorDate: Thu Apr 30 07:44:31 2020 -0400

    METRON-2349 [BRO-PLUGIN-KAFKA] Fix hard coded topic_name in e2e tests 
(JonZeolla) closes apache/metron-bro-plugin-kafka#43
---
 docker/README.md                                   |  4 ++
 docker/in_docker_scripts/configure_bro_plugin.sh   | 44 +++++++++++++++++++++-
 docker/run_end_to_end.sh                           |  2 +-
 .../scripts/docker_execute_configure_bro_plugin.sh | 20 +++++++---
 4 files changed, 63 insertions(+), 7 deletions(-)

diff --git a/docker/README.md b/docker/README.md
index 6fa1972..3653181 100644
--- a/docker/README.md
+++ b/docker/README.md
@@ -53,6 +53,10 @@ testing scripts to be added to a pull request, and 
subsequently to a test suite.
 
 - `build_bro_plugin.sh`: Runs `bro-pkg` to build and install the provided 
version of the plugin.
 - `configure_bro_plugin.sh`: Configures the plugin for the kafka container, 
and routes all traffic types.
+  ###### Parameters
+  ```bash
+  --kafka-topic                  [OPTIONAL] The kafka topic to configure. 
Default: bro"
+  ```
 - `process_data_file.sh`: Runs `bro -r` on the passed file
 
 
diff --git a/docker/in_docker_scripts/configure_bro_plugin.sh 
b/docker/in_docker_scripts/configure_bro_plugin.sh
index c292504..2b3235a 100755
--- a/docker/in_docker_scripts/configure_bro_plugin.sh
+++ b/docker/in_docker_scripts/configure_bro_plugin.sh
@@ -25,11 +25,53 @@ shopt -s nocasematch
 # Configures the plugin for all the traffic types
 #
 
+function help {
+  echo " "
+  echo "usage: ${0}"
+  echo "    --kafka-topic                  [OPTIONAL] The kafka topic to 
configure. Default: bro"
+  echo "    -h/--help                      Usage information."
+  echo " "
+  echo " "
+}
+
+KAFKA_TOPIC=bro
+
+# Handle command line options
+for i in "$@"; do
+  case $i in
+  #
+  # KAFKA_TOPIC
+  #
+  #   --kafka-topic
+  #
+    --kafka-topic=*)
+      KAFKA_TOPIC="${i#*=}"
+      shift # past argument=value
+    ;;
+  #
+  # -h/--help
+  #
+    -h | --help)
+      help
+      exit 0
+      shift # past argument with no value
+    ;;
+  #
+  # Unknown option
+  #
+    *)
+      UNKNOWN_OPTION="${i#*=}"
+      echo "Error: unknown option: $UNKNOWN_OPTION"
+      help
+    ;;
+  esac
+done
+
 echo "Configuring kafka plugin"
 {
   echo "@load packages"
   echo "redef Kafka::logs_to_send = set(HTTP::LOG, DNS::LOG, Conn::LOG, 
DPD::LOG, FTP::LOG, Files::LOG, Known::CERTS_LOG, SMTP::LOG, SSL::LOG, 
Weird::LOG, Notice::LOG, DHCP::LOG, SSH::LOG, Software::LOG, RADIUS::LOG, 
X509::LOG, Known::DEVICES_LOG, RFB::LOG, Stats::LOG, CaptureLoss::LOG, 
SIP::LOG);"
-  echo "redef Kafka::topic_name = \"bro\";"
+  echo "redef Kafka::topic_name = \"${KAFKA_TOPIC}\";"
   echo "redef Kafka::tag_json = T;"
   echo "redef Kafka::kafka_conf = table([\"metadata.broker.list\"] = 
\"kafka:9092\");"
   echo "redef Kafka::logs_to_exclude = set(Conn::LOG, DHCP::LOG);"
diff --git a/docker/run_end_to_end.sh b/docker/run_end_to_end.sh
index 1fcd553..ec5f7b0 100755
--- a/docker/run_end_to_end.sh
+++ b/docker/run_end_to_end.sh
@@ -198,7 +198,7 @@ rc=$?; if [[ ${rc} != 0 ]]; then
 fi
 
 # Configure the bro plugin
-bash "${SCRIPT_DIR}"/docker_execute_configure_bro_plugin.sh
+bash "${SCRIPT_DIR}"/docker_execute_configure_bro_plugin.sh 
--kafka-topic="${KAFKA_TOPIC}"
 rc=$?; if [[ ${rc} != 0 ]]; then
   echo "ERROR> FAILED TO CONFIGURE PLUGIN.  CHECK LOGS  ${rc}"
   exit ${rc}
diff --git a/docker/scripts/docker_execute_configure_bro_plugin.sh 
b/docker/scripts/docker_execute_configure_bro_plugin.sh
index 69162c3..ee62a58 100755
--- a/docker/scripts/docker_execute_configure_bro_plugin.sh
+++ b/docker/scripts/docker_execute_configure_bro_plugin.sh
@@ -31,12 +31,14 @@ function help {
   echo " "
   echo "usage: ${0}"
   echo "    --container-name                [OPTIONAL] The Docker container 
name. Default: metron-bro-plugin-kafka_bro_1"
+  echo "    --kafka-topic                   [OPTIONAL] The kafka topic to 
create. Default: bro"
   echo "    -h/--help                       Usage information."
   echo " "
   echo " "
 }
 
 CONTAINER_NAME=metron-bro-plugin-kafka_bro_1
+KAFKA_TOPIC=bro
 
 # Handle command line options
 for i in "$@"; do
@@ -50,7 +52,15 @@ for i in "$@"; do
       CONTAINER_NAME="${i#*=}"
       shift # past argument=value
     ;;
-
+  #
+  # KAFKA_TOPIC
+  #
+  #   --kafka-topic
+  #
+    --kafka-topic=*)
+      KAFKA_TOPIC="${i#*=}"
+      shift # past argument=value
+    ;;
   #
   # -h/--help
   #
@@ -59,7 +69,6 @@ for i in "$@"; do
       exit 0
       shift # past argument with no value
     ;;
-
   #
   # Unknown option
   #
@@ -71,11 +80,12 @@ for i in "$@"; do
   esac
 done
 
-echo "Running docker_execute_configure_bro_plugin with "
-echo "CONTAINER_NAME = $CONTAINER_NAME"
+echo "Running docker_execute_configure_bro_plugin.sh with "
+echo "CONTAINER_NAME = ${CONTAINER_NAME}"
+echo "KAFKA_TOPIC = ${KAFKA_TOPIC}"
 echo "==================================================="
 
-docker exec -w /root "${CONTAINER_NAME}" bash -c 
/root/built_in_scripts/configure_bro_plugin.sh
+docker exec -w /root "${CONTAINER_NAME}" bash -c 
"/root/built_in_scripts/configure_bro_plugin.sh 
--kafka-topic=\"${KAFKA_TOPIC}\""
 rc=$?; if [[ ${rc} != 0 ]]; then
   exit ${rc};
 fi

Reply via email to