支持Open Flow是Open vSwitch的一块核心内容,在SDN越来越成熟,发展越来越强劲的情况下,学习Open Flow也愈加显得有必要了。本文是我对OVS中Open Flow学习的一个简要分享,内容有限,并且如有错误的地方欢迎指正。
今天在使用greenpool的时候,报出了一个莫名奇妙的错误,百思不得其解。
传统的交换机设备都是支持VLAN隔离的,OpenvSwitch作为一个主流的虚拟交换机,自然也是支持VLAN相关的实现的。OVS交换机内部也可以通过VLAN ID来隔离交换机的各个端口。
原因:traceback.print_exc()
函数打印异常信息时,会调用exception的__str__()
方法,如果该方法出现异常,就会出现该问题
排查:可以在exception的__str__
方法中加try except来捕获异常,打印具体的错误。
按照官方的说法:Open vSwitch是一款高质量的多层虚拟交换机,以开源Apache 2许可证授权,非常适合在虚拟机环境中充当2层交换机。支持多种基于Linux的虚拟化技术,包括Xen / XenServer、KVM和VirtualBox。
支持Open Flow协议,所以可以很方便的通过编程实现大规模网络的自动化,被大量运用于SDN网络中。
neutron除了核心资源以外还有扩展资源,核心资源的API处理实现流程已经分析过了(见:https://blog.try-except.com/technology/neutron-server-api.html)。
那么neutron是如何支持扩展资源的API并进行相关的路由配置呢?
neutron-server服务启动完成后,就能接收API请求并做出相应的处理了,本文就来分析一下neutron server是如何处理各API请求的。
neutron-server启动的过程可以参考:https://blog.try-except.com/technology/neutron-server-start.html
neutron-server是目前接触的比较多的一个项目,抽空分析一下它是如何启动的。
最近在项目中发现了一个历史遗留而又埋的很深的关于编码的坑,涉及到中文编码的转换。在分析的过程中再次回顾了一下有关编码的知识。python版本为2.7。
在上一篇文章中已经学习了如何使用oslo_config模块,再通过这篇文章跟大家讲解一下它的实现原理,丛里到外一层层剥开这个模块的面纱。方便大家更轻松的学习OpenStack源代码。