恒天云技术分享系列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 ...
随机推荐
- dll的概念 dll导出变量 函数 类
1. DLL的概念 DLL(Dynamic Linkable Library),动态链接库,可以向程序提供一些函数.变量或类.这些可以直接拿来使用. 静态链接库与动态链接库的区别: (1)静态链接 ...
- [Ruby on Rails系列]5、专题:Talk About SaSS
This is my presentation in the Rails lecture of Hosei University. I will introduce SaSS by 5 example ...
- hibernate 数据行数统计 count(*)
Hibernate关于sql中的count(*)数据统计: ①如果使用的是HQL: 直接在HQL中使用count(*)即可获取行数 Long count = (Long)HibernateUtil.g ...
- linux ubuntu删除引导 grub出现错误解决方案
使用u盘启动PE系统 找到diskgenius软件,点击: 硬盘->重建主引导记录
- [itint5]交替字符串
http://www.itint5.com/oj/#17 DP.注意曾经把赋值写成了==,结果出错半天. bool isInterleaving(string &str1, string &a ...
- 【转】notepad++ 应用学习 -- 列模式,十六进制模式
Notepad++ 顾名思义,是一个比notepad(Windows下叫记事本)的功能更强的编辑器. 总以为notepad++小巧轻盈,而且开源,要比UE(UltraEdit)好用.因为她支持的视 ...
- Servlet课程0426(八)Servlet分页技术
Welcome.java //登录界面 package com.tsinghua; import javax.servlet.http.*; import java.io.*; import java ...
- update多表陷阱
今天同学发了个sql题目 A1表 B1表 id num id snum 1 10 1 90 2 2000 3 4000 3 30 B表的数据插入A表当中 最后的结果 A表 1 90 2 2000 3 ...
- Android 获取TextView 显示的字符串宽度
工作上有业务需要判断textview是否换行,我的做法是判断textview要显示的字符串的宽度是否超过我设定的宽度,若超过则会执行换行. 项目中的其他地方也有这样的需求,故直接使用了那一块的代码.如 ...
- android 电容屏(一):电容屏基本原理篇
平台信息: 内核:linux3.4.39系统:android4.4 平台:S5P4418(cortex a9) 作者:瘋耔(欢迎转载,请注明作者) 欢迎指正错误,共同学习.共同进步!! 关注博主新浪博 ...