def set_configuration_options(self, values=None): if values is not None: self._config_options = common.merge_configuration(self._config_options, values) self._persist_config() self.__update_topology_files() return self
def set_dse_configuration_options(self, values=None): if values is not None: self._dse_config_options = common.merge_configuration(self._dse_config_options, values) self._update_config() for node in list(self.nodes.values()): node.import_dse_config_files() return self
def test_merge_configuration(self): # test for merging dict val in key, value pair dict0 = dict1 = {'key': {'val1': True}} dict2 = {'key': {'val2': False}} for k, v in dict2.items(): dict0[k].update(v) self.assertEqual(common.merge_configuration(dict1, dict2), dict0) # test for merging str val in key, value pair dict0 = dict1 = {'key': 'val1'} dict2 = {'key': 'val2'} for k, v in dict2.items(): dict0[k] = v self.assertEqual(common.merge_configuration(dict1, dict2), dict0)
def __update_yaml(self): conf_file = os.path.join(self.get_path(), 'resources', 'dse', 'conf', 'dse.yaml') with open(conf_file, 'r') as f: data = yaml.load(f) data['system_key_directory'] = os.path.join(self.get_path(), 'keys') # Get a map of combined cluster and node configuration with the node # configuration taking precedence. full_options = common.merge_configuration( self.cluster._dse_config_options, self._dse_config_options, delete_empty=False) # Merge options with original yaml data. data = common.merge_configuration(data, full_options) with open(conf_file, 'w') as f: yaml.safe_dump(data, f, default_flow_style=False)
def set_configuration_options(self, values=None, delete_empty=False, delete_always=False): if values is not None: self._config_options = common.merge_configuration( self._config_options, values, delete_empty=delete_empty, delete_always=delete_always) self._persist_config() self.__update_topology_files() return self
def set_dse_configuration_options(self, values=None): if values is not None: self._dse_config_options = common.merge_configuration( self._dse_config_options, values) self.import_dse_config_files()
def set_dse_configuration_options(self, values=None): if values is not None: self._dse_config_options = common.merge_configuration(self._dse_config_options, values) self.import_dse_config_files()