恒天云技术分享系列2 - vlan管理GUI开发

时间:2023-12-29 18:07:32

恒天云:http://www.hengtianyun.com/download-show-id-10.html

  在OpenStack G版本中quantum网络模式下,horizon提供了基于quantum的管理功能。但是Quantum模式的稳定性以及性能有不少问题,很难用在生产环境下。vlan网络模式相对稳定成熟,但是这个模式下没有提供网络管理的GUI,所有相关操作需要在后台完成,很不方便,也容易出问题。

  这里介绍一下我们如何做一个基于vlan的网络管理GUI。

vlan网络管理的主页面,显示了如下信息:

名字 vlan标签 项目名称 IPv4 DNS1 DNS2 网关 子网掩码 操作

操作有:删除网络和创建网络,支持批操作。

做完的效果如下(选自恒天云管理控制台的截图)

恒天云技术分享系列2 - vlan管理GUI开发

创建网络的弹出页面如下:

恒天云技术分享系列2 - vlan管理GUI开发

通过这个页面,可以很方便的管理vlan。目前,交换机中的相应vlan设置需要手工。即使这样,也极大的方便了管理员的网络管理工作。

大致要改的代码块如下(这里并不是全部代码):

在admin下添加一个vlan模块. 其中有四个文件要做修改分别是views.py, urls.py,tables.py, panel.py

panel.py   主要是vlan模块的注册信息

恒天云技术分享系列2 - vlan管理GUI开发

tables.py   定义表格要显示的字段

恒天云技术分享系列2 - vlan管理GUI开发

定义一个VlansTable类,定义valn表格显示的字段

views.py   业务层逻辑:在最开始引入VlansTable,通过get_data获取数据并返回,只要在模板页面加上{{table.render }}语句,就可以自动生成表格

添加vlan_list  api openstack_dashboard/openstack_dashboard/api/nova.py  #713

恒天云技术分享系列2 - vlan管理GUI开发

添加vlans.py文件 python2.7/dist-packages/novaclient/v1_1/

vlans.py :从控制节点获取vlan信息

修改client.py文件:python2.7/dist-packages/novaclient/v1_1/client.py

添加vlan引用, #49

from novaclient.v1_1 import vlans

定义self.vlans, #122

self.vlans = vlans.VlanManager(self)

如有赐教,请联系我们。谢谢!