ML2 Plugin框架说明

2023-11-11

在H版本中,ML2 Plugin被添加意图取代所有的Core Plugin,它采用了更加灵活的结构进行实现,下图即为ML2 Plugin的实现框架。
作为一个Core Plugin,ML2自然会实现network/subnet/port三种核心资源,同时它也实现了包括Port Binding等在内的部分扩展资源。
ML2解耦了网络拓扑类型与底层的虚拟网络实现机制,并分别通过Driver的形式进行扩展,其中,不同的网络拓扑类型对应着Type Driver,由Type Manager管理,不同的网络实现机制对应着Mechanism Driver,由Mechanism Manager管理。
目前,Neutron中已经实现了Flat/GRE/VLAN/VsLAN等拓扑类型的Type Driver,也实现了Linux Birdge/Open vSwitch以及众多厂商的Mechanism Driver,通过这些众多的Driver,ML2 Plugin实现了其他Core Plugin的功能。
ML2 Plugin的源码结构为:
# neutron/plugins/ml2/
--common
--config.py -一些配置选项定义
--db.py
--driver_api.py -定义了TypeDriver和MechanismDriver基类
--driver_context.py
--drivers -各种TypeDriver和MechanismDriver的实现
--managers.py -定义TypeManager和MechanismManager类
--models.py
--plugin.py -类ML2Plugin实现
--rpc.py -与Agent进行RPC交互


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ML2 Plugin框架说明 的相关文章

  • Openstack常用命令

    目录 一 创建用户 二 创建删除模板和模板其他操作 三 创建更新删除镜像 四 创建网络 五 VPN的使用 六 创建容器swift模块 前言 在linux中使用openstakc命令前 需要source etc keystone admin
  • Openstack云平台脚本部署之Aodh告警服务配置(十三)

    目录 一 简介 二 部署脚本 三 参考文档 四 源码 五 系列文章 一 简介 Openstack告警服务Aodh负责当收集的数据度量或事件超过所设定的阈值时 会出发报警 从Liberty 版本后从Ceilometer 中拆分出来 独立为单独
  • OpenStack的部署(六)------Neutron项目

    目录 一 CT控制节点 1 创建数据库neutron 并进行授权 2 创建用户 服务并赋权 3 注册API 4 安装提供者网络 桥接 并修改相关配置文件 5 重启相关服务 二 C1 C2计算节点操作 1 部署neutron服务 2 配置Li
  • ceph安装记录总结

    1 环境准备 准备三台虚机 每个虚机配合三块数据盘 2块网卡 一个网卡设置外网 一个网卡设置成内网 配置文件设置 根据实际情况配置每一个节点 编辑 letc sysconfig network scripts ifcfg ethO 文件 外
  • WSL2安装图形化界面

    文章目录 安装图形化界面 安装图形化界面 由于WSL2 Ubuntu默认不安装图形化界面 所以需手动安装 apt get install xfce4 使用windows powershell 查看WSL使用的IP地址 ipconfig 进入
  • OpenStack自动化安装部署实战(附OpenStack实验环境)

    packstack是openstack自动化安装工具 packstack程序中写入了openstack的安装过程 可以自动化对服务器进行openstack软件包的安装 packstack可以在answer file设置安装参数 在安装时 p
  • 查看OpenStack的版本

    show openstack version root localhost openstack version openstack 4 0 2 Using openstack version will only give you the v
  • OpenStack企业级实战

    一 环境初始化 1 CentOS7一键安装OpenStack 安装参考 Install RDO 前提条件 准备一个8g或16g内存的centos7 有一块网卡可以访问internet 磁盘 40G cpu分2 4线程 cpu要开启虚拟化 r
  • Ubuntu部署OpenStack zed版本neutron报错:Feature ‘linuxbridge‘ is experimental and has to be explicitly enab

    系统版本 Ubuntu 22 04 1 LTS OpenStack版本 zed 组件 Neutron 组件报错内容 Feature linuxbridge is experimental and has to be explicitly e
  • OpenStack的搭建与使用

    初次接触open stack与Linux 如有错误与可改进的地方 恳请指出 一 搭建 一 配置推荐 系统 镜像 内存 储存 Linux centos7 6 16G 100G 二 前期准备 1 开启虚拟化 图2 1 开启虚拟化 2 关闭防火墙
  • openstack创建域、项目、用户、角色报错

    报错出现 An unexpected error prevented the server from fulfilling your request HTTP 500 1 创建项目service openstack project crea
  • OpenStack主要功能和作用

    OpenStack主要组件和作用 openstack是一个开源的云计算管理平台 由几个重要的组件结合起来完成工作 openstack支持所有类型的云环境 实施简单可以大规模扩展丰富标准统一的云计算管理平台 openstack通过各种互补的服
  • 超详细OpenStack一键式部署

    1 准备镜像文件 Cen1 创建新的虚拟机 1 创建虚拟机 点击关闭 2 安装Centos7 密码自己设置 不用跟着一样 2 生成动态IP地址 root localhost dhclient 3 查看生成的IP地址 root localho
  • 云计算1+X之openstack篇

    openstack之Keystone 服务运维 概述 OpenStack 框架中 Keystone OpenStack Identity Service 的功能是负责验证身份 校验服务规则和发布服务令牌的 它实现了 OpenStack 的
  • openstack实战之使用sysprep工具封装windows7镜像

    openstack实战之使用sysprep工具封装windows7镜像 在openstack云平台环境下 使用sysprep封装windows7系统主要目的是清理虚拟机的SID 避免使用同一windows7镜像克隆出的虚拟机出现相同的SID
  • 用python画星空源代码

    from turtle import from random import random randint screen Screen width height 800 600 screen setup width height screen
  • 创建新的 docker-machine 实例始终无法使用 openstack 驱动程序验证证书

    每次我尝试通过创建一个新实例docker machine在开放堆栈上 我总是在验证证书时收到此错误 我必须在创建实例后立即重新生成证书才能使用这些实例 docker machine create driver openstack opens
  • 安装pbr时出错

    我想在运行 OSX 10 8 5 的计算机上安装 openstack 客户端 作为先决条件 我需要安装 pbr 所以 我做了以下事情 git clone git github com openstack dev pbr git cd pbr
  • 使用 python-boto 启动 Openstack 实例

    我正在尝试在 opensatck 设置上启动实例 并使用 python boto 配置多个网络 但我收到以下错误 EC2ResponseError EC2ResponseError 400 Bad Request
  • Terraform,如何在现有资源上运行配置程序?

    我的问题与这个 github 帖子类似 https github com hashicorp terraform issues 745 https github com hashicorp terraform issues 745 这也与我

