neutron-openvswitch-agent代码分析 neutron.plugins.openvswitch.agent.ovs_neutron_agent:main # init ovs first by agent_config:# setup plugin_rpc, state_rpc, msgq consumer, periodically state report# setup br-int, br-tun, bridge_mapping# start sg_agent agen…
1.neutron dhcp3个主要部件分别为什么?2.dhcp模块包含哪些内容?3.Dnsmasq配置文件是如何创建和更新的?4.DHCP agent的信息存放在neutron数据库的哪个表中? 扩展: neutron-dhcp-agent在neutron的作用是什么? 一.概述 neutron dhcp为租户网络提供DHCP服务,即IP地址动态分配,另外还会提供metadata请求服务. 3个主要的部件:DHCP agent scheduler:负责DHCP agent与network的调度…
一.iptables简介 1.iptables数据包处理流程 以本机为目的的包,由上至下,走左边的路 本机产生的包,从local process开始走左边的路 本机转发的包,由上至下走右边的路 简化流程如下: 2.iptables表结构 在neutron中主要用到filter表和nat表 filter表: Chain INPUT Chain FORWARD Chain OUTPUT filter表用于信息包过滤,它包含INPUT.OUTPUT和FORWARD 链. nat表: Chain PRE…
一.Layer-3 Networking Extension neutron l3作为一种API扩展,向租户提供了路由和NAT功能. l3扩展包含两种资源: router:在不同内部子网中转发数据包:通过指定内部网关做NAT.每一个子网对应router上的一个端口,这个端口的ip就是子网的网关. floating ip:代表一个外部网络的IP,映射到内部网络的端口上.当网络的router:external属性为True时,floating ip才能定义. 这两种资源都对应有不同的属性.支持CRU…
1. keepalived vrrp/conntrackd High availability features will be implemented as extensions or drivers.A first extension/driver will be based on VRRP. A new scheduler will be also added in order to be able to spawn multiple instances of a same router…
neutron-server启动过程分析 1. /etc/init.d/neutron-server DAEMON=/usr/bin/neutron-server DAEMON_ARGS="--log-file=$LOGFILE" DAEMON_DIR=/var/run ... case $1 in start) test "$ENABLED" = "true" || exit 0 log_daemon_msg "Starting ne…
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron OVS OpenFlow 流表 和 L2 Population (5)Neutron DHCP Agent (6)Neutron L3 Agent (7)Neutron LBaas (8)Neutron Security Group (9)Neutro…
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron OVS OpenFlow 流表 和 L2 Population (5)Neutron DHCP Agent (6)Neutron L3 Agent (7)Neutron LBaas (8)Neutron Security Group (9)Neutro…
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron OVS OpenFlow 流表 和 L2 Population (5)Neutron DHCP Agent (6)Neutron L3 Agent (7)Neutron LBaas (8)Neutron Security Group (9)Neutro…
学习 Neutron 系列文章: (1)Neutron 所实现的网络虚拟化 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron Linux Bridge + VLAN/VXLAN 虚拟网络 (5)Linux bridge + VXLAN 详解 (6)Neutron OVS OpenFlow 流表 和 L2 Population (7)Neutron DHCP Agent (8)…
关于openstack安全组,采用一问一答的形式记录如下 1. 是加载在计算节点的还是网络节点的? 是加载在计算节点的 2. 是使用iptable规则实现的吗? M版的neutron实现了openvswitch 基于流表的防火墙 之前常见的是用iptables实现的,一般会创建neutron-openvswi-XXX链 3. iptables实现的防火墙方法中,添加的规则都是accept,其余的包都是drop的吗? 是的添加的规则一般都在最后默认drop规则的前面return掉.安全组利用ipt…
一.概述 neutron dhcp为租户网络提供DHCP服务,即IP地址动态分配,另外还会提供metadata请求服务. 3个主要的部件: DHCP agent scheduler:负责DHCP agent与network的调度 DHCP agent:为租户网络提供DHCP的功能,提供metadata request服务. DHCP driver:即dnsmasq,用于管理DHCP server. 二.REST API neutron dhcp提供2类REST API接口,这两类API都是ext…
Neutron 的路由服务是由 l3 agent 提供的. 除此之外,l3 agent 通过 iptables 提供 firewall 和 floating ip 服务.     l3 agent 需要正确配置才能工作,配置文件为 /etc/neutron/l3_agent.ini,位于控制节点或网络节点.     interface_driver 是最重要的选项 如果 mechanism driver 是 linux bridge,则: interface_driver = neutron.a…
Neutron是OpenStack核心项目之一,提供云计算环境下的虚拟网络功能.Neutron的功能日益强大,并在Horizon面板中已经 集成该模块.作为Neutron的核心开发者之一,个人觉得Neutron完全代替Nova Network模块作为云计算网络管理中心是必然趋势.要使用好OpenStack,了解Neutron概念及其相应操作就显得格外重要.为此目的,这篇 博客主要讲述Neutron网络的一些基本概念,网络规划和Horizon中如何使用Neutron中的网络功能. Neutron基…
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron OVS OpenFlow 流表 和 L2 Population (5)Neutron DHCP Agent (6)Neutron L3 Agent (7)Neutron LBaas (8)Neutron Security Group (9)Neutro…
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron OVS OpenFlow 流表 和 L2 Population (5)Neutron DHCP Agent (6)Neutron L3 Agent (7)Neutron LBaas (8)Neutron Security Group (9)Neutro…
有时候我们需要自定义一些自己的action,根据包头里面的信息,做一些自己的操作.   例如添加一个action名为handle_example   第一.修改ofp-actions.c文件   首先在ofp-actions.c里面添加Openflow各个版本的这个action static const struct ofpact_map * get_ofpact_map(enum ofp_version version) {     /* OpenFlow 1.0 actions. */   …
目录 文章目录 目录 Neutron 的软件架构分析与实现 Neutron Server 启动流程 获取 WSGI Application Core API & Extension API Core Plugins & Service Plugins Core Controller & Extension Controller Core API 请求处理 Extension API 请求处理 Neutron Server 小结 Plug-ins 与 Agents Plugin RP…
OpenStack版本:Mitaka 物理节点: Hostname Management IP Tunnel IP Role test-ctrl-01 192.168.100.11 192.168.120.11 Controller Node.Network Node test-cmpt-01 192.168.100.21 192.168.120.21 Compute Node test-cmpt-02 192.168.100.22 192.168.120.22 Compute Node Neu…
Nova代码阅读 确定服务类型 RPC服务 WSGI服务 查询cmd目录下的对应的服务启动脚本,根据服务创建方式来判断服务类型,service.WSGIService表示WSGI服务,service.Service.create表示RPC服务 确认服务的入口 RPC服务 找到service.py文件的SERVICE_MANAGERS变量,这个变量列举了RPC服务的实现类 SERVICE_MANAGERS = { 'nova-compute': 'nova.compute.manager.Comp…
原文链接:https://www.cnblogs.com/potato-chip/p/9127083.html OpenStack虚机网卡的创建过程 OpenStack最基本和常用的操作就是启动虚机.虚机启动的过程中涉及很多内容,其中非常重要的一个环节就是创建并绑定虚机的虚拟网卡.虚机的创建和管理是Nova的任务,虚机网络的创建和管理是Neutron的任务,而虚机网卡,作为连接虚机和虚机网络的桥梁,其创建和管理则同时涉及了Nova和Neutron 1.Neutron L2 Agent上线 首先是…
OpenStack虚机网卡的创建过程 OpenStack最基本和常用的操作就是启动虚机.虚机启动的过程中涉及很多内容,其中非常重要的一个环节就是创建并绑定虚机的虚拟网卡.虚机的创建和管理是Nova的任务,虚机网络的创建和管理是Neutron的任务,而虚机网卡,作为连接虚机和虚机网络的桥梁,其创建和管理则同时涉及了Nova和Neutron 1.Neutron L2 Agent上线 首先是所有的服务上线,看neutron-openvswitch-agent的启动OpenVSwitch agent 启…
DevStack是一系列可扩展的脚本,用于根据git master的最新版本快速启动完整的OpenStack环境.它以交互方式用作开发环境,并作为OpenStack项目功能测试的基础. 参考源码. 警告:DevStack will make substantial changes to your system during installation. Only run DevStack on servers or virtual machines that are dedicated to th…
nova/virt/libvirt/vif.py: _("Unexpected vif_type=%s") % vif_type) NovaException: Unexpected vif_type=binding_failed :/opt/stack/nova$ git grep binding_failed nova/tests/unit/compute/test_compute_mgr.py: def test_init_instance_with_binding_failed…
本系列会分析OpenStack 的高可用性(HA)概念和解决方案: (1)OpenStack 高可用方案概述 (2)Neutron L3 Agent HA - VRRP (虚拟路由冗余协议) (3)Neutron L3 Agent HA - DVR (分布式虚机路由器) (4)Pacemaker 和 OpenStack Resource Agent (RA) (5)RabbitMQ HA (6)MySQL HA 1. 基础知识 1.1 虚拟路由冗余协议 - VRRP 1.1.1 概念 路由器是整…
一.OpenStack安装 安装一个初始化的Mitaka版本的OpenStack环境用于分析,neutron源码 序号 角色 IP地址 版本 1 controller 172.16.15.161 mitaka 2 compute01 172.16.15.162 mitaka 3 compute02 172.16.15.163 mitaka 开始安装吧 # 所有节点全部执行 使用本次安装教程,会安装ceilometer+gnocchi集成.heat.FWAAS.VPNAAS.LBAASv1等 #…
这里没有 去详细考虑neutron server怎么初始化的,而是直接从加载插件的地方开始分析.首先我们看下下面这个文件. Neutron/api/v2/router.py class APIRouter(base_wsgi.Router): @classmethod def factory(cls, global_config, **local_config): return cls(**local_config) def __init__(self, **local_config): #用来…
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron OVS OpenFlow 流表 和 L2 Population (5)Neutron DHCP Agent (6)Neutron L3 Agent (7)Neutron LBaas (8)Neutron Security Group (9)Neutro…
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron OVS OpenFlow 流表 和 L2 Population (5)Neutron DHCP Agent (6)Neutron L3 Agent (7)Neutron LBaas (8)Neutron Security Group (9)Neutro…
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GRE/VxLAN 虚拟网络 (4)Neutron OVS OpenFlow 流表 和 L2 Population (5)Neutron DHCP Agent (6)Neutron L3 Agent (7)Neutron LBaas (8)Neutron Security Group (9)Neutro…