Added mysql ssl support

Change-Id: I274c58e3ebc05845bfb7992e4a2c5b68704f0e22
This commit is contained in:
Tim Kuhlman 2014-12-03 16:12:43 -07:00
parent ebc3c7fc89
commit f85cc90f22
3 changed files with 11 additions and 3 deletions

View File

@ -128,6 +128,10 @@ def main(argv=None):
# AlarmProcessors
alarm_processors = []
if 'ssl' in config['mysql']:
ssl_config = config['mysql']['ssl']
else:
ssl_config = None
for i in range(config['processors']['alarm']['number']):
alarm_processors.append(multiprocessing.Process(
target=AlarmProcessor(
@ -138,7 +142,8 @@ def main(argv=None):
config['mysql']['host'],
config['mysql']['user'],
config['mysql']['passwd'],
config['mysql']['db']
config['mysql']['db'],
ssl_config
).run),
)
processors.extend(alarm_processors)

View File

@ -30,7 +30,7 @@ log = logging.getLogger(__name__)
class AlarmProcessor(BaseProcessor):
def __init__(
self, alarm_queue, notification_queue, finished_queue,
alarm_ttl, mysql_host, mysql_user, mysql_passwd, dbname):
alarm_ttl, mysql_host, mysql_user, mysql_passwd, dbname, mysql_ssl=None):
self.alarm_queue = alarm_queue
self.alarm_ttl = alarm_ttl
self.notification_queue = notification_queue
@ -38,7 +38,8 @@ class AlarmProcessor(BaseProcessor):
self.monascastatsd = mstatsd.Client(name='monasca',
dimensions=BaseProcessor.dimensions)
try:
self.mysql = MySQLdb.connect(host=mysql_host, user=mysql_user, passwd=mysql_passwd, db=dbname)
self.mysql = MySQLdb.connect(host=mysql_host, user=mysql_user, passwd=mysql_passwd, db=dbname,
ssl=mysql_ssl)
self.mysql.autocommit(True)
except:
log.exception('MySQL connect failed')

View File

@ -10,6 +10,8 @@ mysql:
user: notification
passwd: password
db: mon
# A dictionary set according to the params defined in, http://dev.mysql.com/doc/refman/5.0/en/mysql-ssl-set.html
# ssl: {'ca': '/path/to/ca'}
email:
server: 192.168.10.4