恒天云技术分享系列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 | 网关 | 子网掩码 | 操作 |
操作有:删除网络和创建网络,支持批操作。
做完的效果如下(选自恒天云管理控制台的截图)

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

通过这个页面,可以很方便的管理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)
如有赐教,请联系我们。谢谢!
恒天云技术分享系列2 - vlan管理GUI开发的更多相关文章
- 恒天云技术分享系列6 – vLan网络原理解析
转载自恒天云官网:http://www.hengtianyun.com/download-show-id-15.html Vlan网络模式优点 增加网络可扩展性 网络隔离,每个租户拥有独立的网络及vl ...
- 恒天云技术分享系列4 – OpenStack网络攻击与防御
恒天云技术分享系列:http://www.hengtianyun.com/download-show-id-13.html 云主机的网络结构本质上和传统的网络结构一致,区别大概有两点. 1.软网络管理 ...
- 恒天云技术分享系列5 – 虚拟化平台性能对比(KVM & VMware)
恒天云技术分享系列:http://www.hengtianyun.com/download-show-id-14.html 概述 本性能测试报告将详细陈述各虚拟化平台基准性能测试的主要结论和详细结果. ...
- 恒天云技术分享系列3 – KVM性能调优
恒天云技术分享:http://www.hengtianyun.com/download-show-id-11.html KVM是什么 KVM 是 kernel-based Virtual Machin ...
- 【恒天云技术分享系列10】OpenStack块存储技术
原文:http://www.hengtianyun.com/download-show-id-101.html 块存储,简单来说就是提供了块设备存储的接口.用户需要把块存储卷附加到虚拟机(或者裸机)上 ...
- 【恒天云技术分享系列11】Sheepdog简介
sheepdog是近几年开源社区新兴的分布式块存储文件系统,采用完全对称的结构,没有类似元数据服务的中心节点.这种架构带来了线性可扩展性,没有单点故障和容易管理的特性.对于磁盘和物理节点,SheepD ...
- UWP 手绘视频创作工具技术分享系列 - SVG 的解析和绘制
本篇作为技术分享系列的第一篇,详细讲一下 SVG 的解析和绘制,这部分功能的研究和最终实现由团队的 @黄超超 同学负责,感谢提供技术文档和支持. 首先我们来看一下 SVG 的文件结构和组成 SVG ( ...
- UWP 手绘视频创作工具技术分享系列
开篇先来说一下写这篇文章的初衷. 初到来画,通读了来画 UWP App 的代码,发现里面确实有很多比较高深的技术点,同时也是有很多问题的,扩展性,耦合,性能,功能等等.于是我们决定从头重构这个产品,做 ...
- UWP 手绘视频创作工具技术分享系列 - Ink & Surface Dial
本篇作为技术分享系列的第四篇,详细讲一下手绘视频中 Surface Pen 和 Surface Dial 的使用场景. 先放一张微软官方商城的图,Surface 的使用中结合了 Surface Pen ...
随机推荐
- Creating a new Signiant Transfer Engine because the previous transfer had to be canceled.
From: http://stackoverflow.com/questions/10548196/application-loader-new-weird-warning-about-signian ...
- 抽象工厂模式(python版)
http://blog.csdn.net/ponder008/article/details/6886039 抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类.优点:易 ...
- PHP set_exception_handler 设置异常处理函数
If you're handling sensitive data and you don't want exceptions logging details such as variable con ...
- CyanogenMod刷机以及Google Play应用商店安装方法介绍
http://blog.csdn.net/zcynical/article/details/19241595 写在前面: 本文介绍的方法除第一步外,适用于所有CM系统支持的设备,第一步由于用到了PC上 ...
- PHP的执行原理/执行流程
http://www.cnblogs.com/hongfei/archive/2012/06/12/2547119.html 更深入的学习和了解可以查看下面: 风雨的博客http://www.laru ...
- tinyXml在linux下的使用
[下载] 一.下载 xml 软件包:tinyxml_2_6_2.zipTinyxml(轻量级 c++)下载地址:http://sourceforge.net/projects/tinyxml/?sou ...
- SPRING IN ACTION 第4版笔记-第八章Advanced Spring MVC-005-Pizza例子的订单流程()
一. 1.订单流程定义文件order-flow.xml <?xml version="1.0" encoding="UTF-8"?> <flo ...
- classpath、path、JAVA_HOME的作用及JAVA环境变量配置
CLASSPATH是什么?它的作用是什么? 它是javac编译器的一个环境变量.它的作用与import.package关键字有关.当你写下improt java.util.*时,编译器面对import ...
- chromium的部署工具depot_tools和gclient
depot_tools是个工具包,里面包含gclient.gcl.gn和ninja等工具.其中gclient是代码获取工具,它其实是利用了svn和git.主要涉及的depot_tools文件夹下的文件 ...
- Ejabberd源码解析前奏--安全
一.防火墙设置 当你配置防火墙的时候,你需要注意以下 TCP 端口: 端口 描述 5222 用于 Jabber/XMPP 客户端连接的标准端口, 纯文本或 STARTTLS. 5223 Jabb ...