功能点 |
功能变化类型 |
描述 |
支持管理员手动调度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 |
功能点 |
功能变化类型 (新增/修改/废弃/重大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。 |
功能点 |
功能变化类型 (新增/修改/废弃/重大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个 |
功能点 |
功能变化类型 (新增/修改/废弃/重大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。 |
功能点 |
功能变化类型 (新增/修改/废弃/重大bug修复/性能改进) |
描述 |
VPNaaS高可用 |
新增 |
VPNaaS基于HA Router实现IPSec高可用功能 |
VPNaaS Endpoint |
新增 |
VPNaas Endpoint组用于实现支持本地多子网、远端多子网创建IPsec连接 |
功能点 |
功能变化类型 (新增/修改/废弃/重大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 |
消息上报优化 |
优化 |
优化状态和统计信息上报 |
功能点 |
功能变化类型 (新增/修改/废弃/重大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 |
功能点 |
功能变化类型 (新增/修改/废弃/重大bug修复/性能改进) |
描述 |
支持QoS |
新增 |
新增QoS功能, 支持对虚拟机端口、网络的限速和dscp marking。目前支持qos的ml2驱动有: ovs, linuxbridge, sriov。对网络的限速是指对该网络下所有端口进行限速。 |
支持RBAC |
新增 |
新增基于角色的网络访问控制(RBAC), 允许其他项目访问自己的资源。通过创建RBAC策略,指定access_as_shared操作来完成。使用RBAC,其他项目能够在可访问的网络上创建端口(L版已支持);向可访问的网络或端口绑定QoS策略(M版支持);向网络绑定router gateway(M版支持) |
支持可用域AZ |
新增 |
支持对DHCP和L3 agent的可用域, 允许用户指定哪个节点上使用相关网络服务。 在dhcp-agent, l3-agent配置文件里指明该agent所属的AZ名称。然后在创建网络或路由器时, 指明期望的AZ名, 那么实际创建网络、路由器时会调度到az所要求的agent上。 |
支持Address Scope |
新增 |
通过把子网划分到address scope, 可以把有通信需求的子网归类到一起, 形成路由域(自治域AS)。 由于路由域不能有ip地址重叠, 在K版时引入subnet-pools来防止ip地址重叠, 每个subnet-pools里所添加的subnet地址范围不能重叠。 |
支持vlan-aware-vms |
新增 |
目前虚拟机收发的是vlan untagged报文。但是有些虚拟机(如NFV), 需要收发vlan tagged报文, 这时可以用这个功能。 虚拟机镜像需要创建vlan子接口,支持收发vlan tagged报文。 neutron需要创建新的trunk port, 并把原来的port作为child port挂在trunk port下, 同时指定child port的vlan id, 再把trunk port挂在虚拟机上就可以了。类似于QinQ。 openstack network trunk create --parent-port port0 --subport port=port1,segmentation-type=vlan,segmentation-id=101 trunk0 openstack server create --flavor ds512M --image vlan-capable-image --nic port-id=port0 --wait vm0 |
支持l2 gateway |
新增 |
通过service plugin实现, 用来打通虚拟网络和物理网络, 提供二层互联。需要在网络节点和计算节点运行l2-gateway-agent。 主要用来接入第三方网络设备, 并分配vlan/vxlan id。 L2-gateway作为Neutron的一种Service,neutron原有的功能不会有任何影响。 L2GW Service Plugin的作用为接收用户的l2-gateway rest api请求,操作l2gw数据库,传递消息到l2gw agent使进行底层处理。 L2GW agent的作用类似一个消息中介,收到L2GW Service Plugin的消息后,转换为ovsdb消息对gateway进行配置;收到gateway发送的ovsdb数据变化消息后,转换为rpc消息通知L2GW Service Plugin。 |
支持在部分网络资源上填写描述信息 |
新增 |
安全组策略, 网络, 端口, 路由器, 浮动IP, subnet pools现在可以有一个可选的描述信息供用户填写 |
支持在部分网络资源上配置tag标签 |
新增 |
用户可以在网络资源上配置tag标签, 网络资源可以使用tag来过滤. 支持"tags", "tags-any", "not-tags"和"not-tags-any" 其中:neutron net-list –tags TAG 表示只显示标签为TAG的网络; Neutron net-list – tags-any TAG1,TAG2…. 表示只显示标签为TAG1或TAG2的网络; Neutron net-list –not-tags TAG 表示标签为TAG的网络都不显示,其余网络都显示; Neutron net-list –not-tags-any TAG1,TAG2 表示只要有TAG1或TAG2标签的网络都不显示, 其余网络都显示。 |
支持网络核心资源加入创建、更新的时间戳 |
新增 |
对neutron核心网络资源network, subnet, port, subnetpool加入创建, 更新的时间戳 |
RPC消息放入不同队列, 提高收发性能 |
性能改进 |
RPC和通知消息放入不同的队列中, 用来提高高优先级消息收发的性能 |
neutron的config文件通过脚本生成 |
新增 |
现在的config文件都是自动通过脚本生成的, RPM发布版中已经提供了生成好的config文件 需要通过类似如下命令生成配置文件: oslo-config-generator --namespace oslo.messaging \ --namespace nova.common \ --namespace nova.compute > nova-compute.conf |
neutron资源排序分页默认开启 |
修改 |
Neutron 资源的排序分页 之前此功能是在配置文件中配置的,且默认关闭;目前这两个选项通过 extension 的形式进行管理,默认开启,并且通过 API 检查是否开启了排序和分页 |
neutron CLI将被OSC逐步替换 |
新增 |
neutron CLI将被OSC(OpenStack Client)逐步替代,相应的代码移植到python-openstackclient,将不会更新python-neutronclient。 neutron-*aas cli也会进行迁移,所有新增API必须支持openstack-client。 创建网络命令将会是:openstack network create [parameter1, 2…] |
升级各组件, 服务不需要重启 |
新增 |
升级各组件, 服务不需要重启 还未正式发布 |
模块/文件名 |
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中被共享。 |
aas |
|
aas.py |
services中增加了字段external_v4_ip,external_v6_ip |