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