Neutron Kilo-Liberty-Mitaka各版本区别

作者: 赵怡

一、Neutron Kilo版和Liberty版本主要区别:

新增的特性:

1. neutron支持IPv6前缀委托授权为IPv6子网分配CIDR

2. neutron支持QoS API, 初期只支持端口带宽限制

3.路由器HA (L3 HA/VRRP)在L2 population(l2_pop)设置为enable时, 可以正常工作了。

4. VPNaaS参考驱动现在可以和HA router一起正常工作了

5. HA路由器上使用的VRRP网络, 可以配置为特定的segmentation类型或者物理网络tag。

6. OVS agent重启, 不会影响数据网络的连接。

7. 新增基于角色的网络访问控制(role based access control (RBAC) for networks)

8. LBaaS V2参考驱动现在基于Octavia平台

9. LBaaS V2 API不再是实验性的, 而是稳定版本了

10. neutron给管理员提供手动调度agent, 便于测试

11. 提供可插拔式的IP address management框架, 可使用第三方IPAM。

废弃和删除的plugins和驱动:

1. metaplugin被移除

2. IBM SDN-VE monolithic plugin被移除

3. Cisco N1kV monolithic plugin被移除, 被ML2机制驱动取代

4. Embrane plugin被废弃, 在Mitaka版本会被移除

废弃的特性:

1. FWaaS API被标为实验性质的, M版将会被移除, 新版的FWaaS API将会在M版取代老版的。

2. LBaaS V1 API被标记为废弃的, 准备在未来版本中移除, 并将被LBaaS V2 API取代。

3. L3 agent中的‘external_network_bridge‘选项将被废弃

性能:

1. Linux kernel(3.13): ‘ip netns exec‘命令在namespace增长的情况下, 性能表现出了明显下降。3.19版本以上版本修复该问题。

2. 使用Octavia驱动创建LBaaS负载均衡时, 如果不使用硬件虚拟化, 会很慢。原因是在不使用硬件虚拟化的场景下, QEMU使用TCG加速器而不是KVM加速器。尽量在计算节点上使用硬件虚拟化。

其他相关模块状态:

1. 从自研的WSGI框架转为pecan wsgi框架。

2. 发布正式项目: aodh v1.0.0. 为ceilometer的一个报警引擎。

3. 发布正式项目: barbican v1.0.0: 密钥管理

4. 发布正式项目: designate v1.0.0. 提供DNS服务。

5. 发布正式项目: manila v1.0.0: 云端共享文件服务

6. 发布正式项目: zaqar v1.0.0: 消息队列服务。开发者可以在不同的SaaS模块或移动应用之间发送消息。

7. 容器编排项目: magnum. 在kilo版时发布了第一个版本。

L版目前没有发布版本。Magnum 在设计上,希望调用其它的容器管理平台的 API 来实现功能,自身作为一套API 框架,目前支持 Docker、Kubernetes、Swarm 等。主要优势包括多租户、多后端框架、完善的容器功能、支持资源调度等。如果说 Nova 是一套支持不同Hypervisor (KVM、VMWare 等虚拟机平台)的 API 框架,那么 Magnum 则是支持不同容器机制的 API 框架。

8. Dragonflow还未发布版本, 文档上看到准备在L版发布版本。

华为以色列团队开发 , 在网络节点上集成一个controller agent作为控制器 , 计算节点上取消l3-agent, 通过控制器给计算节点 l2-agent下发三层openflow 流表来实现。

9. puppet-neutron发布6.10版, 没有更新CHANGELOG.用来自动部署openstackneutron.

二、Neutron Liberty版和Mitaka版本主要区别:

l  增加SSL连接选项到designate external dns driver

l  支持配置WSGI greenthreads pool

l  各物理网络上的多个NIC可以用于SR-IOV

l  改进默认MTU配置。默认把path_mtu置为1500, ‘advertise_mtu‘置为True, 通过DHCP可以考虑到VXLAN overhead问题, 自动设置为1450.

l  LinuxBridge agent可以支持基本的port, network QoS限速功能

l  外部网络可以被RBAC框架所控制

l  DHCP agent可以被指定到一个可用域中

l  L3 agent可以被指定到一个可用域中。HA router可以使用, 但DVR目前不支持, 因为L3HA和DVR集成工作还未完成。

l  nova可以自动创建网络, 不需要人为手动创建网络资源。

