Openstack学习笔记(十四)-Horizon学习笔记(四)

本文详细介绍了如何在OpenStack Dashboard中扩展添加一个名为Monitoring的面板,包括定义Panel、URL、Table和View的过程,以及如何在admin目录下的Dashboard.py文件中注册并调试程序。

Horizon是OpenStack的一个子项目,用于提供一个Web前端控制台(称为Dashboard),以此来展示OpenStack的功能。通常情况下,我们都是从Horizon、Dashboard开始来了解OpenStack的。实际上,Horizon并不会为OpenStack添加任何一个新的功能,它只是使用了OpenStack部分API功能,因此,我们可以扩展Horizon的功能,扩展Dashboard。

关于dashboard的界面,自己搭起环境后可以有一个直观的感受。

Horizon源码目录结构

这里写图片描述

以在admin这个Dashboard里扩展添加一个monitoring的panel为例,介绍扩展OpenStack Dashboard的流程。

1.定义panel

首先介绍Dashboard.py这个文件,它位于每个Dashboard的根目录,其作用是注册Dashboard(django里称为app)以及设置Dashboard的属性,比如Dashboard里有哪些panel。

打开admin目录下的Dashboard.py文件,设置SystemPanels有monitoring的panel:
这里写图片描述
我们可以在Dashboard.py文件里随意的添加、删除panel属性,这对于调试程序的时候很方便。然后在amdin目录下创建一个monitoring的文件夹,并在monitoring文件夹里创建panel.py文件,定义panel:
这里写图片描述
这是最简单的panel,只定义了其名字。注意:slug属性的值要与monitoring文件夹名字一样。当定义完成后,要记得将其注册到Dashboard里。

2.定义URL

Horizon是基于Django框架,程序是通过url来找到panel的,因此,需要在monitoring目录下建立urls.py文件,定义url:
这里写图片描述

3.定义Table

table用于展示数据,Horizon提供了DataTable基类,我们可以通过继承DataTable来实现自定义的table:
这里写图片描述
在MonitoringTable里定义了两列resources和percent。

4.定义View

view是用来集成table或者tab的,Horizon提供了多种vie类,下面使用DataTableView来自定义我们自己的IndexView:在IndexView里定义好table_class和template_name的属性值,同时需要定义好get_data()方法,此方法用于获取数据展示在table里。
这里写图片描述
至此,扩展Dashboard已完成,需要重启apache才能看到效果:sudo service apache2 restart。效果如下:
这里写图片描述
这篇文章网上很多,将其转过来方便学习。

<think>好的,我需要帮助用户确定CentOS上OpenStack Train的版本号。首先,用户提到了在CentOS7下安装OpenStack Train版本的Dashboard时遇到的问题,引用了相关的安装步骤,比如克隆Horizon仓库的稳定分支stable/train,以及初始化命令的路径。这说明用户可能已经通过kolla-ansible进行部署,而kolla-ansible通常与特定版本的OpenStack相关联。 首先,OpenStack的版本命名是按字母顺序的,比如Train是第20个版本,对应2019.10发布的。通常每个版本会有详细的版本号,比如Train的版本号是20.0.0。不过需要确认CentOS中OpenStack的包版本是否与上游一致,因为RDO或其他仓库可能会有些差异。 用户提供的引用中提到使用stable/train分支,而OpenStack的每个稳定分支对应一个主要版本。例如,Train的版本号是20.x.x。CentOS可能通过RDO仓库提供OpenStack Train,需要确认RDO中对应的版本号。 另外,用户执行了初始化脚本/usr/share/kolla-ansible/init-runonce,这说明他们使用的是kolla-ansible进行部署,而kolla-ansible的版本也会对应特定的OpenStack版本。例如,kolla-ansible的Train版本应该对应OpenStack Train。 可能需要检查安装的软件包版本,比如通过yum list installed | grep openstack,或者查看horizon的版本号,因为用户克隆了Horizon的stable/train分支,Horizon属于OpenStack的Dashboard组件,其版本号应与Train一致,即20.x.x。 总结来说,CentOS上通过kolla-ansible部署的OpenStack Train版本对应的版本号应为20.x.x,具体的小版本号可能需要查看具体的软件包或使用命令如openstack --version来确认。</think>在CentOS系统中,OpenStack Train版本对应的版本号为**20.x.x系列**。具体说明如下: 1. **版本命名规则** OpenStack采用按字母顺序的代号命名,Train是第20个版本,于2019年10月发布。其基础组件的版本号统一为$20.0.0$,例如: - Nova组件:$20.0.0$ - Neutron组件:$20.0.0$ - Horizon组件:$20.0.0$(对应git仓库的`stable/train`分支)[^1] 2. **CentOS中的部署验证** 通过Kolla-Ansible部署时,可使用以下命令验证: ```bash # 查看kolla-ansible版本与OpenStack的映射关系 yum info kolla-ansible | grep Version # 查看已安装的OpenStack组件版本 openstack --version ``` 若使用RDO仓库安装,Train版本在CentOS中通常标记为`centos-openstack-train`,软件包版本号为$20.*`。 3. **初始化脚本关联性** 用户引用的初始化脚本路径`/usr/share/kolla-ansible/init-runonce`是Kolla-Ansible为Train版本提供的标准初始化工具,其设计兼容OpenStack 20.x.x的API特性[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值