From 3d5bd4769853ea950e97f5eaa54d94e422317806 Mon Sep 17 00:00:00 2001 From: Jason Fox Date: Mon, 4 Jun 2018 17:57:44 +0200 Subject: [PATCH] Add backend.enable option to Postgres * Add default `postgresql-sink.backend.enable_cache = false` to `agent.conf` file * Amend entrypoint to overwrite default if `CYGNUS_POSTGRESQL_ENABLE_CACHE` environment variable is set. * Amend Dockerfile to use COPY rather than bash cp. Note that `agent.conf` must be copied twice, since the docker-cygnus agent version is used if `CYGNUS_MULTIAGENT` is not set. --- docker/cygnus-ngsi/Dockerfile | 11 +++++++---- docker/cygnus-ngsi/agent.conf | 1 + docker/cygnus-ngsi/cygnus-entrypoint.sh | 3 +++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/docker/cygnus-ngsi/Dockerfile b/docker/cygnus-ngsi/Dockerfile index b48b02107..f6d124d9a 100644 --- a/docker/cygnus-ngsi/Dockerfile +++ b/docker/cygnus-ngsi/Dockerfile @@ -134,6 +134,7 @@ ENV CYGNUS_POSTGRESQL_ATTR_PERSISTENCE "" ENV CYGNUS_POSTGRESQL_BATCH_SIZE "" ENV CYGNUS_POSTGRESQL_BATCH_TIMEOUT "" ENV CYGNUS_POSTGRESQL_BATCH_TTL "" +ENV CYGNUS_POSTGRESQL_ENABLE_CACHE "" # Carto options ENV CYGNUS_CARTO_USER "" @@ -231,10 +232,12 @@ RUN \ ${FLUME_HOME}/plugins.d/cygnus/lib/cygnus-ngsi-${CYGNUS_VERSION}-jar-with-dependencies.jar && \ rm -f ${FLUME_HOME}/plugins.d/cygnus/libext/cygnus-common-${CYGNUS_VERSION}-jar-with-dependencies.jar && \ rm -f ${FLUME_HOME}/plugins.d/cygnus/lib/cygnus-ngsi-${CYGNUS_VERSION}-jar-with-dependencies.jar && \ - echo "INFO: Copy some files needed for starting cygnus-ngsi" && \ - cp -p ${CYGNUS_HOME}/docker/cygnus-ngsi/cygnus-entrypoint.sh / && \ - cp -p ${CYGNUS_HOME}/docker/cygnus-ngsi/agent.conf ${FLUME_HOME}/conf/ && \ - cp -p ${CYGNUS_HOME}/docker/cygnus-ngsi/cartodb_keys.conf ${FLUME_HOME}/conf/ + + +COPY cygnus-entrypoint.sh / +COPY agent.conf ${FLUME_HOME}/conf/ +COPY agent.conf ${CYGNUS_HOME}/docker/cygnus-ngsi/agent.conf +COPY cartodb_keys.conf ${FLUME_HOME}/conf/ # Define the entry point ENTRYPOINT ["/cygnus-entrypoint.sh"] diff --git a/docker/cygnus-ngsi/agent.conf b/docker/cygnus-ngsi/agent.conf index c30e05da6..86df92f60 100644 --- a/docker/cygnus-ngsi/agent.conf +++ b/docker/cygnus-ngsi/agent.conf @@ -164,6 +164,7 @@ cygnus-ngsi.sinks.postgresql-sink.postgresql_password = #cygnus-ngsi.sinks.postgresql-sink.batch_size = 1 #cygnus-ngsi.sinks.postgresql-sink.batch_timeout = 30 #cygnus-ngsi.sinks.postgresql-sink.batch_ttl = 10 +#cygnus-ngsi.sinks.postgresql-sink.backend.enable_cache = false cygnus-ngsi.channels.mysql-channel.type = com.telefonica.iot.cygnus.channels.CygnusMemoryChannel diff --git a/docker/cygnus-ngsi/cygnus-entrypoint.sh b/docker/cygnus-ngsi/cygnus-entrypoint.sh index 75249a395..0ce050f6c 100755 --- a/docker/cygnus-ngsi/cygnus-entrypoint.sh +++ b/docker/cygnus-ngsi/cygnus-entrypoint.sh @@ -349,6 +349,9 @@ if [ "$CYGNUS_POSTGRESQL_HOST" != "" ]; then if [ "$CYGNUS_POSTGRESQL_BATCH_TTL" != "" ]; then sed -i '/#'${CYGNUS_AGENT_NAME}'.sinks.postgresql-sink.batch_ttl/c '${CYGNUS_AGENT_NAME}'.sinks.postgresql-sink.batch_ttl = '${CYGNUS_POSTGRESQL_BATCH_TTL} ${FLUME_HOME}/conf/${AGENT_CONF_FILE} fi + if [ "$CYGNUS_POSTGRESQL_ENABLE_CACHE" != "" ]; then + sed -i '/#'${CYGNUS_AGENT_NAME}'.sinks.postgresql-sink.backend.enable_cache/c '${CYGNUS_AGENT_NAME}'.sinks.postgresql-sink.backend.enable_cache = '${CYGNUS_POSTGRESQL_ENABLE_CACHE} ${FLUME_HOME}/conf/${AGENT_CONF_FILE} + fi if [ "${CYGNUS_MULTIAGENT,,}" == "true" ]; then # Run the Cygnus command