l  浮动IP可以关联dns_name和dns_domain属性

l  Port可以关联dns_name属性, Network可以关联dns_domain属性

l  浮动IP和端口会在外部DNS service中发布, 如果它们有关联dns_name和dns_domain属性的话

l  提供可以集成neutron和designate的参考驱动

l  当port bind fail是由于l2 agent下线导致的话, 当l2 agent上线时, port bind将会恢复

l  支持QoS策略在不同租户的subnet之间共享

l  安全组策略, 网络, 端口, 路由器, 浮动IP, subnet pools现在可以有一个可选的描述信息供用户填写

l  用户可以在网络资源上配置tag标签

l  网络资源可以使用tag来过滤. 支持"tags", "tags-any", "not-tags"和"not-tags-any"

l  对neutron核心网络资源network, subnet, port,subnetpool加入创建, 更新的时间戳

l  允许非管理员用户定义"外部"自定义路由。

l  租户子网,浮动ip主机路由通过BGP发布. BGP 支持:Neutron 目前支持将租户子网和浮动 IP 以及路由网关或者浮动 IP 代理网关(DVR 情况下)发布为 BGP 的下一跳;

l  对address scope加入额外属性告诉用户address scope在哪个网络里

l  支持DVR SNAT上的HA

l  qemu/kvm实力可以通过MaVtap桥模式添加到网络上

l  支持获得网络上可用的ip和使用过的ip个数

l  RPC和通知消息放入不同的队列中

l  neutron服务支持相应SIGUSR2消息,打印内部调试信息到标准错误输出

l  新的安全组防火墙驱动引入。基于OpenFlow,使用了connection track

l  neutron支持keystone v3

三、extensions API区别:


模块/文件名


L版本与K版本区别


M版本与L版本区别


Neutron


address_scope.py


新增功能。用于区分和标示subnetpools, 同一个address scope下的subnetpools不能重叠, 同时必须为同一个地址族。


增加ip_version字段以及Networks(包括IPV4_ADDRESS_SCOPE和IPV6_ADDRESS_SCOPE)


agent.py


"description"字段, 改为string_or_none, 可以为none. 原来是string.


无区别


allowedaddresspairs.py


无区别


无区别


auto_allocated_topology.py


L版无该功能


自动通过auto_allocated_topology获得一个network id, 用来当作启动虚拟机的网络, 简化操作, 省去了用户自己创建网络,子网,选择网络这些操作。


availability_zone.py


L版无该功能


支持对DHCP和L3 agent的可用域, 允许用户指定哪个节点上使用相关网络服务。


bgp_dragenscheduler.py


L版无该功能


L3 router中加入动态路由, 支持BGP路由发现和通告


bgp.py


L版无该功能


同上


default_subnetpools.py


L版无该功能


支持在subnet中标记默认subnetpool


dhcpagentscheduler.py


无区别


无区别


dns.py


新增功能。 ports api上新增配置DNSNAME, DNSASSIGMENT


增加了对浮动IP和网络的接口, 并增加了对DNS name的字符串合法性检查


dvr.py


无区别


无区别


external_net.py


无区别


无区别


extra_dhcp_opt.py


无区别


无明显区别, 改进了对extra dhcp opt的合法性检查


extraroute.py


无区别


无区别


flavor.py


删除文件


无明显区别, 改进了参数的合法性检查


flavors.py


新增功能。用来定义service type和service profile。当前的service provider框架可以让用户选择服务时使用多个底层驱动, 但其中是有一些问题。flavor提供了一个机制, 让operator选择驱动, 驱动metadata,  flag.

Flavor

id: uuid name: string description: text service: LOADBALANCER, VPN, FIREWALL, L3_ROUTER, etc supported_extensions: comma separated value string selection_algorithm: Enum(random, available, least_used) service_profiles: [(uuid list, weight)]
(JSON list) enabled: boolean

Service Profile

id: uuid description: text driver: string metainfo: string(json encoded dict) enabled: boolean


无区别


l3_ext_gw_mode.py


无区别


无区别


l3_ext_ha_mode.py


无区别


无区别


l3.py


floatingips字段增加了subnet_id, 可以选择subnet来创建floating ip


无区别


l3agent_scheduler.py


无区别


无区别


metering.py


对tenant_id增加了必须为string且长度为TENANT_ID_MAX_LEN的验证要求


