作者: 赵怡
一、Neutron Kilo版和Newton版本功能区别:
L2-二层
| 功能点 | 功能变化类型 | 描述 |
| 支持管理员手动调度agent | 新增 | 在添加新的agent时支持新的选项: enable_new_agents, 针对以下agent: l3-agent, dhcp-agent, lbaas-agent。当admin_state_up=True和enable_new_agents=True时, 为传统的默认行为, 资源可以自动调度到该agent。当admin_state_up=False和enable_new_agents=False, 为维护模式(测试模式), 资源将不能自动调度到该agent, 直到管理员将admin_state_up置为True。该模式主要用于新增节点时, 管理员不想让用户资源调度到该节点, 需要经过一段时间做测试。 |
| 改进默认MTU配置 | 修改 | 默认把path_mtu置为1500, 'advertise_mtu'置为True, 通过DHCP可以考虑到VXLAN overhead问题, 自动设置为1450. |
| 自动创建网络 | 新增 | “get-me-a-network” , 即Automatic allocation of network topologies, 简化创建虚拟机时需要配置网络信息的步骤。 只需要事先指定默认的外部网络和subnet pools, 创建虚拟机时, 可以让neutron自动根据默认配置, 创建网络,子网,分配ip, 路由器, 连接外网。 |
| 改进l2-agent下线后导致port-bind失败 | bug修复 | 当port bind fail是由于l2 agent下线导致的话, 当l2 agent上线时, port bind将会恢复 |
| ovs实现allowed_address_pairs | 新增 | 虚拟机只允许Neutron给它分配的IP地址和MAC地址对外发包,这一特性之前在iptables实现,现在在OVS上也实现了 |
| ovs默认openflow/ovsdb接口驱动默认改为native方式 | 新增 | neutron-openvswitch-agent原来默认使用'ovs-ofctl'和'ovsdb'接口驱动, 现在改为'native'接口驱动, 提高了性能。 注: ovs-ofctl驱动: 即调用ovs-ofctl命令进行openflow流表下发, 启动ovs-ofctl命令需要花很多时间, 而'native'驱动是通过调用ryu控制器接口, 通过openflow协议下发openflow流表。 ovs-vsctl驱动: 即调用ovs-vsctl命令进行端口、bridge的增删, 启动ovs-vsctl命令需要花很多时间, 而'native'驱动是通过调用ovs提供的python api接口, 通过ovsdb协议来操作。 |
| 支持查询网络及其子网的所有ip个数和使用过的ip个数 | 新增 | 支持查询网络下所有ip个数, 使用过的ip个数。网络下每个子网的所有ip个数, 使用过的ip个数 |
| 支持IP分配选项 | 新增 | port多了一个ip_allocation的属性, 可选值有: ‘immediate’, ‘deferred’, or ‘none’。当创建port时, 'immediate'为: 立即分配和配置IP地址。'deferred'为: 延后分配IP, 等到port能够bind到host时再分配。'none'为: 暂不分配ip |
| subnet增加类型属性: ‘service_types’ | 新增 | subnet增加类型属性: ‘service_types’, 为手动指定的device_owner的列表, 如: network:floatingip_agent_gateway, network:router_gateway。 port分配IP时, 通过port的device_owner匹配subnet的service_type, 来决定在哪个subnet中分配IP。 |
| 厂商驱动被移除 | 废弃 | 厂商的ML2 plugin/agent被移除出neutron代码。 厂商代码被挪到各自的networking-XXX项目中, 其中XXX为厂商驱动名称。 |
安全组
| 功能点 | 功能变化类型 (新增/修改/废弃/重大bug修复/性能改进) | 描述 |
| OVS-agent驱动支持connection track连接跟踪 | 新增 | 新的安全组防火墙驱动引入。基于OpenFlow,使用了connection track |
L3-三层
| 功能点 | 功能变化类型 (新增/修改/废弃/重大bug修复/性能改进) | 描述 |
| 支持IPAM | 新增 | 默认使用可插拔式的IP address management框架, 可使用第三方IPAM, 用来管理IP地址。 |
| L3 HA使用keepalived引发的问题 | bug修复 | 解决L3 HA使用keepalived引发的问题 开启keepalived时会记录进程的pid,如果节点意外关机或者发生故障等,那么这个文件不会清除,下次再开启keepalived时如果这个文件保存的pid恰好被用了,那么keepalived将无法启动 |
| 支持DVR SNAT上的HA | 新增 | 支持DVR SNAT上的HA |
| 支持subnetpool | 新增 | 在K版时引入subnet-pools来防止ip地址重叠, 每个subnet-pools里所添加的subnet地址范围不能重叠。 |
| 支持bgp | 新增 | 向支持动态路由协议的设备, 通告内部网络的前缀, 目前只支持bgp。这样外部网络访问内部网络虚拟机时, 可以不用绑定浮动ip了。涉及到自治域AS, 需要引入address scope, 而address scope依赖于subnet pools。 |
防火墙FWAAS
| 功能点 | 功能变化类型 (新增/修改/废弃/重大bug修复/性能改进) | 描述 |
| FWaaS API | 新增 | FWaaS v1 API计划将被废弃, 由FWaaS v2替代。已经在Newton的rc1版本支持, 但是还有部分功能bug, 文档和tempest测试未完成。 目前默认还是用的v1。v1和v2不能同时使用。FWaaS v2代码已经存在, 增加了对port和方向等功能的支持。 |
| 支持OVS的Firewalls驱动 | 新增 | 使用ovs-firewall driver实现安全组功能,需要依赖native OVS。通过openflow流表实现安全组。还有点小问题, 不成熟。 |
| 防火墙配额修改 | 修改 | 默认firewall的租户配额从无限制改为10个 默认firewall_policy的租户配额从无限制改为10个 默认firewall_rule的租户配额从无限制改为100个 |
负载均衡器LBAAS
| 功能点 | 功能变化类型 (新增/修改/废弃/重大bug修复/性能改进) | 描述 |
| LB V1 API | 废弃 | 废弃存在功能缺陷的LB V1 API |
| LB V2 API | 修改 | 提供功能更全面的LB V2 API。主要是支持多listener,支持7层策略转发 7层策略转发: 一个l7policy可以包含多个l7rule,而l7policy是关联在listener上的,即可以根据策略做报文转发 策略类型包括5种:host_name, path, file_type, header, cookie 转发动作有3种:reject,redirect to pool,redirect to URL |
| Octavia | 新增 | 新增了一个octavia driver,可以支持HA。 |
VPNAAS
| 功能点 | 功能变化类型 (新增/修改/废弃/重大bug修复/性能改进) | 描述 |
| VPNaaS高可用 | 新增 | VPNaaS基于HA Router实现IPSec高可用功能 |
| VPNaaS Endpoint | 新增 | VPNaas Endpoint组用于实现支持本地多子网、远端多子网创建IPsec连接 |
DNS(Designate)
| 功能点 | 功能变化类型 (新增/修改/废弃/重大bug修复/性能改进) | 描述 |
| 废弃2个服务 | 废弃 | 架构上微调,废弃2个服务 designate-zone-manager 和 designate-pool-manager |
| 新增后端DNS | 新增 | 后端DNS新增支持 TinyDNS, Knot DNS 2 |
| 架构优化 | 优化 | 架构优化, 新增2个服务 designate-worker 和 designate-producer 底层命令行操作,由openstack xxx 统一管理dns资源, REST API官方建议使用v2代替v1 |
| 消息上报优化 | 优化 | 优化状态和统计信息上报 |
TACKER
| 功能点 | 功能变化类型 (新增/修改/废弃/重大bug修复/性能改进) | 描述 |
| 安全组 TOSCA 模板 | 新增 | 支持安全组 TOSCA 模板 |
| 获取 VNFC 详细信息 | 新增 | 新增API接口, 获取 VNFC (VNF catalog)详细信息 |
| 试验功能VNF Forwarding Graph | 新增 | 试验功能 VNF Forwarding Graph(转发图功能), 构建多种虚拟数据中心的场景; 所谓转发图是NFV的术语,构建多个VNF,同时包含VNF之间的转发路径,所以称之为FG,一个网络服务可能由一个或多个FG组成 |
| 支持sfc | 新增 | 支持 Neutron 的 networking-sfc driver |
| 支持ceilometer收集event/alarm | 新增 | 通过 Ceilometer 模块触发, 收集 event/alarm |
| 支持VNF扩展 | 新增 | 支持VNF 的自动/手动 横向(数量扩展)和纵向(虚拟机资源)扩展 |
| 在tacker资源的命名字段, 引入唯一条件约束 | 新增 | tacker数据库中, tacker资源的命名字段, 引入唯一条件约束。即资源名称不能重复。 |
| 支持 keystone v3 | 新增 | 修复1个Bug, 支持 keystone v3 |
其他Neutron功能
二、extensions API区别:
| 模块/文件名 | K版和N版本区别 |
| neutron | |
| address_scope.py | 新增 |
| agent.py | 无变化 |
| allowedaddresspairs.py | 无变化 |
| auto_allocated_topology.py | 新增 |
| availability_zone.py | 新增 |
| default_subnetpools.py | 新增 |
| dhcpagentscheduler.py | 无变化 |
| dns.py | 新增 |
| dvr.py | 无变化 |
| external_net.py | 无变化 |
| extra_dhcp_opt.py | 无变化 |
| 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 |
| ip_allocation.py | 新增. 用来表示某端口是否要分配ip或者延后分配ip |
| l2_adjacency.py | 新增 |
| l3_ext_gw_mode.py | 无变化 |
| l3_ext_ha_mode.py | 无变化 |
| l3_flavors.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 | 新增. 网络可用域AZ |
| network_ip_availability.py | 新增. 网络下所有ip个数, 使用过的ip个数。网络下每个子网的所有ip个数, 使用过的ip个数 |
| pagination.py | 新增。查询结果是否分页。 |
| portbindings.py | 增加了baremetal和direct-physical的vnic类型 |
| portsecurity.py | 无变化 |
| project_id.py | 新增. 查询结果是否显示project_id。 |
| providernet.py | 无变化 |
| qos.py | 新增文件。增加了qos限速相关API. 可以对network或者port做QoS限速。policy+rule方式, 目前只有限速:bandwidth_limit_rules, dscp_marking_rules. |
| quotasv2.py | 无变化 |
| rbac.py | 新增文件。Role-Based Access Control for Networks. 新增基于角色访问网络, 网络通过角色定义来共享给一组特定租户。可以在企业和私有云部署中使用。 |
| revisions.py | 新增 |
| router_availability_zone.py | 新增. 路由器可用域AZ |
| routerservicetype.py | 无变化 |
| securitygroup.py | 1.对tenant_id增加了必须为string且长度为TENANT_ID_MAX_LEN的验证要求 2. sg支持的协议中增加了ICMP_V6协议。 3. sg rules方向的更新操作从"允许"变为"不允许" |
| segment.py | 新增 |
| servicetype.py | 无变化 |
| sorting.py | 新增。查询结果是否排序。 |
| standardattrdescription.py | 新增。支持资源描述 |
| subnet_service_types.py | 新增。subnet增加类型: 如: network:floatingip_agent_gateway, network:router_gateway |
| subnetallocation.py | 无变化 |
| tag.py | 新增。资源增加标签做分类查找 |
| timestamp.py | 新增。资源创建、更新的时间戳 |
| trunk_details.py | 新增。port增加trunk属性 |
| trunk.py | 新增。增加trunk |
| vlantrasparent.py | 无变化 |
| fwaas | |
| fireall.py | 1. FW action中除了ALLOW, DENY以外, 增加了REJECT 2. name, description字段增加了长度限制 |
| firewallrouterinsertion.py | 无变化 |
| firewall_v2.py | 新增。增加防火墙v2接口 |
| lbaas | |
| lbaas_agentscheduler.py | 已删除(废弃vLB v1) |
| 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。 |
| l7.py | 新增文件。新增基于7层的策略转发功能。 |
| lb_graph.py | 新增文件。支持一个API创建出一个可用的负载均衡器,目前只支持octavia driver。 |
| lb_network_vip.py | 新增文件。支持创建LB时使用network_id,以适应一个net包含多个subnet的情况。 |
| healthmonitor_max_retries_down.py | 新增文件。增加一个fall threshold,和raise threshold相对应。 |
| sharedpools.py | 新增文件。允许pools在listeners中被共享。 |
| vpnaas | |
| vpnaas.py | vpnservices中增加了字段external_v4_ip,external_v6_ip |

938

被折叠的 条评论
为什么被折叠?



