Murano Service Architecture Introducation
2015-08-06 17:36
507 查看
1. Murano Project Mission
From the third-party tool developer’s perspective,
the application catalog will provide a way to publish applications and services,
including deployment rules and requirements, suggested configuration, output parameters and billing rules.
It will also provide a way to track billing and usage information.
From the user’s perspective, the application catalog will be a place to find and self-provision third-party applications and services,
integrate them into their environment, and track usage information and costs.
2.Modules in Murano
<------->Deployments
Session<------->Environment
<------->Applications<------->Packages<------->Packages Classification[b]<------->Packages.zip[/b]
(1) Environment
At first, If we want to deploy an application, we need an environment as a container for application.
In fact, we can only deploy an environment, not an application.
We can find murano environments in this place: Horizon->Murano->Application Catalog->Environments
Input Environment Name to create an murano environments.
(2)Mirror Images
We need to mark images from glance, because it is necessary to choose image when deploying an environment.
(3)Packages Setup
we can setup packages into murano environment by local files, URL and repository like below.
(4)Packages Classification
Also we can classify package application as below by adding categories or deleting.
(5)Add application to environment
drag applications to environment and it is ready for deployment.
3. Murano Service Architecture
The snapshot is about the murano service file catalog.
(1) cmd provide the interface for external system. For example, Murano Rest API.
Murano Rest API is developed by Eventlet.wsgi, and also Webob library provide an encapsulation of Request and Response.
Murano engine provide rpc service for inner system.
cmd is the entry for Murano Service launch like other OpenStack project.
(2) api provide the Rest API route in the router.py.
It obviously provide the function like GET,PUT,POST and DELETE.
The interfaces implemented as follows and so on:
a. environment create, delete, rename, show single one or list.
b. sessions show, configure, delete and deploy.
c. package create, delete, import, download, show single one or list.
d. category create, delete, show single one or list.
(3) common provide base classes and services for Murano Service.
Also it include some helps, consts and exception defination.
(4) db provide database models and implementation of database operation.
For example, Add, Modify, Delete and Query.
Murano use Alembic library to migrate dabase upgrade or downgrade.
The Alembic script include database table alter or data change.
(5) dsl means Domain Specify Language.
This directory include these functions like that
Murano package resolver and Murano yaql resolver.
(6) engine is the core of Murano.
it makes a maintenance of Murano environment,
and makes an client manager with heat, keystone, mistral and so on.
(7) openstack will be removed in current master verison.
This directory is unused now.
(8) packages include the solutiuon of Murano PL package and HOT package.
This module is in charge of validate and analyze the Murano PL package and HOT package.
(9) tests include the unit test, funcitonal test.
It is almost Code Architecture Introducation about Murano.
From the third-party tool developer’s perspective,
the application catalog will provide a way to publish applications and services,
including deployment rules and requirements, suggested configuration, output parameters and billing rules.
It will also provide a way to track billing and usage information.
From the user’s perspective, the application catalog will be a place to find and self-provision third-party applications and services,
integrate them into their environment, and track usage information and costs.
2.Modules in Murano
<------->Deployments
Session<------->Environment
<------->Applications<------->Packages<------->Packages Classification[b]<------->Packages.zip[/b]
(1) Environment
At first, If we want to deploy an application, we need an environment as a container for application.
In fact, we can only deploy an environment, not an application.
We can find murano environments in this place: Horizon->Murano->Application Catalog->Environments
Input Environment Name to create an murano environments.
(2)Mirror Images
We need to mark images from glance, because it is necessary to choose image when deploying an environment.
(3)Packages Setup
we can setup packages into murano environment by local files, URL and repository like below.
(4)Packages Classification
Also we can classify package application as below by adding categories or deleting.
(5)Add application to environment
drag applications to environment and it is ready for deployment.
3. Murano Service Architecture
The snapshot is about the murano service file catalog.
(1) cmd provide the interface for external system. For example, Murano Rest API.
Murano Rest API is developed by Eventlet.wsgi, and also Webob library provide an encapsulation of Request and Response.
Murano engine provide rpc service for inner system.
cmd is the entry for Murano Service launch like other OpenStack project.
(2) api provide the Rest API route in the router.py.
It obviously provide the function like GET,PUT,POST and DELETE.
The interfaces implemented as follows and so on:
a. environment create, delete, rename, show single one or list.
b. sessions show, configure, delete and deploy.
c. package create, delete, import, download, show single one or list.
d. category create, delete, show single one or list.
(3) common provide base classes and services for Murano Service.
Also it include some helps, consts and exception defination.
(4) db provide database models and implementation of database operation.
For example, Add, Modify, Delete and Query.
Murano use Alembic library to migrate dabase upgrade or downgrade.
The Alembic script include database table alter or data change.
(5) dsl means Domain Specify Language.
This directory include these functions like that
Murano package resolver and Murano yaql resolver.
(6) engine is the core of Murano.
it makes a maintenance of Murano environment,
and makes an client manager with heat, keystone, mistral and so on.
(7) openstack will be removed in current master verison.
This directory is unused now.
(8) packages include the solutiuon of Murano PL package and HOT package.
This module is in charge of validate and analyze the Murano PL package and HOT package.
(9) tests include the unit test, funcitonal test.
It is almost Code Architecture Introducation about Murano.
相关文章推荐
- jQuery动态星级评分效果实现方法
- Linux crontab 命令格式与详细例子
- Leetcode 201 Bitwise AND of Numbers Range 区间内整数按位与
- CALayer
- ROS导航中 的位姿描述
- [转编]windows下nginx默认80端口被System占用,造成nginx启动报错的解决方案
- Spring注解运行时抛出null
- MUI-ActionSheet动作菜单
- if……then
- 常用MySQL命令
- IOSTAT中关于%util,svctm存在的陷阱及解决办法
- 【转】2013 PHP技术峰会《Bug Free的PHP开发实践分享》摘录
- java-ToStringBuilder介绍
- HDU 5355 Cake
- bzoj 1030
- Xamarin安装和跳坑指南
- iOS 导航栏返回按钮时间action获取
- Java程序设计之算出一年第多少天
- bzoj 1030 分类: bzoj templates 2015-08-06 17:34 10人阅读 评论(0) 收藏
- 【Thinking in Java】编写构造器时应注意:尽量避免调用其他非private方法