无区别


multiprovidernet.py


无区别


无区别


netmtu.py


无区别


无区别


network_availability_zone.py


L版无该功能


Network中支持可用域


network_ip_availability.py


L版无该功能


提供IP可达性信息


portbindings.py


增加了baremetal的vnic类型


无区别


portsecurity.py


无区别


无区别


providernet.py


无区别


无区别


qos.py


新增文件。增加了qos限速相关API. 可以对network或者port做QoS限速。policy+rule方式, 目前只有限速:bandwidth_limit_rules.


无区别


quotasv2.py


无区别


无区别


rbac.py


新增文件。Role-Based Access Control for Networks. 新增基于角色访问网络, 网络通过角色定义来共享给一组特定租户。可以在企业和私有云部署中使用。


无区别


router_availability_zone.py


L版无该功能


Router中支持可用域


routerservicetype.py


无区别


无区别


securitygroup.py


1. 对tenant_id增加了必须为string且长度为TENANT_ID_MAX_LEN的验证要求

2. sg支持的协议中增加了ICMP_V6协议。


无区别


servicetype.py


无区别


无区别


standardattrdescription.py


L版无该功能


对以下资源表项增加了标准的描述: security_group_rules, security_groups, ports, subnets,networks, routers, floatingips, subnetpools


subnetallocation.py


无区别


无区别


tag.py


L版无该功能


支持对network资源配置tag标签


timestamp_core.py


L版无该功能


对neutron的一些核心资源(如net, subnet, port and subnetpool), 支持保存创建和更新时间, 用于DEBUG


vlantrasparent.py


无区别


无区别


fwaas


fireall.py


1. FW action中除了ALLOW, DENY以外, 增加了REJECT

2. name, description字段增加了长度限制


默认firewall的租户配额从无限制改为10个

默认firewall_policy的租户配额从无限制改为10个

默认firewall_rule的租户配额从无限制改为100个


firewallrouterinsertion.py


无区别


无区别


Lbaas


l7.py


L版无该功能


增加了对7层policy的支持


lbaas_agentscheduler.py


无区别


无区别


lbaas_agentschedulerv2.py


无区别


无区别


loadbalancer.py


无区别

vLB API v1无变化。


无区别


loadbalancerv2.py


default_tls_container_id字段名改为default_tls_container_ref

sni_container_ids字段名改为sni_container_refs

vLB v2部分,L版比K版多了两个API接口命令,分别是:

lbaas-agent-hosting-loadbalancer LOADBALANCER, 查看指定的loadbalancer又哪一个agent来监管。

lbaas-loadbalancer-list-on-agent LBAAS_AGENT, 查看指定的agent上监管了哪些loadbalancer。


loadbalancers中增加了flavor_id

members中增加了name


shared_pools.py


L版无该功能


允许pools在listeners中被共享


vpnaas


 


vpn_endpoint_groups.py


L版无该功能


支持VPN endpoint组


vpnaas.py


vpnservices中增加了字段external_v4_ip,external_v6_ip


ipsec_site_connections中支持local_ep_group_id, peer_ep_group_id

四、L版合入的BP:

https://launchpad.net/neutron/liberty/7.0.0

实现了28个blueprint,解决了558个bug


Lbaas,
use Octavia as reference implementation


Neutron
IPAM


支持与第三方IPAM系统集成。


Reference
IPAM driver


将IPAM代码重构,不改逻辑。


Replace WSGI framework
with Pecan


用Pecan替代WSGI架构


Add
enable_new_agents to neutron server


添加配置项,不进行初始化,用于测试新部署的网络节点。


Add
integration-tests framework for Neutron.


集成测试。


Internal
DNS Resolution


之前虚拟机的host name是neutron自动分配的,通过dnsmasq配置到虚拟机中。现在host name可以是虚拟机的名字。port中新增dns_name字段。


Neutron QoS API extension


实现qos功能


Online
Schema Migrations


支持在线迁移


Provide
better user-facing mechanism to chose service capabilities


Reliable
quota enforcement


Reorganize
Unit Test Tree


Role-based
Access Control for Networks


support
ipv6 prefix delegation


subnet可以配置一个ipv4子网范围,而且使可以重复的。但是ipv6不行,因为ipv6是全局路由,不能重叠。所以为了方便使用提出了prefix delegation机制实现prefix自动分配。