随机推荐

  • eslint+prettier前端代码规范配置

    前端代码规范配置 参考来源 https blog csdn net u013361179 article details 108885859 前言 eslint的作用 eslint作用是按照一定规则 检测代码质量 prettier的作用 p
  • Hyperledger Fabric网络快速启动

    目录 1 网络服务配置 2 关联的docker compose base yaml 各Peer节点容器设置如下信息 3 被关联的Peer base yaml 4 启动网络 2 完成通道的创建 2 1将节点加入应用通道 更新锚节点 2 为什么
  • 【数据结构实验】哈希表设计

    数据结构实验 哈希表设计 简介 针对本班同学中的人名设计一个哈希表 使得平均查找长度不超过R 完成相应的建表和查表程序 文末贴出了源代码 需求分析 假设人名为中国人姓名的汉语拼音形式 待填入哈希表的人名共有三十个左右 取平均查找长度上限为2
  • python将dataframe输出到word文档中

    python将文本 dataframe输出到word文档中 加载基本库 from docx import Document import pandas as pd temp name link dir south beizhu test d
  • 【2019.09.08】python 基于Excel设计实现的关键字驱动的自动化测试框架

    之前写过PO模式 数据驱动的测试框架 最近要做一个测试平台 先写一个关键字驱动的测试框架练练手 Excel 样式展示 如图 结果展示 代码 结构 读取excel usr bin env python coding utf 8 Time 20
  • UE4 C++ 一个Character踩地雷

    UE4 C 一个Character踩地雷 Fill out your copyright notice in the Description page of Project Settings pragma once include Core
  • MD5加密

    interface NSString LuckyMD5 NSString md5String MD5加密 32位 小写 param str 传入要加密的字符串 return 返回加密后的字符串 NSString MD5ForLower32B
  • 推荐系统公平性论文阅读(一)

    公平性 fariness 新的突破点 推荐系统的公平性 fairness 正在成为推荐系统领域的一个新的突破点 目前对于推荐系统这种需要落地的应用 单纯的在模型领域取得准确率等指标的突破已经不是唯一的追求 虽然fancy的模型依然重要 但是
  • 国产弱网测试神器 QNET零基础快速上手(上)

    01 APP弱网测试背景 App 在使用的过程中 难免会遇到不同的弱网络环境 像在公车上 在地铁 地下车库等 在这种情况下 手机常常会出现网络抖动 上行或下行超时 导致 APP 应用中出现丢包延迟 从而影响用户体验 作为软件测试工程师 我们
  • brew install报错Error: No developer tools installed. Error: Command failed with exit 128: git

    先来解决第一个问题 Error No developer tools installed Install the Command Line Tools xcode select install xcode select install 然后
  • 【C++】auto关键字的使用(C++11)

    1 auto简介 C语言中auto关键字专门用来修饰函数中定义的变量 表明 该变量为自动存储类型的变量 即该变量会被自动销毁掉 C 11中 标准委员会赋予了auto全新的含义即 auto不再是一个存储类型指示符 而是作为一个新的类型指示符来
  • web前端开发主要课程,CSS字体样式值,赶紧收藏!

    前言 基础知识是前端一面必问的 如果你在基础知识这一块翻车了 就算你框架再好 无济于事 因为对方就不会再给你展示的机会 千万不要因为基础错过了自己心怡的公司 本篇文章可能只是适用于刚毕业的同学或者毕业 2 年之内的小伙伴 大家酌情阅读 零基
  • linux中ldconfig的使用介绍

    ldconfig是一个动态链接库管理命令 其目的为了让动态链接库为系统所共享 ldconfig的主要用途 默认搜寻 lilb和 usr lib 以及配置文件 etc ld so conf内所列的目录下的库文件 搜索出可共享的动态链接库 库文
  • npm安装electron时卡死 ,而利用cnpm安装electron时失败(等一系列幺蛾子)

    按照这个教程 安装cnpm 并执行 cnpm install g electron 时出现 post install failure 部署失败 原因是cnpm只会安装electron的js脚本和js依赖 electron所需要的chromu
  • java求最小公倍数(亲测秒懂)

    直接上代码 public static int gcd int a int b int r while r a b 0 a b b r return b
  • [4G/5G/6G专题基础-154]: 5G无线准入控制RAC(Radio Admission Control)+ 其他准入控制

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 126234036 目录 第1章 什么是
  • Qt中的字符串类QByteArray功能讲解

    得把这话写在前面 不要看到有很多东西都不会就学不下去了 事实上这些不是全部要装到脑子里的 尝试着用的时候就查 现阶段是入门 毕竟之前没接触过 不要心急 勇敢牛牛 字符串类型 c gt char c gt std string Qt gt Q
  • vtk表面提取参数研究

    marching cubes是三维图形处理中常见的算法 实际使用中 对一个影像数据做表面提取 然后平滑得到一个组织表面是一个常用功能 下面这段代码是参考3d slicer的分割流程的代码 boneExtractor vtkMarchingC
  • 【牛客网】OR63 删除公共字符串

    一 题目描述 牛客网题目链接 删除公共字符 牛客题霸 牛客网 描述 输入两个字符串 从第一字符串中删除第二个字符串中所有的字符 例如 输入 They are students 和 aeiou 则删除之后的第一个字符串变成 Thy r std
  • ML2 Plugin框架说明

    在H版本中 ML2 Plugin被添加意图取代所有的Core Plugin 它采用了更加灵活的结构进行实现 下图即为ML2 Plugin的实现框架 作为一个Core Plugin ML2自然会实现network subnet port三种核