Write Neutron ML2 Mechanism Driver

本文档介绍了如何创建和逐步完善一个名为'cookbook'的Neutron ML2机制驱动。从基本概念到环境准备,然后详细讲解了如何在devstack的neutron目录下创建驱动文件,以及配置neutron server使用此驱动。随着驱动的逐步完善,添加了网络、子网和端口处理模块,并通过查看日志验证驱动的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Author:海峰 http://weibo.com/344736086
http://yanheven.github.io/

1. 基本概念:

core feature: network, subnet, port
plugins feature: loadbalance, firewall, vpn, etc.
ML2 core plugin: type driver,  mechanism driver.
ML2 type driver: vlan, vxlan, gre,  etc.
ML2 mechanism driver: linux bridge, openvSwitch, etc.

2. 环境准备:

devstack 开发环境搭建, local.conf 参考:

[[local|localrc]]
FORCE=yes
ADMIN_PASSWORD=password
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
SERVICE_TOKEN=$ADMIN_PASSWORD
HOST_IP=192.168.56.102

LIBVIRT_TYPE=qemu
VIRT_DRIVER=libvirt
MULTI_HOST=False

DEST=/opt/stack
LOGFILE=$DEST/logs/stack.sh.log
SCREEN_LOGDIR=$DEST/logs/screen
LOG_COLOR=False
RECLONE=no
VERBOSE=False

disable_service n-net
disable_service tempest
disable_service cinder c-sch c-api c-vol
disable_service heat h-api h-api-cfn h-api-cw h-eng

enable_service q-agt
enable_service q-dhcp
enable_service q-l3
enable_service q-meta
enable_service q-svc

# Neutron related config
Q_PLUGIN=ml2
Q_AGENT=openvswitch
Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,cookbook

# VLAN Related Config
ENABLE_TENANT_VLANS=TRUE
TENANT_VLAN_RANGE=1000:1100
PHYSICAL_NETWORK=physnet1
FLAT_INTERFACE=eth0
OVS_PHYSICAL_BRIDGE=br-eth0
Q_ML2_TENANT_NETWORK_TYPE=vlan

3. 创建简单的ML2 Mechanism driver, 名字叫”cookbook”:

3.1. 在devstack安装目录下的neutron目录下:

/opt/stack/neutron/neutron/plugins/ml2/drivers
创建文件 ml2_mech_driver.py 如下:

# Import Neutron Database API
from neutron.db import api as db
try:
    from neutron.openstack.common import log as logger
except ImportError:
    from oslo_log import log as logger
from neutron.plugins.ml2 import driver_api as api

driver_logger = logger.getLogger(__name__)


class CookbookMechanismDriver(api.MechanismDriver):

    def initialize(self):
        driver_logger.info("Inside Mech Driver Initialize")
3.2. 配置neutron server 使用上面这个ML2 mechanism driver,

编辑文件: /e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值