Quantum OpenvSwitch Plugin代码架构

此文主要罗列一下OpenvSwitch Plugin的代码架构,做一点解释,为后续文章做准备。

1.代码目录结构:

quantum ovs plugin代码目录

ovs_quantum_plugin.py:是plugin部分的主文件,在配置文件中指定选用此文件中类OVSQuantumPluginV2,quantum在启动的时候就会实例化此类,从而plugin可以正常工作。

ovs_models_v2.py:是数据库models文件,主要是sqlachemy使用,用于把数据库的一个Table和一个类进行关联。

ovs_db_v2.py:openvswitch plugin的数据库支持,通过使用sqlalchemy实现数据库的查找写入等操作。

ovs_quantum_agent.py:agent程序文件,在agent端执行

common:则包含了解析OVS配置相关的支持。

2.OpenvSwitch Plugin类关系

插件主要是ovs_quantum_plugin.py文件,首先查看一下该文件中import的内容:

from quantum.db import quota_db
from quantum.db import securitygroups_rpc_base as sg_db_rpc
from quantum.extensions import portbindings
from quantum.extensions import providernet as provider
from quantum.extensions import securitygroup as ext_sg
from quantum.openstack.common import importutils
from quantum.openstack.common import log as logging
from quantum.openstack.common import rpc
from quantum.openstack.common.rpc import proxy
from quantum.plugins.openvswitch.common import config
from quantum.plugins.openvswitch.common import constants
from quantum.plugins.openvswitch import ovs_db_v2
from quantum import policy

其中plugin部分的类关系如下图所示:

ovs_plugin_uml

其中,剪头表示类之间的继承关系,而带点的线表示该类的一个实例是作为另外一个类中的一个属性

3.penvSwitch Agent类关系

还是先看import的内容:

import sys
import time

import eventlet
from oslo.config import cfg

from quantum.agent.linux import ip_lib
from quantum.agent.linux import ovs_lib
from quantum.agent.linux import utils
from quantum.agent import rpc as agent_rpc
from quantum.agent import securitygroups_rpc as sg_rpc
from quantum.common import config as logging_config
from quantum.common import constants as q_const
from quantum.common import topics
from quantum.common import utils as q_utils
from quantum import context
from quantum.extensions import securitygroup as ext_sg
from quantum.openstack.common import log as logging
from quantum.openstack.common import loopingcall
from quantum.openstack.common.rpc import dispatcher
from quantum.plugins.openvswitch.common import config
from quantum.plugins.openvswitch.common import constants

相应的UML图:

ovs_agent_uml

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值