diff --git a/doc/source/index.rst b/doc/source/index.rst index c881943..e44c203 100644 --- a/doc/source/index.rst +++ b/doc/source/index.rst @@ -37,6 +37,16 @@ Newton specs: specs/newton/approved/* specs/newton/implemented/* +========================== +Murano apps Specifications +========================== + +.. toctree:: + :glob: + :maxdepth: 1 + + specs/murano-apps/* + ================== Indices and tables ================== diff --git a/specs/murano-apps/clearwater.rst b/specs/murano-apps/clearwater.rst new file mode 100644 index 0000000..c2b1939 --- /dev/null +++ b/specs/murano-apps/clearwater.rst @@ -0,0 +1,204 @@ +.. + This work is licensed under a Creative Commons Attribution 3.0 Unported + License. + + http://creativecommons.org/licenses/by/3.0/legalcode + +============================= +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 +------------ + +* `OpenStack Heat templates for Clearwater deployments `_ +* `Cloudify TOSCA application `_ + + +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 + +Work Items +---------- + +#. Create Clearwater application prototype +#. Extend Clearwater application functionality using current Core Library +#. Add Scalable Application Framework support + + + +Dependencies +============ + +#. `Scalable Application Framework `_ + +Testing +======= + +#. Clearwater live tests can be used for testing installation. + +Documentation Impact +==================== + +None + + +References +========== + +* `Project Clearwater Home `_ +* `Clearwater documentation `_ +* `Clearwater heat template `_ +* `Clearwater live tests `_