DPDKOVS
- ML2 DPDK OVS Support


支持DPDK加速OVS实现ML2。


ML2/OVS QoS support with bandwidth limiting


qos


Neutron-Ironic
Integration


支持baremetal环境中TOR switch实现的端口绑定LAG,通过将LLDP信息和LAG信息送给Neutron,使其感知provider network。


Porting Neutron to Python 3


支持python 3。


Set
optional csum attribute on ovs tunnels


OVS 2.4支持option:csum以提高vxlan性能。


add
conntrack management to security group


安全组支持conntrack,提高安全性。


ML2 Plugin QoS API extension support


qos


Enable spoofchk control for SR-IOV ports


在SRIOV端口上支持配置MAC欺骗检查。使用ip link命令。在bond端口上配置时比较有用。


ML2
extension for ONOS


在networking-onos项目中,实现ml2的onos driver。onos控制器北向接口与neutron集成。


OVS
agent: Use python binding instead of ovs-ofctl command


用ofctl存在缺陷:1.性能低;2.不支持异步消息。改用ryu控制器实现ofagent监听TCP端口。ovs中与控制器建立长连接。支持openflow v1.3和nicira扩展。配置of_interface为ovs-ofctl或native(即ofagent)。


Support
external physical bridge mapping in linuxbridge


支持利用原有的接口(用户定义的接口)实现ext-bridge(以前要新创建个)。在linuxbridge中新增配置项bridge_mappings,默认为空。检查端口如果存在,使用这个端口,否则创建一个这样的端口。


fwaas-reject-rule


keep
dns nameserver order consistency


dns nameserver配置支持优先级:

neutron subnet-update [subnet_id] --dns_nameservers list=true 1.1.1.1 2.2.2.2 3.3.3.3


onos-neutron-interaction


onos

五、M版合入的BP:


Provide better user-facing mechanism to choose service capabilities


LBaaS plugin can delegate VIP allocation to drivers


allow multiple subnets to connect to vpn


enable vhost-user support with ovs agent


Add Guru Meditation Report Functionality to Neutron


Add availability zones for agents


Automatically generate etc/neutron.conf file


Clean up resources when a tenant is deleted


External DNS Resolution


Get Me a Network


Modular L2 Agent


Restructure L2 agent


Improve DVR router sheduling mechanism for better performance/scalability


Introduce Address Scopes


ML2/LinuxBridge QoS support with bandwidth limiting


Add tags to core resources


Add timestamp to neutron resources


Adds a network-ip-usage api to fetch network and subnet IP usage counts


LBaaS Layer 7 rules


Role-based Access Control for QoS policies


Router Extension for Dynamic Routing Using BGP

六、L版的配置项改动:

L2相关配置项改动:

ovs-agent:

新增:  of_interface, 可选:ovs-ofctl, native,默认ovs-ofctl, OpenFlow interface to use.

datapath_type, 可选system, netdev,默认system,OVS datapath to use.

of_listen_address, 默认127.0.0.1,只给native用, Address tolisten on for OpenFlow connections.

of_listen_port,默认6633, 只给native用, Port to listenon for OpenFlow connections.

of_connect_timeout,默认30,只给native用, Timeout in seconds to wait forthe local switch connecting the controller.

of_request_timeout,默认10,只给native用,Timeout in seconds to wait for asingle OpenFlow request.

drop_flows_on_start, 默认False, Reset flow table on start.Setting this to True will cause brief traffic interruption.

tunnel_csum,默认False, Set or un-set the tunnelheader checksum  on outgoing IP packet carrying GRE/VXLAN tunnel.

agent_type, 默认Open vSwitch agent,即将被删除,Selects the Agent Typereported

dhcp-agent:

新增:

force_metadata, 默认False, Force to use DHCP to get Metadata on all networks.

dnsmasq_base_log_dir, 保存dhcp和dns日志,即dnsmasq日志。

废弃:

dhcp_domain, openstacklocal,挪到neutron.conf,并更名为dns_domain

dhcp_delete_namespaces, 默认值修改为True,即将废弃

metda-agent:

新增:

endpoint_url,默认值None, Neutron endpoint URL, ifnot set will use endpoint     from the keystone catalog along withendpoint_type

neutron:

新增:

dns_domain, 默认值openstacklocal, Domain to use for building the hostnames

ipam_driver, 默认值None,IPAM driverto use

