声明:

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

作者:郭德清

团队:华为杭州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. Educational Codeforces Round 45

    A. 一个小模拟    不解释 //By SiriusRen #include <bits/stdc++.h> using namespace std; long long n,m,a,b ...

  2. 51nod1565 FFT

    思路: 显然拆位FFT 不解释 //By SiriusRen #include <bits/stdc++.h> using namespace std; ; ); ,L,S,T,k,sa[ ...

  3. 【BZOJ2565】最长双回文串 (Manacher算法)

    题目: BZOJ2565 分析: 首先看到回文串,肯定能想到Manacher算法.下文中字符串\(s\)是输入的字符串\(str\)在Manacher算法中添加了字符'#'后的字符串 (构造方式如下) ...

  4. drupal 8——打补丁(patch)

    druapl 的核心可能会有漏洞,这时就需要我们去打补丁.很多补丁都已经有人写好了,我这里讲的就是如何去打这些已经写好的补丁. 对于这个问题:drupal8 核心有bug导致了两个相同的错误提示的出现 ...

  5. linux共享库的版本控制

    前几天看到一篇介绍linux共享库版本控制及使用的文章,觉得不错,这里就与大家分享一下. 1. Linux约定 经常看到Linux中,共享库的名字后面跟了一串数字,比如:libperl.so.5.18 ...

  6. SSH整合框架+mysql简单的实现

    SSH整合框架+mysql简单的实现 1. 框架整合原理: struts2整合Spring 两种: 一种struts2自己创建Action,自动装配Service : 一种 将Action交给Spri ...

  7. GridView动态计算高度

    // 动态加载GridView 高度 public static void setListViewHeightBasedOnChildren(MyGridView myGridView) { List ...

  8. 11、scala函数式编程

    1.将函数赋值给变量 2.匿名函数 3.高阶函数 4.高阶函数的类型推断 5.Scala的常用高级函数 6.闭包 7.SAM转换 8.Currying函数 9.return 1.将函数赋值给变量 Sc ...

  9. 在PHP中调用php_ssh实现远程登陆linux服务器并执行shell脚本。

    这个功能主要用于在web端利用程序对远程服务器进行操作,通过PHP_ssh执行shell脚本来实现. 首先要安装php_ssh2组件,linux中centos7下有ssh2源,直接安装.window下 ...

  10. 【sqli-labs】 less46 GET -Error based -Numeric -Order By Clause(GET型基于错误的数字型Order By从句注入)

    http://192.168.136.128/sqli-labs-master/Less-46/?sort=1 sort=4时出现报错 说明参数是添加在order by 之后 错误信息没有屏蔽,直接使 ...