From b2ff13f98042b2467e7a1973bc7c3c27dc0486d4 Mon Sep 17 00:00:00 2001 From: Nikhil B Date: Thu, 28 Apr 2016 09:10:16 +0530 Subject: [PATCH] Using cassandra authentication in discovery Cassandra authentication can be enabled by specifying username and password in testbed.py. All the services accessing cassandra should use those credentials Partial-Bug: 1551969 Change-Id: I662b90a1c68822de13c234d3a2500aad778f7518 --- src/discovery/disc_cassdb.py | 6 ++++-- src/discovery/disc_server.py | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/discovery/disc_cassdb.py b/src/discovery/disc_cassdb.py index a284bbf28bf..03ce66b00a9 100644 --- a/src/discovery/disc_cassdb.py +++ b/src/discovery/disc_cassdb.py @@ -30,7 +30,9 @@ def get_db_info(cls): return db_info # end get_db_info - def __init__(self, module, cass_srv_list, config_log, reset_config=False, db_prefix=None): + def __init__(self, module, cass_srv_list, config_log, reset_config=False, + db_prefix=None, cass_credential=None): + self._debug = { 'db_upd_oper_state': 0, 'db_upd_admin_state': 0, @@ -44,7 +46,7 @@ def __init__(self, module, cass_srv_list, config_log, reset_config=False, db_pre super(DiscoveryCassandraClient, self).__init__( cass_srv_list, db_prefix, keyspaces, None, - config_log, reset_config=reset_config) + config_log, reset_config=reset_config, credential=cass_credential) DiscoveryCassandraClient._disco_cf = self._cf_dict[self._DISCOVERY_CF_NAME] #end __init__ diff --git a/src/discovery/disc_server.py b/src/discovery/disc_server.py index 9659f0e147f..d52e5548d5f 100644 --- a/src/discovery/disc_server.py +++ b/src/discovery/disc_server.py @@ -335,9 +335,14 @@ def get_service_config(self, service_type, item): # end def _db_connect(self, reset_config): + cred = None + if 'cassandra' in self.cassandra_config.keys(): + cred = {'username':self.cassandra_config['cassandra']\ + ['cassandra_user'],'password':self.cassandra_config\ + ['cassandra']['cassandra_password']} self._db_conn = DiscoveryCassandraClient("discovery", self._args.cassandra_server_list, self.config_log, reset_config, - self._args.cluster_id) + self._args.cluster_id, cred) # end _db_connect def cleanup(self):