horizon架构整理

来源:互联网 发布:淘宝营销短信关闭 编辑:程序博客网 时间:2024/05/29 19:53

原文地址:

http://blog.sina.com.cn/s/blog_869bf7c5010100rd.html

 

 

近期在研究openstack,打算从openstack前端展现dashboard开始研究,计划通过汉化的方式,整理把握dashboard的设计原理和源码结构。

horizon是openstack 的dashboard的项目名,以下分别从逻辑、部署、开发几个方面分析。
  • 逻辑架构
  官方说法:
  horizon架构整理1
  图上看没有界面展现这么个说法,其实openstack对外提供了标准的REST API服务,其实这个可以理解,因为openstack的规划里面,目前侧重于研发用户,对终端用户的支持力度还是不足。那么horizon是通过界面dashboard的方式提供服务。
horizon架构整理1
OpenStack Essex Conceptual Integration
  官方的图说的挺清楚的了,不过好像不太满足国人的审美观点,我重画了一下,挑重点写写。
horizon架构整理1
其实老外把rest接口当做展现presentation一种其实是很有道理的,不过在现有公司里面展现主要还是界面相关。这点和公司现在的产品线架构类似,目前都是web+rest的模式,web不做数据存储和复杂业务逻辑的处理,horizon的定位类似,基于nova和swift以及keystone的基本REST接口实现,不过它通过调用已有的python-novaclient或者python-keystoneclient实现REST接口调用。
  • 部署架构
horizon架构整理1

  • 开发架构
./api调用nova、swift、glance等接口封装./dashboards界面展示主要目录/nova终端用户界面/instances_and_volumes云主机&云硬盘/instances云主机/tables.py云主机列表/volumes云硬盘/panel.py云主机&云硬盘在左侧页面导航/urls.pyurl映射 django框架/views.py主页视图/templateshtml界面模板/syspanel管理员界面./forms界面表单,统一的表单显示和表单处理,基类./tables界面表格,列表/查询,统一的列表和查询基类/base.py表单列表基类文件 定义类表单的整个框架布局/views.py表单列表视图./templates公用界面模板@it探路者forever


稍后以云主机为例,分析以上各目录结构之间的关系

 

原创粉丝点击