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

  • 来源:恒天云
  •  2014-04-22
  •   浏览 1856 次

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

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

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

名字vlan标签项目名称IPv4DNS1DNS2网关子网掩码操作

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

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

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

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

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

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

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

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

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

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

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

    添加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) 

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


To Top