From b13f2c4239fcc1f405380244fdb32a9edcc19777 Mon Sep 17 00:00:00 2001 From: zhangjianweibj Date: Fri, 15 Mar 2019 14:24:17 +0800 Subject: [PATCH] cassandra docker support support docker environment,user can config cassandra option through docker env. Change-Id: I31dfd5eecb34badaffbb9983fa1455d5d9660cd6 --- docker/Dockerfile | 5 +++++ docker/README.rst | 5 +++++ docker/monasca-api.conf.j2 | 18 ++++++++++++++---- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 6c322c9ec..4eeb6253d 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -19,11 +19,16 @@ ENV \ KAFKA_URI=kafka:9092 \ KAFKA_WAIT_FOR_TOPICS=alarm-state-transitions,metrics \ MONASCA_CONTAINER_API_PORT=8070 \ + DATABASE_BACKEND=influxdb \ INFLUX_HOST=influxdb \ INFLUX_PORT=8086 \ INFLUX_USER=mon_api \ INFLUX_PASSWORD=password \ INFLUX_DB=mon \ + CASSANDRA_CONTACT_POINTS=cassandra \ + CASSANDRA_PORT=9042 \ + CASSANDRA_USER=mon_persister \ + CASSANDRA_PASSWORD=password \ MYSQL_HOST=mysql \ MYSQL_USER=monapi \ MYSQL_PASSWORD=password \ diff --git a/docker/README.rst b/docker/README.rst index 7711ed835..3d513ea04 100644 --- a/docker/README.rst +++ b/docker/README.rst @@ -45,11 +45,16 @@ KAFKA_WAIT_FOR_TOPICS alarm-state-transitions,metrics KAFKA_WAIT_RETRIES 24 Number of kafka connect attempts KAFKA_WAIT_DELAY 5 Seconds to wait between attempts MONASCA_CONTAINER_API_PORT 8070 The port from the metric pipeline endpoint +DATABASE_BACKEND influxdb Select for backend database INFLUX_HOST influxdb The host for influxdb INFLUX_PORT 8086 The port for influxdb INFLUX_USER mon_api The influx username INFLUX_PASSWORD password The influx password INFLUX_DB mon The influx database name +CASSANDRA_CONTACT_POINTS cassandra Cassandra node addresses +CASSANDRA_PORT 9042 Cassandra port number +CASSANDRA_USER mon_persister Cassandra user name +CASSANDRA_PASSWORD password Cassandra password MYSQL_DB_HOST mysql The host for MySQL MYSQL_DB_PORT 3306 The port for MySQL MYSQL_DB_USERNAME monapi The MySQL username diff --git a/docker/monasca-api.conf.j2 b/docker/monasca-api.conf.j2 index b0b0d4ff3..dffe7b873 100644 --- a/docker/monasca-api.conf.j2 +++ b/docker/monasca-api.conf.j2 @@ -173,22 +173,28 @@ log_config_append=/etc/monasca/api-logging.conf # # Comma separated list of Cassandra node IP addresses # (list value) -#contact_points = 127.0.0.1 +contact_points = {{ CASSANDRA_CONTACT_POINTS | default('127.0.0.1') }} + +# +# Port to Cassandra server +# (port value) +port = {{ CASSANDRA_PORT | default('9042') }} # # keyspace where metric are stored # (string value) -#keyspace = monasca +keyspace = monasca # # Cassandra user for monasca-api service # (string value) -#user = +user = {{ CASSANDRA_USER }} # # Cassandra user password for monasca-api service # (string value) -#password = +password = {{ CASSANDRA_PASSWORD }} + [database] @@ -769,7 +775,11 @@ driver = monasca_api.common.messaging.kafka_publisher:KafkaPublisher # Advanced Option: intended for advanced users and not used # by the majority of users, and might have a significant # effect on stability and/or performance. +{% if DATABASE_BACKEND | lower == 'cassandra' %} +metrics_driver = monasca_api.common.repositories.cassandra.metrics_repository:MetricsRepository +{% else %} metrics_driver = monasca_api.common.repositories.influxdb.metrics_repository:MetricsRepository +{% endif %} # # The repository driver to use for alarm definitions