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<------->Packages.zip

(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.

Murano Service Architecture Introducation的更多相关文章

  1. 微服务(Micro Service Architecture)浅析

    最近一段时间,微服务的概念很火,可能是跟Docker技术的快速发展和壮大有一定的关系,同时借助于Uber.Netflix.Groupon等公司的实践.宣传和推广,使得MSA渐渐地成为企业或者架构师讨论 ...

  2. SSRS2:Reporting Service 配置Service Account

    1,Service Account SSRS以一个Service方式实现,有三部分组成:Web Service,Report Manager和一个后台的进程,这个Service运行的账号就是Servi ...

  3. Neutron LBaaS Service(1)—— Neutron LBaaS Service基本知识

    在OpenStack Grizzly版本中,Quantum组件引入了一个新的网络服务:LoadBalancer(LBaaS),服务的架构遵从Service Insertion框架.LoadBalanc ...

  4. Murano Weekly Meeting 2015.10.20

    Meeting time: 2015.October.20th 1:00~2:00 Chairperson:  Serg Melikyan, PTL from Mirantis Meeting sum ...

  5. 5、IMS网元

    1.会话管理和路由类(call session control function,呼叫会话控制功能) (1)代理呼叫会话控制功能P-CSCF 是IMS中与用户的第一个连接点,提供”代理(proxy)“ ...

  6. Atitit jsr规范化分类 attilax总结

    Atitit jsr规范化分类 attilax总结 按照技术类别可以分成以下几类:1.Java EE (39 JSRs) --- J2EE平台规范 2.Java SE (42 JSRs) --- J2 ...

  7. Atitit jsr规范有多少个  407个。Jsr规范大全

    Atitit jsr规范有多少个  407个.Jsr规范大全 1.1. JCP维护职能是发展和更新.1 1.2. Java技术规范.参考实现(RI).技术兼容包(TCK)1 1.3. JCP维护的规范 ...

  8. Adding Swagger to Web API project

    Adding Swagger to Web API project. All source code for this series can be found here. When you creat ...

  9. 微软职位内部推荐-Sr SDE-MODC-Beijing

    微软近期Open的职位: JOB TITLE: Senior Software Design EngineerDEPARTMENT: Microsoft Office Division ChinaIM ...

随机推荐

  1. epoll聊天室的实现

    1.服务端 a. 支持多个用户接入,实现聊天室的基本功能 b. 使用epoll机制实现并发,增加效率 2. 客户端 a. 支持用户输入聊天消息 b. 显示其他用户输入的信息 c. 使用fork创建两个 ...

  2. int类型转换成String , 不足n位 在前面补0

    1.String.format("%02d", 5);-->结果:05 0代表前面要补的字符 2代表字符串长度 d表示参数为整数类型 2.秒转换成时分秒 private St ...

  3. JS中setTimeout()的用法详解

    1. SetTimeOut() 1.1 SetTimeOut()语法例子 1.2 用SetTimeOut()执行Function 1.3 SetTimeOut()语法例子 1.4 设定条件使SetTi ...

  4. onmouseover和onmouseout在GridView中应用 Ver2

    第一个版本,可以参考:http://www.cnblogs.com/insus/archive/2009/03/13/1411057.html 以前的版本,是在Gridview的OnRowCreate ...

  5. Python3中简单的迭代器程序

    1.迭代器程序(实现菲比那次数列并且可以抛出与接收异常) def fib(max): n,a,b = 0,0,1 while n < max: #print(b) yield b a,b = b ...

  6. C - 又见GCD

    有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b.若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c.  Input第一行输入一个n,表示有n组测试数据,接下来 ...

  7. 算法训练 最大的算式(DP)

    问题描述 题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大.因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号 ...

  8. P1114 “非常男女”计划

    题意:给你一个01串,求满足0和1总数相等的最大字串   $n\ \le\ 10^5$ 1.$O(n^3)$枚举起点终点,统计判断是否成立 2.$O(n^2)$先$O(n)$时间计算01个数的前缀和, ...

  9. 本地命令上传文件到服务器以及linux编辑过程中非正常退出问题

    一.上传文件到linux服务器首先从你本地切换到你要上传文件的目录,接下来:scp 文件名字 服务器用户名字@服务器ip:存储路径例子:scp  index.html  root@106.75.229 ...

  10. Spring----. ref的用法

      ref元素是用在property中,来设置需要引用的容器管理的其它Bean.     它的用法:<ref bean|local|parent="someBean"> ...