5.2 KiB
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
Alternatives
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