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

    恒天云: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开发_第1张图片

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

恒天云技术分享系列2 - vlan管理GUI开发_第2张图片

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

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

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

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

恒天云技术分享系列2 - vlan管理GUI开发_第3张图片

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

恒天云技术分享系列2 - vlan管理GUI开发_第4张图片

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

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

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

恒天云技术分享系列2 - vlan管理GUI开发_第5张图片

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

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

你可能感兴趣的:(GUI)