/usr/share/pyshared/horizon/horizon
dashboard源码解读
目录结构:
/usr/share/pyshared/horizon
1.api
2.context_processors.py
3.decorators.py 当前组件位置。_current_component 比如说配额菜单,当前dashboard:syspanel 当前panel是quotas
4.forms
5.locale 各种语言配置 汉化在这里做
6.models.py
7.static 所有的js文件
8.tabs
9.templaetags
10.test
11.usage
12.utiles
13.views
14.base.py
15 dashboards
16.execptions.py
17.__init__.py
18.middleware.py
19.site_urls.py
20.tables
21.templates
22.test.py
23.time.py
24.users.py
25.version.py
详细介绍:
1.api
base.py
glance.py
__init__.py
keystone.py
nova_init.py
nova.py
找到def server_list 读取虚拟机列表。 search_opts['limit'] = 3 每页显示多少个虚拟机
search_opts['host'] = 'pc2' 显示某一个服务器上的虚拟机。
或者修改:
/usr/share/pyshared/horizon/dashboards/syspanel/instances/views.py AdminIndexView
instances = []
search_opts = {} #新加入
search_opts['host'] = 'pc2'#新加入
try:
#instances = api.nova.server_list(sele.request, all_tenants=True)
instances = api.nova.server_list(self.request,search_opts, all_tenants=True)#加入参数
search_opts = {} #新加入
search_opts['host'] = 'pc2'#新加入
try:
#instances = api.nova.server_list(sele.request, all_tenants=True)
instances = api.nova.server_list(self.request,search_opts, all_tenants=True)#加入参数
swift.py
2.context_processors.py
3.decorators.py
4.forms
5.locale 各种语言配置
6.models.py
7.static 所有的js文件
8.tabs
9.templaetags
10.test
11.usage
12.utiles
13.views
14.base.py get_panel_groups 每个面板有几组菜单,例如用户面板是一个计算一个存储,系统面板就一个。
2.class PanelGroup(object)中__init__每次重启apache2 后者重新登录的时候才会执行,读取syspanel/nova/settings 几个目录下的dashboard.py 的
菜单组件。但是从这里读取的还显示的不一致
15 dashboards
16.execptions.py
17.__init__.py
18.middleware.py
19.site_urls.py
20.tables
21.templates
22.test.py
23.time.py
24.users.py
25.version.py