trove datastore 浅析
以下代码来自trove/datastore
该目录下一共有4个文件__init__,views,models,service 大概关系(主要是wsgi吧,没仔细学过,简单的从代码上做推测),
service接收api发来的请求,然后将请求的内容作为参数发给models里面做处理,
models处理完之后,
再转给views,最后由service通过wsgi的方式反馈。 以下是trove/datastore/service的代码 from trove.common import wsgi
from trove.datastore import models, views
from trove.flavor import views as flavor_views class DatastoreController(wsgi.Controller): def show(self, req, tenant_id, id): 这个应该是根据id来查询数据库和数据库版本
datastore = models.Datastore.load(id) 首先是根据id查找出数据库
datastore_versions = (models.DatastoreVersions.load(datastore.id)) 根据数据库的id载入其版本情况
return wsgi.Result(views.
DatastoreView(datastore, datastore_versions, 将数据库和数据库版本作为参数提交给view,view会返回一个字典类型,其中包括
req).data(), 200) id,name,links def index(self, req, tenant_id): 索引
context = req.environ[wsgi.CONTEXT_KEY] 接受上下文
only_active = True 将只返回active的数据库设置为true
if context.is_admin: 如果是admin用户的话,则返回所有状态的数据库
only_active = False
datastores = models.Datastores.load(only_active) 查找数据库
datastores_versions = models.DatastoreVersions.load_all(only_active) 查找所有的版本
return wsgi.Result(views.
DatastoresView(datastores, datastores_versions,
req).data(), 200) def version_show(self, req, tenant_id, datastore, id): 显示数据库版本
datastore = models.Datastore.load(datastore)
datastore_version = models.DatastoreVersion.load(datastore, id)
return wsgi.Result(views.DatastoreVersionView(datastore_version,
req).data(), 200) def version_show_by_uuid(self, req, tenant_id, uuid): 根据uuid显示
datastore_version = models.DatastoreVersion.load_by_uuid(uuid)
return wsgi.Result(views.DatastoreVersionView(datastore_version,
req).data(), 200) def version_index(self, req, tenant_id, datastore): 版本索引
context = req.environ[wsgi.CONTEXT_KEY]
only_active = True
if context.is_admin:
only_active = False
datastore_versions = models.DatastoreVersions.load(datastore,
only_active)
return wsgi.Result(views.
DatastoreVersionsView(datastore_versions,
req).data(), 200) def list_associated_flavors(self, req, tenant_id, datastore, 列出具有相关的flavor
version_id):
"""
All nova flavors are returned for a datastore-version unless
one or more entries are found in datastore_version_metadata,
in which case only those are returned.
"""
context = req.environ[wsgi.CONTEXT_KEY]
flavors = (models.DatastoreVersionMetadata.
list_datastore_version_flavor_associations(
context, datastore, version_id))
return wsgi.Result(flavor_views.FlavorsView(flavors, req).data(), 200)
更多信息:http://www.cnblogs.com/S-tec-songjian/
此文章属博客园用户S-tec原创作品,受国家《著作权法》保护,未经许可,任何单位及个人不得做营利性使用;若仅做个人学习、交流等非营利性使用,应当指明作者姓名、作品名称,原文地址,并且不得侵犯作者依法享有的其他权利。
trove datastore 浅析的更多相关文章
- trove taskmanger api
trove-taskmanager服务在配置实例,管理实例的生命周期以及对数据库实例执行操作方面做了很多工作.taskmanager会通过Nova.Swift的API访问Openstack基础的服务, ...
- trove最新命令简单分类解析
usage: trove [--version] [--debug] [--service-type <service-type>] [--service-name <service ...
- trove命令翻译(上)(只做翻译,未实验效果)
The trove client is the command-line interface (CLI) for the Database service API and its extensions ...
- trove manual installation 翻译
目标 此文件提供了一步一步的指导手动安装trove在一个现有OpenStack的环境为了开发. 该文件将不包括: OpenStack的设置 trove服务配置 要求 正在运行的OpenStack的环境 ...
- Trove系列(七)——Trove的Mysql的复制功能介绍
描述提供各种复制功能的支持对于Trove来说是很关键的.本章节将描述各种使用案例和相关的用户需求.并依次提出了MySQL的初始阶段的实现.Mysql的复制功能介绍概述先介绍一下MySQL的复制功能原理 ...
- Trove系列(六)——Trove的安全组功能和Trove的卷数据快照功能介绍
Trove的安全组功能功能描述用户目前没有办法在Trove guest 实例上配置安全组 和 安全组规则. 我们建议按照以下指导原则创建一个简单的安全组操作规则.本功能作为Trove 的附加功能实现( ...
- Trove系列(五)—Trove的数据存储管理程序类型和版本管理功能介绍
功能描述数据存储管理程序(Datastore)类型管理允许Trove的用户从操作者列出的名单中选择数据库存储管理程序和版本.操作者将可以控制数据库存储管理程序的类型,添加一个新的版本并去活一个老版本. ...
- Trove系列(三)—Trove的功能管理功能介绍
Trove的功能管理功能Trove的功能管理功能包括给各种不同的版本的 datastore 安装不同的 功能. 本管理功能只适用于激活/去活全系统的功能.唯一例外的是数据存储功能列表功能,该功能对所有 ...
- Trove系列(二)—Trove 的架构和流程介绍
Trove主要逻辑目前Trove支持用户创建一个数据库服务实例,在实例里可以创建多个数据库并进行管理.数据库服务实例目前通过Nova API来创建,然后同样通过Nova API创建一个Volume(未 ...
随机推荐
- .NET编程和SQL Server ——Sql Server 与CLR集成 (学习笔记整理-1)
原文:.NET编程和SQL Server ——Sql Server 与CLR集成 (学习笔记整理-1) 一.SQL Server 为什么要与CLR集成 1. SQL Server 提供的存储过程.函数 ...
- sql 行转列 PIVOT 列转行 UNPIVOT
原文:sql 行转列 PIVOT 列转行 UNPIVOT 一: 现有表一(t_table1),想转为表二(t_table2)的格式. 表一: 年 公司 收入 2013 公司1 12 2013 公司2 ...
- dos下的cd指令
进入同根目录下的目录: 1.进入同根目录的下一级目录:cd 目录名 2.返回同根目录的上一级目录:cd .. 3.返回目录的根目录:cd \ 进入不同根目录下的目录: 1.进入另外一个根目录(的默认目 ...
- SpringMVC全注解
SpringMVC全注解不是你们那么玩的 前言:忙了段时间,忙得要死要活,累了一段时间,累得死去活来. 偶尔看到很多零注解配置SpringMVC,其实没有根本的零注解. 1)工程图一张: web.xm ...
- Dom解析xml源代码
import java.io.File; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import ja ...
- Webapi备忘-20140109
r01的翻译系列:http://www.cnblogs.com/r01cn/category/428069.html 接收FROM数据 Webapi接收表单数据,如果有多个数据比如x=1&y= ...
- nutch solr 配置
http://blog.csdn.net/panjunbiao/article/details/12171147 后半部分实践通过
- .NET面向对象特性之多态
.NET面向对象特性之多态 前言 上一篇总结了面向对象三大特性之一的继承,再接再厉,这一章继续总结多态.同时把继承中涉及到多态的内容进一步补充扩展.可以说“继承”是多态的根基.但继承主要关注的是“共通 ...
- [转]浅谈PCA的适用范围
线性代数主要讲矩阵,矩阵就是线性变换,也就是把直线变成直线的几何变换,包括过原点的旋转.镜射.伸缩.推移及其组合.特征向量是对一个线性变换很特殊的向量:只有他们在此变换下可保持方向不变,而对应的特征值 ...
- 长度为n的数组,有一个数重复出现了n/2+1次,找出(三种方法)
问题: 长度为n的数组,有一个数重复出现了n/2+1次,找出这个数: 解决: 比较直接的思路是遍历每个元素,让其与剩下其他元素比较,相等一次计数器sum++,直到sum=n/2+1为止: #inc ...