From 87938f738eafb12c56ce5211e59b3c1b19362fb7 Mon Sep 17 00:00:00 2001 From: Mirek Malinowski Date: Wed, 30 Mar 2022 19:52:50 +0100 Subject: [PATCH] Add SSL support for InfluxDB connection. Added ssl and verify_ssl options to influxdb config Task: 44888 Story: 2009950 Change-Id: Icfe06233a178a5383441db6d87d46b93b6a63757 --- monasca_persister/README.md | 3 +++ monasca_persister/conf/influxdb.py | 6 ++++++ .../repositories/influxdb/abstract_repository.py | 10 ++++++---- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/monasca_persister/README.md b/monasca_persister/README.md index c98b7ab8..284c1984 100644 --- a/monasca_persister/README.md +++ b/monasca_persister/README.md @@ -104,6 +104,7 @@ sudo chmod 640 /etc/monasca/monasca-persister.conf Most of the configuration options should be left at default, but at a minimum, the following should be changed: +The default value for influxdb ssl and verify_ssl is False. Only add/change if your influxdb is using SSL. ``` [zookeeper] @@ -121,6 +122,8 @@ ip_address = port = user = password = +ssl = +verify_ssl = ``` ### Running diff --git a/monasca_persister/conf/influxdb.py b/monasca_persister/conf/influxdb.py index 1f3020e7..13b6a8c8 100644 --- a/monasca_persister/conf/influxdb.py +++ b/monasca_persister/conf/influxdb.py @@ -36,6 +36,12 @@ influxdb_opts = [ cfg.PortOpt('port', help='port to influxdb', default=8086), + cfg.BoolOpt('ssl', + help='Boolean', + default=False), + cfg.BoolOpt('verify_ssl', + help='Boolean', + default=False), cfg.StrOpt('user', help='influxdb user ', default='mon_persister'), diff --git a/monasca_persister/repositories/influxdb/abstract_repository.py b/monasca_persister/repositories/influxdb/abstract_repository.py index 34e40570..33746269 100644 --- a/monasca_persister/repositories/influxdb/abstract_repository.py +++ b/monasca_persister/repositories/influxdb/abstract_repository.py @@ -28,10 +28,12 @@ class AbstractInfluxdbRepository(abstract_repository.AbstractRepository, metacla super(AbstractInfluxdbRepository, self).__init__() self.conf = cfg.CONF self._influxdb_client = influxdb.InfluxDBClient( - self.conf.influxdb.ip_address, - self.conf.influxdb.port, - self.conf.influxdb.user, - self.conf.influxdb.password) + host=self.conf.influxdb.ip_address, + port=self.conf.influxdb.port, + username=self.conf.influxdb.user, + password=self.conf.influxdb.password, + ssl=self.conf.influxdb.ssl, + verify_ssl=self.conf.influxdb.verify_ssl) if self.conf.influxdb.db_per_tenant: self.data_points_class = data_points.DataPointsAsDict else: