Change-Id: If8da20b702ac77996b7bdaa59e5f897ab40d0528
3.2 KiB
External MongoDB Support
https://blueprints.launchpad.net/fuel/+spec/external-mongodb-support
Be ably to use external specific MongoDB as ceilometer backend.
Problem description
A detailed description of the problem:
- Currently we're providing MongoDB from the box, although, it might be a situation when some specific MongoDB installation is needed. That's why we need to give possibility of external MongoDB providing not to implement all possible DB settings inside Fuel itself.
Proposed change
External MongoDB support can be implemented by adding checkbox and textboxes to Fuel UI for specifying such parameters as:
- db_username
- db_user_password
- db_name
- mongodb_hosts
Also we shouldn't allow to deploy cluster with mongo role and even choose mongo role on node if external mongo is enabled.
Alternatives
Add posibility to specify connection to database but it's difficult to validate connection string instead of validating separated parameters.
Data model impact
None
REST API impact
None
Upgrade impact
This is needed in changes in puppet scripts and fuel UI. In Fuel Web UI we need to add one checkbox to choose external MongoDB to use and four textboxes for separated MongoDB parameters such as: db_username, db_user_password, db_name, db_hosts_ips. Pick Mongo role on node should be forbidden if external mongo is chosen. In puppet scripts we should use this parameters to set connection string to MongoDB for ceilometer in ceilometer.conf.
Security impact
None
Notifications impact
None
Other end user impact
Users will interact with this feauture through Fuel Web UI.
Performance Impact
None
Other deployer impact
Is this a change that takes immediate effect after its merged, or is it something that has to be explicitly enabled?
This should be enabled by using Fuel Web UI.
Developer impact
Discuss things that will affect other developers working on Fuel, such as:
- There will be an impact on ceilometer that have to be enabled and it's checkbox should present (and should be checked) on Fuel Web UI.
Implementation
Assignee(s)
- Primary assignee:
-
iberezovskiy
- Other contributors:
-
dbelova
Work Items
- Edit Fuel Web UI by adding checkbox and textboxes for MongoDB auth parameters (iberezovskiy)
- Validate user input (iberezovskiy)
- Forbid to choose mongo role (iberezovskiy)
- Edit puppet scripts to use these parameters (iberezovskiy)
- Write a documentation (dbelova)
Dependencies
None
Testing
Testing approach:
- Nailgun tests should be passed
- Environment with ceilometer and external mongo should be successfully deployed
Documentation Impact
A note should be added to Fuel User Guide to describe the possibility to specify external MongoDB to use.
References
None