CouchDB 配置组¶
Launchpad 蓝图: https://blueprints.launchpad.net/trove/+spec/couchdb-configuration-groups
问题描述¶
CouchDB 数据存储当前不支持配置组。
提议的变更¶
补丁集将为 CouchDB 实现配置组。
CouchDB 将其配置存储在 ‘local.ini’ 文件中。
大多数配置属性将通过配置组可用。然而,有些在 Trove 环境下没有意义。
这些包括(将在配置模板中记录):
guestagent 特定的(例如,文件路径、密码、文件访问规则)
Trove 需要控制的项目(复制/集群/日志属性)
请参阅 可用配置属性 以获取支持的选项的完整列表。
配置¶
无
数据库¶
无
公共 API¶
无
公共 API 安全¶
无
Python API¶
无
CLI (python-troveclient)¶
无
内部 API¶
Guest Agent¶
在 manager 和 service 模块中实现 update_overrides 和 apply_overrides。
将提供一个配置模板和验证规则,更改将在 可用配置属性 中注明。
现有的 ‘IniCodec’ 实现将被重用以处理文本文件操作。
备选方案¶
无
Dashboard 影响 (UX)¶
无
实现¶
负责人¶
Sonali Goyal <sonaligoyal654321@gmail.com> Victoria Martinez de la Cruz <victoria@redhat.com>
里程碑¶
Netwon-1
工作项¶
所有更改将在单个任务的上下文中完成。
实现与配置相关的 manager API 调用
def update_overrides(self, context, overrides, remove=False) def apply_overrides(self, context, overrides)
升级影响¶
无
依赖项¶
补丁集将在蓝图的基础上构建:couchdb-database-user-functions
测试¶
该更改大部分被现有的配置测试覆盖。将添加单元测试以验证任何 CouchDB 特定的代码路径。
文档影响¶
数据存储文档应更新以反映启用的功能。
参考资料¶
CouchDB 配置文档: http://docs.couchdb.org/en/stable/config/index.html
附录¶
可用配置属性¶
- 用户可以通过 Trove API 配置的属性
[attachments] - compressible_types - compression_level [couchdb] - delayed_commits - max_attachment_chunk_size - attachment_stream_buffer_size - max_dbs_open - max_document_size - os_process_timeout [daemons] - auth_cache - db_update_notifier - external_manager - httpd - httpsd - query_servers - stats_aggregator - stats_collector - uuids - view_manager - vhosts [httpd] - allow_jsonp - authentication_handlers - changes_timeout - config_whitelist - default_handler - enable_cors - log_max_chunk_size - redirect_vhost_handler - secure_rewrites - server_options - socket_options - vhost_global_handlers - x_forwarded_host - x_forwarded_proto - x_forwarded_ssl [replicator] - checkpoint_interval - connection_timeout - db - http_connections - max_replication_retry_count - retries_per_request - socket_options - ssl_certificate_max_depth - ssl_trusted_certificates_file - use_checkpoints - verify_ssl_certificates - worker_batch_size - worker_processes [query_server_config] - commit_freq - os_process_limit - reduce_limit [os_daemon_settings] - max_retries - retry_time [couch_httpd_auth] - allow_persistent_cookies - auth_cache_size - authentication_db - authentication_redirect - iterations - max_iterations - min_iterations - proxy_use_secret - public_fields - require_valid_user - secret - timeout - users_db_public - x_auth_roles - x_auth_token - x_auth_username - use_users_db [compaction_daemon] - check_interval - min_file_size [database_compaction] - doc_buffer_size - checkpoint_after [log] - include_sasl - level [view_compaction] - keyvalue_buffer_size
Guestagent 控制的属性
[httpd] - port - bind_address [log] - file [couchdb] - uri_file - util_driver_dir - view_index_dir - database_dir