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

      

  具体配置区别暂略 ...

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。

Hadoop之hive学习_01 - 2016-07-08 14:07:22

Hive是构建在hdfs上的一个数据仓库,本质上就是数据库,用来存储数据 数据仓库是一个面向主题的、集成的、不可更新的、随时间不变化的数据集合,用于支持企业或组织的决策分析处理。 1.      面向主题:数据仓库的主题是按照一定得主题进行组织的,即用户所关注的重点对象,比如商品推荐系统。 2.      集成的:将分散的数据(文本文件,oracle数据,mysql数据。。。)进行加工处理才能够成为数据仓库的存储对象。 3.      不可更新的:数据仓库中的数据起主要用途是用于决策分析,所以主要的数据操
​ (上图为Linux基金会HyperLedger超级账本项目执行董事Brian Behlendorf) 区块链恐怕是时下最热门的前沿技术了。这项兴起于比特币的技术,现在已经被视为金融业和许多其他行业的颠覆性技术。尽管区块链的技术体系和应用框架还处于早期阶段,但这并不能阻挡上至行业巨头下至创业公司的热情。 2016年6月30日,Linux基金会下属的HyperLedger超级账本项目宣布了7位新入成员,其中包括莫斯科证券交易所和来自中国的三家技术公司。自去年12月成立以来,超级账本项目已经从最开始的30家

Hadoop面试题 - 2016-07-07 17:07:55

Hadoop MapReduce采用Master/Slave结构 1. 列举出hadoop中定义的最常用的InputFormats.哪个是默认的?     TextInputFormat(默认)用于读取纯文本文件,key是每一行的位置偏移量,是LongWritable类型的,value是每一行的内容,为Text类型     KeyValueTextInputFormat 同样用于读取文件,如果行被分隔符(缺省是tab)分割为两部分,第一部分为key,剩下的部分 为value;如果没有分隔符,整行作为 key

使用 Ansible 管理 MySQL 复制 - 2016-07-06 19:07:28

Ansible 是一个配置管理和应用部署工具,功能类似于目前业界的配置管理工具 Chef,Puppet,Saltstack。Ansible 是通过 Python 语言开发。Ansible 平台由 Michael DeHaan 创建,他同时也是知名软件 Cobbler 与 Func 的作者。Ansible 的第一个版本发布于 2012 年 2 月,相比较其它同类产品来说,Ansible 还是非常年轻的,但这并不影响他的蓬勃发展与大家对他的热爱。 Ansible 默认通过 SSH 协议管理机器,所以 Ansi
1、节点规划   在master、backup节点上添加eth0、eth1两网卡,具体添加过程,参考“ 基于VMware为CentOS 6.5配置两个网卡 ” 2、IP规划   master backup eth0 192.168.46.128 192.168.46.130 eth1 192.168.46.129 192.168.46.131   上面这个表格说明master节点中的eth0网卡的IP是192.168.46.128,eth1网卡的IP是192.168.46.129;backup节点中eth
概述 在本篇中,学习创建和管理硬链接和符号链接。学习: 创建硬或软链接 识别链接并知道它们的类型 理解复制与链接文件之间的区别 使用链接执行系统管理任务 链接简介 在存储设备上,文件或目录包含在一些数据块中。有关某个文件的信息包含在一个 inode 中,它记录了所有者、最后访问该文件的时间、文件的大小、它是否是目录,以及谁可以读取或写入它等信息。inode 编号也称为 文件序列号 ,该编号在特定文件系统内是唯一的。一个 目录条目 包含一个文件或目录的名称,以及用来存储该文件或目录的信息的 inode 的指
文章亮点 将PHP应用及其依赖的服务容器化步骤 如何将应用容器镜像的构建自动化 应用容器如何快速部署到测试环境和生产环境中 快速上手 PHP官方在 hub.docker.com 上维护了官方的PHP Docker镜像,包含了从PHP 5.5到7.0的多种不同版本的镜像。 我们将以PHP官方的Docker镜像为基础,介绍如何将一个简单的PHP应用Docker化。 创建一个新目录 php-quickstart,作为我们的项目目录 在项目目录下创建文件 app.php ?php  echo “Hello Doc

hive参数调优汇总 - 2016-07-06 17:07:51

参考:http://blog.csdn.net/beckham008/article/details/23741151?utm_source=tuicoolutm_medium=referral 1.设置合理solt数 mapred.tasktracker.map.tasks.maximum  每个tasktracker可同时运行的最大map task数,默认值2。 mapred.tasktracker.reduce.tasks.maximum 每个tasktracker可同时运行的最大reduce ta

查找和放置系统文件 - 2016-07-06 14:07:02

概述 在篇中,学习文件系统层级标准 (FHS)。学习: 确定将文件放在 FHS 下的位置 查找 Linux 系统上的文件和命令 查找 FHS 中定义的其他重要文件和目录,并理解它们的用途 文件系统层级标准 通过在所有 Linux 发行版中都将文件放在同一个一般位置,FHS 简化了与发行版独立的软件开发。FHS 还可以用在 Linux Standard Base 中(参见 参考资料 )。FHS 允许用户和软件预测安装的文件和目录的位置。符合 FHS 的文件系统假设操作系统支持大多数 UNIX 文件系统中包含
题记 对于Docker容器集群来说,比较成熟的方案包括Swarm、Mesos、k8s和Google的Kubernetes,特别是后者得到了更多厂商的使用和推广,但是kubernetes相比较来说技术门槛较高,让很多用户望而却步,幸好,Docker在今年的6月7号开源发布了原生的集群管理工具SwarmKit,主要提供容器集群以及编排能力,那赶紧尝试一下,看看有什么好的功能。 SwarmKit框架 SwarmKit中有两种角色,Manager和Worker。Manager主要管理节点、调度任务。Worker主