声明:

本博客欢迎转载。但请保留原作者信息,并请注明出处!

作者:郭德清

团队:华为杭州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中的数据模型的更多相关文章

  1. (转) dedecms中自定义数据模型

    刚学习完dedecms的标签语法,我有很多困惑,觉得标签的意义比较抽象,不知道如何用标签来写一些具体的内容.如果有一些数据库的编程经验,就知道一个很常用的编程范例—增删改查.比如说,我要建立的是书本的 ...

  2. java中的数据模型类

    package com.aaa.zxf.ajax.test; import java.io.Serializable; /** * java中的继承. * * 一.数据模型类 * 数据模型类:用来存取 ...

  3. 关于在freemarker模板中遍历数据模型List<JavaBean>的经验

    本文采用简单的servlet作为后台处理数据的工具,前台使用freemarker的ftl模板作为输出工具,简单说明怎样将封装有实体类对象的List集合注入到ftl模板中并且成功的在遍历显示出来,之前在 ...

  4. ASP.NET Core 中文文档 第四章 MVC(3.4)如何使用表单

    原文:Working with Forms 作者:Rick Anderson.Dave Paquette.Jerrie Pelser 翻译:姚阿勇(Dr.Yao) 校对:孟帅洋(书缘) 这篇文章演示了 ...

  5. Java Web开发中MVC设计模式简介

    一.有关Java Web与MVC设计模式 学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容.但是我们之前自己编写的应用一般存在无条 ...

  6. CoreData 数据模型的版本控制

    CoreData 数据模型的版本控制 在项目中选择数据模型,然后选择Editor | Add Model Version 通过属性栏的ModelVersion current 选项进行版本的选择控制. ...

  7. iOS中的数据持久化方式

    iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data. 1.属性列表 涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults ...

  8. EF Core 1.0中使用Include的小技巧

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:由于EF Core暂时不支持Lazy Loading,所以利用Include来加载额外 ...

  9. Backbone Model——数据模型

    Model是Backbone中所有数据模型的基类,用于封装原始数据,并提供对数据进行操作的方法,我们一般通过继承的方式来扩展和使用它. 如果你做过数据库开发,可能对ORM(对象关系映射)不会陌生,而B ...

随机推荐

  1. 基于Android SDK安装PhoneGap框架

    下载zip文件PhoneGap 2.0.0 PhoneGap 2.0.0 Released 20 Jul 2012http://phonegap.com/download/ 解压缩后的目录结构:Dir ...

  2. 【洛谷2624_BZOJ1005】[HNOI2008] 明明的烦恼(Prufer序列_高精度_组合数学)

    题目: 洛谷2624 分析: 本文中所有的 "树" 都是带标号的. 介绍一种把树变成一个序列的工具:Prufer 序列. 对于一棵 \(n\) 个结点的树,每次选出一个叶子(度数为 ...

  3. OI——不后悔的两年

    NOI2014,悲惨的考跪,99+170+130 399 Cu滚粗.最终签到了复旦的一本,还算是有点结果吧.(其实我一开始就想读复旦我会说?)回首这两年,就像一场梦一样,从一无所知的小白到进入省队再到 ...

  4. c# winform控件dock属性停造位置、摆放顺序详解

    dock : [英文释义- 码头.依靠][winform释义- 获取或设置当前控件依靠到父容器的哪一个边缘.] 用途:多数控件都有这个属性,主要用来设置控件的布局. 但对于不太了解这个属性的朋友来说有 ...

  5. Microsoft SQL Server 2008/2012 Internals 一处疑问

    Kalen Delaney 等著的深入解析 Microsoft SQL Server 系列,享有盛誉,深入研读,是管窥深奥复杂之 SQL Server 的阶梯与门径.手头有 Microsoft SQL ...

  6. ubuntu 安装redis以及phpredis

    一.安装redis 1. 去百度搜索 redis,然后去靠谱的地方下载最新的redisxxx.tar.gz 2. 解压后,sudo make 3. sudo make install 4. //安装完 ...

  7. tp5.0分页样式调控

    基础的分页调用 /** * 控制器部分代码 */ //实例化模型 $areasModel=new Areas(); //分页数据集 $listarea=$areasModel->paginate ...

  8. (转)50道JavaScript基础面试题(附答案)

    https://segmentfault.com/a/1190000015288700 1 介绍JavaScript的基本数据类型 Number.String .Boolean .Null.Undef ...

  9. DeltaFish 校园物资共享平台 第七次小组会议

    DeltaFish 校园物资共享平台 第七次小组会议 一.上周进度报告 前端 娄:和李一起建立前后端交互参数文档,和数据库文档,完成前端页面跳转和图片加载的 bug,Git 上去. 刘:优化前端 ab ...

  10. 移动web——bootstrap如何修改原组件

    基本介绍 1.bootstrap提供了丰富的组件,但是有时候我们不仅要删除不必要的标签,还需要修改里面的样式 2.我们建议若是修改样式那么最好将源样式从css中拷贝出来,名字换掉,然后修改具体样式,这 ...