一、Openstack源码组成
包括下面项目
1. nova
2. keystone
3. glance
4. 前段源码包
horizon
dashboard
novaclient
keystonesclient
glanceclient
这些软件包是一个项目
二、django在horizon、dashboard的使用
url解析:django加载dashboard\openstack_dashboard\urls.py文件,urlpatterns包含了所有的url。Horizon._lazy_urls,会按照下面的方式自动加载url:模板语言的应用
三、菜单hosts的开发
horizon\dashboards\syspanel\dashboard.py SystemPanels.panels数组会按次序从上向下生成菜单,加入包名hosts。
Panel:定义菜单名,注册菜单
Urls:url导向
Views:url指向的类
一种table展示的使用,针对table的:
def get_data: 初始化表格数据,返回列表类型
table_class = :实例化表格调用的类
tables.Column:添加列,显示顺序按照添加顺序
table_actions:多选动作
row_actions:行动作
row_class:行更新指向类
template_name模板
四、ajax使用
五、调用其他组件
Horizon调用方式:
六、汉化
http://www.cnblogs.com/cszzy/archive/2012/05/22.html
buntu Server 12.04版本下APT成功安装了OpenStack
dashboard里面虽然有简体中文的设置,但汉化没有完成(繁体中文已经完全汉化了)
1. 把繁体中文的po文件用工具转换成简体后覆盖到对应的简体中文目录下
有两个文件需要翻译:
/usr/share/openstack-dashboard/openstack_dashboard/locale/zh_TW/LC_MESSAGES/django.po
和
/usr/share/pyshared/horizon/locale/zh_TW/LC_MESSAGES/django.po
2. 复制到简体中文目录后,编译po文件:
msgfmt--statistics --verbose -o django.mo django.po
3. 最后一步还需要建立一个连接:
cd /usr/lib/python2.7/dist-packages/horizon/locale/zh_CN/LC_MESSAGES
ln -s /usr/share/pyshared/horizon/locale/zh_CN/LC_MESSAGES/django.modjango.mo
重启apache2服务就可以了
七、horizon静态文件压缩
在部署时会产生css错误。
https://github.com/openstack/horizon
Dependencies
解决方式:
python编码改为utf-8
安装nodejs
执行 npm install less 将相应的文件copy到相应目录下
八nova开发
见附件
图表 1wsgi
http://download.csdn.net/detail/jiutianfeiwu/5666259