Sahara中的数据模型
声明:
本博客欢迎转载。但请保留原作者信息,并请注明出处!
作者:郭德清
团队:华为杭州OpenStack团队
本文主要是介绍下Sahara中一些常见的数据模型。
1、Config
用于描写叙述配置信息的实体对象。
|
属性 |
类型 |
描写叙述 |
|
name |
string |
配置的名称。 |
|
description |
string |
配置的描写叙述。 |
|
config_type |
enum |
配置的类型,包含:string、integer、boolean、enum。 |
|
config_values |
list |
当配置是枚举(enum)类型的时候,用于保存可能的值。 |
|
default_value |
string |
配置的默认值。 |
|
applicable_target |
string |
这个值能够是类似get_node_processes返回的某个service的值。也能够是general。 |
|
scope |
enum |
值能够是node或者cluster |
|
is_optional |
bool |
假设改值设置为false。并且default_value为空,那么用户必须传入这个配置。 |
|
priority |
int |
值能够是1、2。 UI显示的时候用的,1表示显示,2表示用户须要点击一个button才干看到。 |
2、Instance
集群中的某个虚拟机。
|
属性 |
类型 |
描写叙述 |
|
instance_id |
string |
虚拟机ID。 |
|
instance_name |
string |
虚拟机名称。 |
|
internal_ip |
string |
虚拟机之间通信的IP。 |
|
management_ip |
string |
从外部网络可以訪问虚拟机的IP。 |
|
volumes |
list |
虚拟机挂载的卷。 |
|
nova_info |
object |
nova的虚拟机对象。 |
|
username |
string |
Sahara用于远程訪问虚拟机的username。 |
|
hostname |
string |
和instance_name的名字一样。 |
|
fqdn |
string |
全称域名。 self.instance_name + '.' + CONF.node_domain |
|
remote |
helpers |
运行远程操作的帮助对象。 |
3、Node Group
虚拟机组。
|
属性 |
类型 |
描写叙述 |
|
name |
string |
集群Node Group的名字。 |
|
flavor_id |
string |
创建虚拟机用的套餐。 |
|
image_id |
string |
创建虚拟机用的镜像。 |
|
node_processes |
list |
每一个节点上跑的进程,如namenode、datanode等。 |
|
node_configs |
dict |
节点配置。如:"HDFS": {"DataNode Heap Size": 1024} |
|
volumes_per_node |
int |
每一个节点挂载卷的个数。 |
|
volume_size |
int |
卷的大小。 |
|
volume_mount_prefix |
string |
卷的挂载路径。 |
|
floating_ip_pool |
string |
浮动IP池名字。这个Node Group的每一个虚拟机都会有分配一个这个浮动IP池的IP。 |
|
count |
int |
这个Node Group的虚拟机数量。 |
|
username |
string |
Sahara远程连接虚拟机的username。 |
|
configuration |
dict |
节点配置和集群配置的合并。 |
|
storage_paths |
list |
数据存储路径。没有挂载卷的时候,是在/mnt文件夹下。 假设有挂载了2个卷,volume_mount_prefix是/volume/disk。那么这个值就是[‘/volume/disk1’,’/volume/disk2’] |
4、Cluster
包含全部集群相关的信息,用户集群的创建和扩容。
|
属性 |
类型 |
描写叙述 |
|
name |
string |
集群名字。 |
|
tenant_id |
string |
集群相应的租户ID。 |
|
plugin_name |
string |
插件名称。 |
|
hadoop_version |
string |
虚拟机上跑的Hadoop的版本号。 |
|
default_image_id |
string |
用户创建虚拟机默认的镜像。 |
|
node_groups |
list |
node group列表。 |
|
cluster_configs |
dict |
集群的配置。比方:"HDFS": {"dfs.replication": 3} |
|
cluster_template_id |
string |
集群的模板ID。 |
|
user_keypair_id |
string |
虚拟机的keypair。用于用户登录虚拟机。 |
|
neutron_management_network |
string |
网络ID。假设use_neutron设置成True,那么虚拟机会分配一个这个网络的IP。 |
|
anti_affinity |
list |
不同的主机上跑的进程。 |
|
description |
string |
集群描写叙述。 |
|
info |
dict |
额外的信息。 |
5、数据库中的表
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2FueGluZ2hlbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
有兴趣的话。能够登录数据库。查看对应的表结构:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2FueGluZ2hlbg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
【參考资料】
https://sahara.readthedocs.org/en/stable-juno/devref/plugin.spi.html#object-model
Sahara中的数据模型的更多相关文章
- (转) dedecms中自定义数据模型
刚学习完dedecms的标签语法,我有很多困惑,觉得标签的意义比较抽象,不知道如何用标签来写一些具体的内容.如果有一些数据库的编程经验,就知道一个很常用的编程范例—增删改查.比如说,我要建立的是书本的 ...
- java中的数据模型类
package com.aaa.zxf.ajax.test; import java.io.Serializable; /** * java中的继承. * * 一.数据模型类 * 数据模型类:用来存取 ...
- 关于在freemarker模板中遍历数据模型List<JavaBean>的经验
本文采用简单的servlet作为后台处理数据的工具,前台使用freemarker的ftl模板作为输出工具,简单说明怎样将封装有实体类对象的List集合注入到ftl模板中并且成功的在遍历显示出来,之前在 ...
- ASP.NET Core 中文文档 第四章 MVC(3.4)如何使用表单
原文:Working with Forms 作者:Rick Anderson.Dave Paquette.Jerrie Pelser 翻译:姚阿勇(Dr.Yao) 校对:孟帅洋(书缘) 这篇文章演示了 ...
- Java Web开发中MVC设计模式简介
一.有关Java Web与MVC设计模式 学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容.但是我们之前自己编写的应用一般存在无条 ...
- CoreData 数据模型的版本控制
CoreData 数据模型的版本控制 在项目中选择数据模型,然后选择Editor | Add Model Version 通过属性栏的ModelVersion current 选项进行版本的选择控制. ...
- iOS中的数据持久化方式
iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data. 1.属性列表 涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults ...
- EF Core 1.0中使用Include的小技巧
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:由于EF Core暂时不支持Lazy Loading,所以利用Include来加载额外 ...
- Backbone Model——数据模型
Model是Backbone中所有数据模型的基类,用于封装原始数据,并提供对数据进行操作的方法,我们一般通过继承的方式来扩展和使用它. 如果你做过数据库开发,可能对ORM(对象关系映射)不会陌生,而B ...
随机推荐
- C/C++ Python的函数默认参数
发现C/C++ Python的函数可以使用默认参数,来减少传参时候的参数个数. 但是:这样的默认参数最好是不变对象! #include <stdio.h> #include <st ...
- [转] 64位Oracle 11g R2的客户端连接时报ORA-01019错误
本文转自:http://blog.csdn.net/downmoon/article/details/8038583 在Win8企业版64位环境下,连接Oracle11g 服务端,搞了整整两天,特将过 ...
- Mysql的事务、视图、索引、备份和恢复
事务 事务是作为单个逻辑工作单元执行的一系列操作,一个逻辑工作单元必须具备四个属性.即:原子性.一致性.隔离性.持久性,这些特性通常简称为ACID. 原子性(Atomicity) 事务是不可分割的 ...
- PHP第二阶段学习 一、php的基本语法
php的基本语法 输出语句:a. echo输出:可以输出多个字符串,逗号隔开 b. print输出:只能输出一个字符串,返回true或false c. print_r():可以把字符串和数字简单 ...
- Spring的核心机制依赖注入
原文地址:http://developer.51cto.com/art/200610/33311.htm 本文主要讲解依赖注入(设值注入.构造注入),作用是可以使Spring将各层的对象以松耦合的方式 ...
- js 翻页
翻页功能是js很基础的一个算法,且用得很多,所以必须掌握此项技能. 我们要想清楚在实现翻页的过程中需要哪几个步骤: 1.我们首先需要的变量有哪些,必须的有一个存放当前页码的变量nowPage.一个存放 ...
- html5——全屏滚动
鼠标滚轮 window.onmousewheel=function(){}; 基本描述 1.我们使用插件fullpage,为了更好的兼容性 2.动画效果是在滚动到这一屏时触发的,此时给当前屏幕加cur ...
- 【技术累积】【线】【java】【2】AOP
思维导图 基础概念 翻译:面向切面编程,或面向方面编程: 是OOP的重要补充: 切面:传统的OOP构建的是对象之间的关系,是一种垂直的关系:假设,OOP程序是一个圆筒,那么与业务或逻辑无关的东西,比如 ...
- 脚本添加删除nginx配置中的内容
[root@nodejs script]# more editnginx.sh #!/bin/bash # function back_check(){ # 备份配置和覆盖配置文件 cp -rf /e ...
- 批量obj格式直接转gltf
在cesium中的模型需要的是gltf或glb格式的文件,之前的做法是用将模型从3d max中导出dae格式的文件(需要插件),然后用collada2gltf工具将dae格式转成gltf. 最近翻看c ...