zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    大话设计模式总结(28种设计模式定义+简单理解)
    Dbank网盘下载地址提取ASP
    C#特性详解
    wcf大文件传输解决之道(1)
    WCF完美搭建android平台服务之一
    堆栈和委托堆的区别(c#)一
    wcf完美搭建android平台服务之三
    liunx简单命令集合
    WCF完美搭建android平台服务之二
    WCF中常用的binding方式比较
  • 原文地址:https://www.cnblogs.com/allcloud/p/5600491.html
Copyright © 2011-2022 走看看