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的更多相关文章

  1. Ubuntu_ROS中应用kinect v2笔记

    Ubuntu_ROS中应用kinect v2笔记 个人觉得最重要的资料如下: 1. Microsoft Kinect v2 Driver Released http://www.ros.org/new ...

  2. [转] OpenStack Kilo 更新日志

    OpenStack 2015.1.0 (Kilo)更新日志 原文: https://wiki.openstack.org/wiki/ReleaseNotes/Kilo/zh-hans 目录  [隐藏] ...

  3. (java)selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致

    描述:selenium webdriver学习--打开新窗口,并判断新窗口是否与目标窗口一致,若一致则切换到该窗口并获取标题 跳出if判断,获取父级标题,并关闭 HTML标签不太明显时,可以用路径表示 ...

  4. python爬取页面内容

    from selenium import webdriverimport xlwt driver = webdriver.Chrome(r'D:\chromedriver.exe')driver.ma ...

  5. 如何搭建自己的SPRING INITIALIZR server

    这两天在慕课学Spring boot ,用idea通过spring initializr新建项目 即使用代理连不上.无奈. 参考了 GitHub - spring-io/initializr: A w ...

  6. 深入linux kernel内核配置选项

    ============================================================================== 深入linux kernel内核配置选项 ...

  7. selenium web driver 实现截图功能

    在验证某些关键步骤时,需要截个图来记录一下当时的情况 Webdriver截图时,需要引入 import java.io.File; import java.io.IOException; import ...

  8. selenium web driver 使用JS修改input属性

    selenium获取input时候,发现type=”hidden” 的input无法修改value,经牛人指点,可以使用js修改 首先html源文件如下,设置为text .hidden.submit ...

  9. Linux Device Driver && Device File

    catalog . 设备驱动程序简介 . I/O体系结构 . 访问设备 . 与文件系统关联 . 字符设备操作 . 块设备操作 . 资源分配 . 总线系统 1. 设备驱动程序简介 设备驱动程序是内核的关 ...

随机推荐

  1. 记录--Gson、json转实体类、类转json

    需要导入Gson jar包 最近在做一个java web service项目,需要用到jason,本人对java不是特别精通,于是开始搜索一些java平台的json类库. 发现了google的gson ...

  2. 巨蟒django之CRM1 需求分析&&表结构设计&&注册登录验证

    1.需求分析 .项目 ()业务 ()权限的管理 .CRM customer relationship management 客户关系管理系统 .谁来使用CRM? 销售&&班主任& ...

  3. 修改已生成项目app名称

    在搜索里添加product Name,然后修改成你需要的app名称 修改完后可能会报错误如下 原因是test的测试路径发生了变化,其实如果不修改Test host的路径保留原来的重命名之前的app也是 ...

  4. 发挥inline-block作用

    .pay-type { // 同行 display: inline-flex; padding: 0 @pay-type_2imgs_padding-width; } .pay-type_icon { ...

  5. 系统盘的消耗 谨慎的日志存储到系统盘+日志级别!! 569 error_log = /usr/local/php7/logs/php-error.log 26 error_log = /usr/local/php7/logs/fpm_error_log

    案例: 系统盘一夜之间骤增近20G nginx + php-fpm cat  /usr/local/nginx/conf/nginx.conf 查看对请求的处理 4个配置文件 /usr/local/n ...

  6. 相似度模型 similarity model

    Lucene4.0附加了相似度模型,允许在文档中使用不同的公式.

  7. block 块 partition 划分

    w 龚升

  8. 浅析TCP/IP

    TCP/IP概述 TCP/IP起源于1969年美国国防部(DOD:The United States Department Of Defense)高级研究项目管理局(APRA:AdvancedRese ...

  9. Python电影投票系统

    电影投票:程序先给出几个目前正在上映的电影列表. 由用户给每个电影投票.最终将该用户投票信息公布出来 lst = ['北京遇上西雅图', '解救吴先生', '美国往事', '西西里的美丽传说']结果: ...

  10. nodejs的精简型和全栈型开发框架介绍

    总体来说你可以将Node.js开发框架归结为两类: - 精简型框架 - 全栈型框架 下面我们就对这两种框架进行探讨. 精简型框架 精简型框架提供的是最基本的功能和APIs,这类框架本身就是被设计成用来 ...