问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎样写 OpenStack Neutron 的 Plugin

发布网友 发布时间:2022-04-29 11:06

我来回答

1个回答

热心网友 时间:2022-06-26 16:09

  首先要介绍一下我的开发环境。我没有使用DevStack,而是直接在电脑上安装了三个Virtual Box,然后根据OpenStack的Ubuntu 安装指南部署了一个环境:一个控制节点,一个网络节点和一个计算节点。接下来我会直接在控制节点上修改 <your path>/neutron/ 下面的文件,然后通过重启neutron 的各个service来更新我的修改。如果使用DevStack的话估计和我的情况也差不太多。
  那我的neutron在安装完之后的完整路径是 /usr/lib/python2.7/dist-packages/neutron。neutron下的文件结构如下:
  - neutron/
  - agent/
  - api/
  - cmd/
  - common/
  - db/
  - debug/
  - extensions/
  - locale/
  - notifiers/
  - openstack/
  - plugins/
  - scheler/
  - server/
  - services/
  - manager.py
  - neutron_plugin_base_v2.py
  - service.py
  - wsgi.py
  - ...

  其中,自己写的plugin就会放在plugins/ 下面,而neutron_plugin_base_v2.py中定义了一个plugin应该实现的最小的API集合。其他还有一些在extensions/ 和db/ 下面的文件也比较重要,会在接下来的一些文章中提到。最后省略了一些目前我没有特别用到的文件。
  如果有人对Neutron如何加载plugin感兴趣,可以再manager.py中加一些断点用pdb进行debug。它里面有一个class叫NeutronManager, 在初始化过程中有一个语句加载了plugin:plugin_provider = cfg.CONF.core_plugin。具体debug方法可以参考Yong Sheng Gong的一个ppt,链接在这里:http://www.slideshare.net/gongys2004/inside-neutron-2
  好,现在我们就要开始实现自己的plugin了。
  第一步就是在plugins下面创建自己的文件夹和一些文件:
  - neutron
  - plugins
  - myplugin
  - __init__.py
  - plugin.py

  上述两个文件是最基本的,当然plugin.py也可以用不同的名字。但是__init__.py的名字是不能改的,这个用来告诉Python myplugin可以看做是一个mole。plugin.py里面可以先定义一个基本空的class 叫做MyPlugin,虽然现在这个plugin什么用都没有。
  from neutron.db import db_base_plugin_v2
  from neutron.openstack.common import log

  LOG = log.getLogger(__name__)

  class MyPlugin(db_base_plugin_v2.NeutronDbPluginV2):

  def __init__(self):
  LOG.info("MyPlugin is started.")

  代码中出现的 neutron.db 和 neutron.openstack.common 我会在之后的章节中提到。现在暂时不用去管它们。
  第二步,搞定plugin.py之后就要想办法在Neutron里注册一下这个plugin,这样Neutron启动的时候就会认识这个plugin并且知道怎么加载它。这时候需要找到一个entry_points.txt文件。它不在之前我们提到的那个neutron大文件夹下面,而是在与之平行的一个neutron egg info 文件夹下。具体在我的环境中:
  - neutron
  - neutron-2014.1.egg-info
  - entry_points.txt

  在这个文件中,有一个选项是[neutron.core_plugins],所有的注册的core_plugins都在里面。在它下面我们可以自己加一行:
  myplugin = neutron.plugins.myplugin.plugin:MyPlugin
  然后在 /etc/neutron/neturon.conf 中有一个选项是[DEFAULT],在它下面有一行用来设置core plugin:
  core_plugin = myplugin
  如果没有找到entry_points.txt这个文件的话,据说另外一个办法就是直接在 neutron.conf 中指明这个plugin:
  core_plugin = neutron.plugins.myplugin.plugin.MyPlugin
  不过这个方法我没有尝试过。
  做完这两步之后再重启一下neutron就搞定收工了。看一下/var/log/neutron/server.log,如果出现了我们那行log信息的话就说明Neutron已经加载了我们的什么都干不了的plugin了。
在OpenStack里怎样配置Neutron,让虚拟机访问外网

6. 用具有admin role的用户在Openstack Controller节点创建外网(external network)和相应子网,这里的外网是所谓的provider network,是不允许普通权限的租户创建的,普通的租户只能创建租户网络。注意"--router:external=true"选项表示这是一个外网,网络类型选的是flat(如果外网是VLAN,就选VLAN),子网的CID...

OpenStack的Neutron组件详解

Neutron支持多种网络技术,可以通过开发不同的plugin和agent来实现。在Havana版本中,Neutron实现了一个新的core plugin,即Moduler Layer 2(ML2),它允许在OpenStack网络中同时使用多种Layer 2网络技术,不同的节点可以使用不同的网络实现机制。ML2通过引入type driver和mechanism driver,解耦了Neutron所支...

如何安装,配置和使用Neutron的各个组件

sudo zypper install openstack-neutron sudo zypper install openstack-neutron-openvswitch-agent 配置 大部分插件都需要一个数据库。OpenStack Networking 的 Fedora 包包含服务器设置实用程序脚本,负责数据库的完整安装和配置:sudo neutron-server-setup --plugin openvswitch 但也可以手动配置这些数据库。

基于openstack网络模式的vlan分析

本文主要以vlan为例,并结合local来详细的分析下openstack的网络模式。 1. local模式 此模式主要用来做测试,只能做单节点的部署(all-in-one),这是因为此网络模式下流量并不能通过真实的物理网卡流出,即neutron的integration bridge并没有与真实的物理网卡做mapping,只能保证同一主机上的vm是连通的,具体参见RDO和neutron...

neutron的主要组件有

