Clearwater Murano application¶
https://blueprints.launchpad.net/murano-apps/+spec/clearwater-vims-implementation
Problem description¶
It must be possible to deploy and manage lifecycle of Clearwater vIMS. Clearwater vIMS consists of several components:
- Bono (Edge Proxy)
- Sprout (SIP Router)
- Homestead (HSS Cache)
- Homer (XDMS storage)
- Ellis (provisioning portal)
- Ralf (CTF)
Additionally following DNS server application should be written: * BIND
Clearwater deployment diagram
+----------+
| |
| Ellis |
HTTP | |
+------+ +-----+
| | | | HTTP
| +----------+ |
| |
+-----+-----+ +-----+-----+ +------------------+
| | | | | |
| Homer | | Homestead | |Client SIP software
| | XCAP SIP | | | |
| +--+ +--+ | +---------------+--+
| | | | | | ^
+-----------+ | | +-----------+ |
| | |
| | |
+------------+ +-+-----+----+ +------------+ |
| | HTTP | | SIP | | SIP |
| Ralf +---------+ Sprout +----------+ Bono +---------+
| | | | | |
| | | | | |
| | | | | |
+------+-----+ +------------+ +---+--------+
| |
| HTTP |
+-------------------------------------------+
More details about Clearwater components may be found at http://www.projectclearwater.org
Proposed changes¶
Separate application should be written for each of Clearwater components. One more application should be written for aggregation of all components (Clearwater main application).
Main application input parameters:
- OS image for deploy
- user keypair name
- zone name
- DNSSEC key
This parameters should be passed to child components.
Components input parameters:
- Flavour for instances
- Count of instances
Main application workflow
- Instantiate child applications
- Create common networks and security group
- Call child applications deploy() method
Components have to be deployed in following order:
- DNS application
- One application with initial etcd cluster node (Ellis preferred)
- Rest of applications
Components common workflow
- Find main application for common properties retrieving
- Create security group for application
- Create instances
- Create deploy scripts from templates
- Run deploy scripts
For components (except DNS server) following actions must be provided:
- Scale Up - add additional node to cluster
- Scale Down - remove node from cluster
Both actions can be implemented in two steps:
- add/remove node to/from component object model
- update appropriate DNS records
Data model impact¶
None
REST API impact¶
None
Versioning impact¶
None
Other end user impact¶
None
Deployer impact¶
None
Developer impact¶
None
Murano-dashboard / Horizon impact¶
None
Implementation¶
Assignee(s)¶
Konstantin <ksnihyr@mirantis.com>
Work Items¶
- Create Clearwater application prototype
- Extend Clearwater application functionality using current Core Library
- Add Scalable Application Framework support
Dependencies¶
Testing¶
- Clearwater live tests can be used for testing installation.
Documentation Impact¶
None