odl v2 driver

networking-odl项目的目的/用途就是sync odl和neutron的资源数据库和状态

v1中对于每个neutron的资源操作都相应的调用odl restfu api来同步odl,但问题有以下:

2个操作不能顺序进行导致状态不一致:






V2用来解决资源竞争,可扩展行和支持HA。
基本原理是每个neutron操作都记录到odl 数据库中,
每个odl driver在sync线程中去同步到odl,解决了issue 3。
先把操作记录到DB中解决了操作到odl顺序不一致的问题 (issue 6),
sync线程需要获取DB锁来解决并发锁的问题(issue 2),
同时多个neutron server可以同时写入记录DB解决了并发的问题(issue 1)。
issue 5从odl到neutron的通知功能在开发计划中。

JournalEntry就是一个neutron的操作记录,在ML2的odl driver中的precommit时设置状态为PENDING,
然后由后台同步线程或者postcommit来触发处理PROCESSING 操作。
v2如何支持HA的:

neutron server的操作记录到DB中,同步线程需要获得DB锁来做同步处理。

重新完全同步被用来ODL重启或者初始化时,从neutron DB(注意不是jounalentry DB)同步ODL

需要Lightweight 测试框架来测试HA,tempest测试too heavy, 有一种想法是把tempest 过程录制下来再Lightweight 测试框架回放。
目前社区https://review.openstack.org/#/c/314447/ 打算采用一种更为灵巧的做法,通过message bus上的RPC来模拟neutron 失败来测试HA。




odl v2 driver的更多相关文章
- Ubuntu_ROS中应用kinect v2笔记
Ubuntu_ROS中应用kinect v2笔记 个人觉得最重要的资料如下: 1. Microsoft Kinect v2 Driver Released http://www.ros.org/new ...
- [转] OpenStack Kilo 更新日志
OpenStack 2015.1.0 (Kilo)更新日志 原文: https://wiki.openstack.org/wiki/ReleaseNotes/Kilo/zh-hans 目录 [隐藏] ...
- (java)selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致
描述:selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致,若一致则切换到该窗口并获取标题 跳出if判断,获取父级标题,并关闭 HTML标签不太明显时,可以用路径表示 ...
- python爬取页面内容
from selenium import webdriverimport xlwt driver = webdriver.Chrome(r'D:\chromedriver.exe')driver.ma ...
- 如何搭建自己的SPRING INITIALIZR server
这两天在慕课学Spring boot ,用idea通过spring initializr新建项目 即使用代理连不上.无奈. 参考了 GitHub - spring-io/initializr: A w ...
- 深入linux kernel内核配置选项
============================================================================== 深入linux kernel内核配置选项 ...
- selenium web driver 实现截图功能
在验证某些关键步骤时,需要截个图来记录一下当时的情况 Webdriver截图时,需要引入 import java.io.File; import java.io.IOException; import ...
- selenium web driver 使用JS修改input属性
selenium获取input时候,发现type=”hidden” 的input无法修改value,经牛人指点,可以使用js修改 首先html源文件如下,设置为text .hidden.submit ...
- Linux Device Driver && Device File
catalog . 设备驱动程序简介 . I/O体系结构 . 访问设备 . 与文件系统关联 . 字符设备操作 . 块设备操作 . 资源分配 . 总线系统 1. 设备驱动程序简介 设备驱动程序是内核的关 ...
随机推荐
- CentOS7上elasticsearch5.0启动失败
CentOS7上elasticsearch5.0启动失败 刚一启动完直接就退出了 $ ./elasticsearch ... ERROR: bootstrap checks failed max fi ...
- C# MD5加密与校验 引用
using System; using System.Security.Cryptography; using System.Text; class Example { // Hash an inpu ...
- python多线程(三)
同步锁 两个需要注意的点: 线程抢的是GIL锁,GIL锁相当于执行权限,拿到执行权限后才能拿到互斥锁Lock,其他线程也可以抢到GIL,但如果发现Lock仍然没有被释放则阻塞,即便是拿到执行权限GIL ...
- win7与win server 2008防火墙设置
转自:http://blog.51cto.com/jimshu/590411 Windows 防火墙通过阻止未授权用户通过 Internet 或网络访问您的计算机来帮助保护计算机. Windows 2 ...
- tfboys——tensorflow模块学习(四)
tensorflow功能函数 tf.abs 计算张量的绝对值 abs ( x , name = None ) 定义在:tensorflow/python/ops/math_ops.py. 参考指南:数 ...
- mysql启动报错“NET HELPMSG 3534“的解决办法
原因: mysql安装步骤错误,从mysql5.7.6开始,mysql需要这样安装: mysqld --initialize-insecure或者mysqld --initialize mysqld ...
- Maven- 使用Maven构建一个可执行jar
How to Create an Executable JAR with Maven 1.最重要的是使用jar类型,<packaging>jar</packaging>.当然不 ...
- Java底层代码实现单文件读取和写入(解决中文乱码问题)
需求: 将"E:/data/车站一次/阿坝藏族羌族自治州.csv"文件中的内容读取,写入到"E:/data//车站一次.csv". 代码: public cla ...
- Linux Shell编程 条件判断语法
if条件判断语句 单分支 if 条件语句 语法格式: if [条件判断式];then 程序 fi 或者 if [条件判断式] then 程序 fi 在使用单分支 if 条件查询时需要注意几点: if ...
- Windows彻底卸载VMWare虚拟机
彻底卸载VMWare虚拟机 1.停止VMware相关服务 在服务中将VMware开头的所有服务停止 2.打开VMware安装向导 进入卸载页面 在卸载页面中选中VMware右键点击,进入更改后,页面为 ...