OpenStack Networking:这是Neutron的核心组件,它提供了网络资源的管理和分配功能。Quantum Plugin:这是Neutron与底层网络设备之间的接口,它负责将网络资源分配给OpenStack虚拟机实例。Quantum Router:这是Quantum的一个组件,它提供了一种基于网络的VPN连接方式。Quantum Load Balancer:这是Quantum的一个组件...

如何借助 OVN 来提高 OVS 在云计算环境中的性能

只要能够运行 OVS,就可以运行 OVN,所以 OVN 可以和 Linux,Docker,DPDK 还有 Hyper-V 兼容,从 OVS 升级到 OVN 是非常容易的。另外 OVN 可以和很多 CMS(Cloud Management System)集成到一起,比如 Openstack neutron,这些 CMS 只需要添加一个 plugin 来配置 OVN 即可。

携程和苏州移动云研究所哪个好

1、携程云平台团队基于OpenStack构建IAAS平台,旨在提升资源交付效率、统一资源交付标准。虚拟化网络方案基于OpenStackNeutron及Openvswitch技术实现,网络架构是传统的大三层架构。2、苏州移动云研究所位于苏州科技城中移软件园内,该中心立足苏州,业务范围辐射全国,聚焦移动云业务发展,承担起移动云的研发、运营、...

在OpenStack里怎样配置Neutron,让虚拟机访问外网

OpenStack里虚机(或者叫instance)只有在分配floating IP后才能访问外网,那么需要怎样做配置才能达到目的呢看 1. 需要在网络节点上确定一个可以访问外网的物理网卡,这个网卡可以和管理网卡是一个。这里我们假定外网网卡和管理网卡是独立的,且外网网卡的名字叫做eth2。2. 添加一个新的bridge br-ex,并将...

在OpenStack里怎样配置Neutron,让虚拟机访问外网

OpenStack里虚机(或者叫instance)只有在分配floating IP后才能访问外网,那么需要怎样做配置才能达到目的呢看 1. 需要在网络节点上确定一个可以访问外网的物理网卡,这个网卡可以和管理网卡是一个。这里我们假定外网网卡和管理网卡是独立的,且外网网卡的名字叫做eth2。2. 添加一个新的bridge br-ex,并将...

如何安装,配置和使用Neutron的各个组件

sudo apt-get install neutron-plugin-openvswitch-agent Red Hat:类似于 Ubuntu,您必须同时安装 Neutron 服务器和插件 — 例如: $sudo yum install openstack-neutron$sudo yum install openstack-neutron-openvswitch openSUSE:使用以下命令: $sudo zypper install openstack-neutron$sudo zypper ...

openstackcinder openstack有什么用 基于openstack openstack二次开发 openstack特点 openstack详解 openstack官方文档 openstack版本 怎样写
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
白条额度负了有什么影响 "珍惜现在"用英文怎么说 做机压双眼皮五天了,昨天朋友过生日,喝酒了,今天早起眼睛有点红肿。会... 浙江省景区排名,浙江最好旅游景点排名 ...有什么好玩的地方:浙江最好玩的景点前十名,浙江省那里有旅游景点 别人打我,拉我的衣服,我怔了下他就摔倒了,有我的责任吗 被别人打了但是没有证据正当房卫下打人者脸上有一点点划痕怎么办?_百 ... 帮我用probably造一个句子,我或许会不高兴 索泰gt640 1G显卡能玩刺客信条4:黑旗吗? 求回答 好的加分 索泰GT640-1GD3 雷霆版 MA基本参数 使用openstack还需要开发吗 Word隐藏批注后保存,重新打开文档批注为什么还是会显示出来??? openstack horizon开发环境搭建运行run_tests报错No module named config... 如何设置工作环境成为OpenStack开发人员 00 OpenStack中国社区 WORD经过审阅修改之后,也在最终状态下保存了,然后再重新打开文档,修改的时候还是会出现审阅状态 word中的审阅模式怎么永久去掉,按照操作选完之后再打开还是有,怎么才能再打开不显示? 请问各位都如何搭建OpenStack的开发环境? 刚在实体店买的华为手机 想退货 但是销售说电子保卡激活了 不能退了 我还有其他办法退货吗 荣耀V30por手机或者荣耀华为的手机连上WiFi后电子保卡会激活吗? 华为电子保卡怎么看f 华为mate30激活后电子保卡怎么多保2个月? 华为P30pro电子保卡怎么设置 怎么取消神州伟智的定位啊,刚刚发来短信? 2021环保概念龙头股一览名单 微信发送位置定位公司却定位了隔壁公司,如何处理? iphone6刚发的位置怎么撤回 微信20天前发的定位可以撤回吗 闪电定位发出怎么撤回 华为手机如何在锁屏的情况下拉下通知栏? 从外地转来的社保卡丢失要到哪里补办? 我初中开始驼背驼到现在,感觉很难过,请问有哪种矫正驼背的工具,推荐一下。不要做广告哦。 上海正规的瑜伽教练培训学校? 人血白蛋白输超过多少有危险 怎么样才能让别人加我? 有谁知道怎么才能让更多的人加入自己呢? 如何让人加你 如何让人加你 求PC端 的 1000Hz 音频信号 1000Hz的音频采样率够不够用? 1000hz声音有哪些 怎么叫别人加我 1000Hz的音频采样率能播放1000Hz的声音? 求一个可以产生特定频率声音的软件 孤男寡女共处一室危险吗? 中英香港问题谈判始末观后感 怎样往学习机上下载音乐,视频?(有mp3与mp4功能) 孤男寡女共处一室,女生会有危险么。女生应该注意什么? 为什么人对频率在1000Hz的声音比较敏感? 孤男寡女共处一室危险吗 好记星有些视频放不起来要不要下软件?要下什么软件?