OpenStack(kilo)界面dashboard的二次开发(一)-增加Panel

进入openstack这个领域大约有一年了,由于某些原因,对openstack各方面都有些了解,不过对openstack也就感觉刚刚入门而已。这期间对openstack的界面进行过一些定制,现在进行个梳理总结。博文中如有说得不对的地方请大家谅解,同时欢迎大家指正,共同提升。

基本认识

openstack的dashboard是允许用户管理openstack资源和服务的一个web接口。

openstack的界面相关的代码有三部分:

  • 各类控件的基类,页面的通用模板等
/usr/lib/python2.7/site-packages/horizon
  • 界面具体样式,数据获取等
/usr/share/openstack-dashboard
  • 还有个容易被忽略的,登录认证界面
/usr/lib/python2.7/site-packages/openstack_auth

openstack的菜单总共分为三级,Dashboard、Panelgroup、Panel,分别如下图标记1/2/3所示

这里写图片描述
有了以上认识,接下来就看看如何增加Panel

增加Panel

要增加一个panel首先得简单看看代码结构,进入/usr/share/openstack-dashbaord/openstack_dashboard/dashboards目录,会看到如下的结构:

|--__init__.py
|--admin
|--project
|--identity
|--router
|--settings

以上几个文件夹就代表了openstack界面上的几个一级菜单(Dashboard),分别是admin(管理员)、project(项目)、identity(Identity)、settings(设置,这个一级菜单需要点击右上角下拉中的设置才会显示出来)、router(配置文件中将profile_support打开可见,ciso nexus 1000v的管理面板)。现在选择admin进去看看它的目录结构。
admin

admin
|--__init__.py
|--aggregates
|--dashboard.py
|--defaults
|--flavors
|--hypervisors
|--images
|--info
|--instances
|--metadta_defs
|--metering
|--models.py
|--networks
|--overview
|--routers
|--volumes

仔细研究可以发现这些文件夹都一一对应了管理员(admin)下的各个Panel,首先看看Dashboard的类似于配置文件的东西dashboard.py,它就是描述Dashboard的python文件。

|-dashboard.py
from django.utils.translation import ugettext_lazy as _

import horizon


class SystemPanels(horizon.PanelGroup):
    slug = "admin"
    name = _("System")
    panels = ('overview', 'metering', 'hypervisor
  • 8
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值