七、M版的配置项改动:

现在M版的config文件都是自动通过脚本生成的。

neutron项目中, 增加了如下配置文件: bgp_dragent.ini, macvtap_agent.ini, ml2_conf_sriov.ini,sriov_agent.ini

需要通过类似如下命令生成配置文件:

oslo-config-generator--namespace oslo.messaging \

--namespace nova.common \

--namespacenova.compute > nova-compute.conf

具体配置区别暂略 ...

时间: 2024-10-25 08:30:39

Neutron Kilo-Liberty-Mitaka各版本区别的相关文章

OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]

http://blog.163.com/[email protected]/blog/static/1820473820123206189381/ OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别] 2012-04-20 18:18:09|  分类: java参考资料|举报|字号 订阅 下载LOFTER我的照片书  | 在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle  JDBC驱动来解决的?最常使用的ojdbc14

Debug与Release版本区别

Debug与Release版本区别 Debug版本就是调试版本,Visual C++ 6.0默认的就是Debug版本.在Debug版本中,可以使用单步执行.跟踪等功能,但其生成的可执行文件比较大,代码运行比较慢.Release版本就是发行版本,其运行速度较快,可执行文件较小,但在其编译条件下无法执行调试功能.     还有一点,Release版本的exe文件链接的目标是标准的MFC DLL(Use MFC in a shared or static dll).比如MFC42.DLL.这些DLL在

java版本区别

java版本区别 点我,点我,Eclipse几个版本号的区别(part1) 点我,点我,Eclipse几个版本号的区别(part2) 点我,点我,Eclipse几个版本号的区别(part3)

nginx的Mainline version、Stable version、Legacy version的版本区别

nginx的Mainline version.Stable version.Legacy version的版本区别 创建时间:2014-01-16 10:30:37最后修改:2014-09-23 20:13:44 Nginx官网提供了三个类型的版本Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版Stable version:最新稳定版,生产环境上建议使用的版本Legacy versions:遗留的老版本的稳定版 nginx下载地址:http:

Mysql 各个版本区别及官网下载

Mysql各个版本区别及官网下载 一.Mysql 各个版本区别: 1.MySQL Community Server 社区版本,开源免费,但不提供官方技术支持. 2.MySQL Enterprise Edition 企业版本,需付费,可以试用30天. 3.MySQL Cluster 集群版,开源免费.可将几个MySQL Server封装成一个Server. 4.MySQL Cluster CGE 高级集群版,需付费. 5.MySQL Workbench(GUI TOOL)一款专为MySQL设计的E

Python2.x与3??.x版本区别

Python2.x与3??.x版本区别 Python的3??.0版本,常被称为Python 3000,或简称Py3k.相对于Python的早期版本,这是一个较大的升级. 为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容. 许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行. 为了照顾现有程式,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法

PEP8风格和python版本区别

python解释器 官方Cpython C语言开发,最广泛的Python解释器 IPython 一个交互式,功能增强的Cpython PyPy Python语言写的Python解释器,JIT技术,动态编译Python代码 Jython Python的源码编译成Java的字节码,跑在JVM上 IronPython 与Jython类似,运行在.Net平台上的解释器,Python代码被编译成.Net的字节码 版本区别 2.X和3.X区别 语句函数化,例如print(1,2)打印出1 2,但是2.x中意

CentOS 7 镜像文件各个版本区别

CentOS ISO 镜像文件的功能 引导安装 CentOS ISO 镜像文件包含有安装程序,官方称其为 Anaconda,用来引导安装 CentOS 提供 CentOS 的安装文件 镜像文件不一定包含我们安装所需要 CentOS,可能只有安装程序,用以引导安装 提供额外软件 不只是在安装过程中可以提供额外软件,在已经安装使用的系统中也可以挂载该 ISO 镜像文件,使用其中的软件安装包 修复 CentOS 也就是我们常说的光盘救援系统 CentOS 7 镜像文件各个版本区别 CentOS 7 有

查看Eclipse版本号的方法及各个版本区别 Eclipse选择标准

这篇文章主要介绍了查看Eclipse版本号的方法及各个版本区别 Eclipse选择标准,方便初学者选择适合自己的版本,需要的朋友可以参考下 Eclipse 是一个开放源代码的.基于Java的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK). 查看Eclipse版本号的方法 1. 找到eclipse安装目录 2. 进入readme文件夹,打