Aug 272017
 

kolla的7月份月报没写,其实也不是偷懒,主要还是因为社区的开发工作,都在进行中,没太多的更新。8月份,可以说是Kolla的Pike版本交付的重要时候。正式版本应该会在9月15号前发布。

这个月的月报,其实也可以作为Kolla的Pike版本的Release Note。

下面我就把Kolla和Kolla-ansible在Pike版本完成的工作,做一个总结。

vmware-nsx

NSX,是vmware大名鼎鼎的SDN控制器,强悍到什么地步呢?vxlan,用软件,可以达到线速。目前OpenStack上的 vxlan,还是一个摆设。

这个可以说,真的是针对OpenStack企业级别的应用。OpenStack如何集成,或者说纳管Vmware。那么对于Pike版本来说,应该是有2种方案。vmware官方推荐的方案,就是通过 vmware-nsx的neutron插件实现集成。

需要注意的是:vmware集成要求Vmware的版本是5.5以上 企业版本,支持DVS才行。

目前Vmware官方支持的OpenStack集成方案,就是在OpenStack的Neutron,集成vmware-nsx插件,vmware端,可以是vmware的企业版本,企业DVS,如果希望更多的功能集成,例如vpn,负载均衡等,那么就需要你在vmware边启用NSX插件。

目前Kolla集成vmware-nsx插件,对于NSX的支持,已经做的很好。这是国内企业云宏贡献的。实现了vpn,Firewall,loadbance的集成。

NSX其实也分两个版本,还是比较复杂,测试还需要搞License。这个功能,已经经过云宏的朋友严格的测试。大家可以好好关注。

Kolla的Pike版本,刚好支持多Region,这个vmware插件,一个region,只能是vmware的虚拟机。

ODL (OpenDaylight)

这个是Intel力推的功能,投入了很大的精力,并且对kolla进行了很多的改动,才能支持这种外部的sdn控制器。

目前中兴的朋友,在Ocata版本也已经测试通过。那么在Pike版本,应该是可以完全可以玩得转。

把各种SDN控制器都放到容器里,这样其实会大大减少SDN控制器的复杂性,让用户可以快速对各种功能进行测试。大家如何在Opendaylight的网站,就会发现相关的文章,介绍Kolla如何集成ODL。

https://wiki.opendaylight.org/view/OpenStack_Kolla_and_OpenDaylight

文章内容其实已经过时。最新的版本,你就enable,参考一下,就可以搞定。

SR-IOV

这个功能,其实还是很酷的。就是直接把物理的网卡分配给vm使用,没性能损耗。缺点就是vm无法迁移。在性能要求下,这个还是可以接受的。

这种功能实现,其实对于kolla来说,就是一种配置,多装几个包就差不多。

https://bugs.launchpad.net/kolla-ansible/+bug/1655921

OVS-DPDK

这个功能,其实红帽在Newton版本,就提供给客户使用,说明该功能,还是经得起考验。这个对内核要求还是很高的。

https://review.openstack.org/#/q/project:openstack/kolla-ansible+branch:master+topic:bp/ovs-dpdk

很可惜,这个功能,应该在Pike版本无法完成。

Skydive

这是一个非常吸引眼球的功能,可以查看到OpenStack整个网络拓扑,流量情况。这个项目是红帽开发的,红帽自己的产品还没集成,就在Kolla实现集成。

目前大家已经在做了很多完善的工作,可以显示SDN控制器的流量情况。真的是一个很酷的东西。如何结合Grafana。Elasearch,基本你想干啥都没问题。

这个功能,大家一定要去看看。需要注意,他依赖Elasearch。需要enable一下Elasearch才行。

Tacker

这是NFV项目。我其实也是最近才有点明白。IT缩写词汇太多。我底下附上红帽的解析。

kolla社区在Pike版本,花费了很多精力,把Tacker的新的功能都加上,例如让mistral支持tacker。

还有SFC。都是高级功能和玩法。

https://review.openstack.org/#/c/493891/

https://review.openstack.org/#/c/493856/

Hyper-V

这其实也是一个很大的亮点。支持微软的Hyper-v。微软的windows 2016,在Hyper-v上做的很大的改进。已经敢挑战红帽,linux在Hyper-v的性能,超过kvm。

在Pike版本,基本功能都正常。不过遗憾就是Hyper-v节点的安装,还是使用msi的包,没有用windows的容器。据说在下一个版本,会把Hyper-v的节点安装,也是容器化。

这是很有追求的玩法。

ARM64 支持

让OpenStack跑在非X86平台上,这是一件很酷的事情。在ARM下,linux操作系统支持的最好是Debian。

其实目前在x86下,Debian对OpenStack支持的都不好,主要是没公司在支持。这次ARM64的OpenStack支持,主要是由Linaro 这家在业界很有名气的公司完成。

目前kolla已经可以真正实现ARM64,跑OpenStack。利用了Docker的优势,不过还是需要做很多工作才行。

 

Big Tent

对于Big Tent项目,已经没剩下多少。在Ocata版本,剩下

  1. Dragonflow
  2. Monasca
  3. Zun
  4. Vitrage
  5. Zaqar
  6. EC2-api

在Pike版本里,Kolla就集成了Zun和EC2-api,两个。

对于剩下的4个项目,其实都已经动手。Docker file已经完成。就剩下写roles。工作量其实并不太大。可以好好锻炼新人。

在Queue版本,我的期望,就是实现一个真正的全家桶。

如果有朋友有兴趣参与Kolla开发,希望入门,其实可以找我聊聊。我会全力相助。

遗憾

对于OpenStack每个版本发布,都会多少有遗憾的地方。对于Kolla来说,Pike版本,至少我感觉几个遗憾的地方。

  1. Ceph还没升级到12.0 的版本,因为目前还没正式发布。没法体验Bluestore。
  2. Elasearch,没有升级到5.x。
  3. Ovs-dpdk没完整实现
  4. ovn,应该也是没完成

这些遗憾,就留到下一个版本Q版本来补救。

对于OpenStack每年,2月份,和8月份发布的两个版本来说。我个人更加喜欢二月份的版本,因为二月份的版本,因为美国的圣诞节,中国的春节,其实真正开发的时间,比8月份版本,估计会少20%左右开发时间。所以可以把精力放在上一个版本没实现的功能上,这样效果应该是更好。

 

附录

NFV介绍

https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/11/html-single/network_functions_virtualization_product_guide/

Network Functions Virtualization (NFV) is a software-based solution that helps the Communication Service Providers (CSPs) to move beyond the traditional, proprietary hardware to achieve greater efficiency and agility while reducing the operational costs.

Virtualized Network Functions (VNFs) – the software implementation of network functions, such as routers, firewalls, load balancers, broadband gateways, mobile packet processors, servicing nodes, signalling, location services, and so on.

NFV Infrastructure (NFVi) – the physical resources (compute, storage, network) and the virtualization layer that make up the infrastructure. The network includes the datapath for forwarding packets between virtual machines and across hosts. This allows you to install VNFs without being concerned about the details of the underlying hardware. NFVi forms the foundation of the NFV stack. NFVi supports multi-tenancy and is managed by the Virtual Infrastructure Manager (VIM). Enhanced Platform Awareness (EPA) allows Red Hat Openstack Platform improve the virtual machine packet forwarding performance (throughput, latency, jitter) by exposing low-level CPU and NIC acceleration components to the VNF.

NFV Management and Orchestration (MANO) – the management and orchestration layer focuses on all the service management tasks required throughout the lifecycle of the VNF. The main goals of MANO is to allow service definition, automation, error-correlation, monitoring and lifecycle of the network functions offered by the operator to its customers, decoupled from the physical infrastructure. This decoupling requires additional layer of management, provided by the Virtual Network Function Manager (VNFM). VNFM manages the lifecycle of the virtual machines and VNFs by either interacting directly with them or through the Element Management System (EMS) provided by the VNF vendor. The other important component defined by MANO is the Orchestrator also known as NFVO. NFVO interfaces with various databases and systems including Operations/Business Support Systems (OSS/BSS) on the top and with the VNFM on the bottom. If the NFVO wants to create a new service for a customer, it asks the VNFM to trigger the instantiation of a VNF (which may result in multiple virtual machines).

Aug 172017
 

从2016年开始,OpenStack项目的PTL从以前的1年选举一次,改成半年选举一次。也就是项目的当前版本开发周期RC1发布前后,就要开始下一个版本的PTL的选举。

根据 https://releases.openstack.org/pike/schedule.html Queens版本的PTL选举将要在8月初举行,首先是提名,如果一个项目提名人只有一人,那么就自动当选。如果超过2人,就要进行投票,在过去1年里,参与过该项目提交过commiter都是有资格进行投票。如果该项目没人竞选,那么这个项目将会很可能移除Big Tent。

目前所有Big Tent管理的项目 https://governance.openstack.org/tc/reference/projects/index.html

OpenStack专门一个一个地方管理项目候选人的竞选 https://github.com/openstack/election/tree/master/candidates

查看ptl是归属那家公司 https://git.openstack.org/cgit/openstack/governance/tree/reference/projects.yaml 根据邮箱就基本差不多。

如果需要进一步,那么可以 http://stackalytics.com 

下面的更新,不见得很准确,不过我应该都是查询过的。有问题大家纠正。说一下我的感受

  1. 红帽投入在加大,应该是PTL数量最多的公司
  2. 华为在进攻,上半年就挖了好几个PTL,目前含金量最高的Nova PTL在华为 ,keystone也是在华为。 Cinder的Pike的PTL,也是在华为。实力已经可以和红帽PK一下。
  3. 中兴拿下两个项目的PTL,可喜可贺。
  4. IBM,Rackspace,HPE,Mirantis正在退出
  5. Chef,Congress,EC2 api,rpm,puppet,RefStack,solum,magnum 都面临前景的问题。
  6. 这次有两个项目没人竞选PTL,Storlets,Deb,另外Fuel,因为公司原因,移掉了3个项目,增加了一个项目shade。 Storlets后面TC选一个当选。
  7. 表扬一下Lenovo ,Cinder项目的PTL
  8. Telemetry项目还是很艰难,PTL竞选邮件都是维持状态。
  9. 会说中文的PTL在增加。中国公司的PTL也在增加中
  Queens (Pike) Queens (pike)
项目 PTL 公司
Barbican Dave McCowan Cisco
Chef OpenStack Samuel Cassiba (Jan Klare) Cloudbau
Cinder Jay Bryant  (Sean McGinnis) Lenovo (Dell)
Cloudkitty Christophe Sauthier Objectif Libre
Community App Catalog Matthew Wagoner IBM
Congress Eric K 个人
Designate Graham Hayes (Tim Simmons) Suse (Rackspace)
Documentation Petr Kovar (Alexandra Settle) Redhat
Dragonflow Omer Anson Huawei
Ec2 Api Andrey Pavlov (Alexandre Levine) 个人(Cloudscaling)
Freezer Saad Zaher  (Saad Zaher) HPE
Fuel Vladimir Kuklin Mirantis
Glance Brian Rosmaita Verizon
Heat Rico Lin EasyStack (inwinSTACK)
Horizon Ying Zuo (Rob Cresswell) Cisco
I18n Frank Kloeker (Ian Y. Choi) Deutsche Telekom (个人)
Infrastructure Clark Boylan (Jeremy Stanley) OpenStack Foundation
Ironic Dmitry Tantsur Redhat
Karbor Chenying Chenying  (Yuval Brik) Huawei
Keystone Lance Bragstad 华为(Rackspace)
Kolla Michal Jastrzebski   Intel
Kuryr Antoni Segura Puimedon Redhat
Magnum Spyros Trigazis  (Adrian Otto) CERN (Rackspace)
Manila Ben Swartzlander NetApp
Mistral Renat Akhmerov Nokia
Monasca Witold Bedyk  (Roland Hochmuth) Fujitsu (HPE)
Murano Zhurong Zhurong (Felipe Monteiro ) 中兴 (AT&T)
Neutron Kevin Benton Mirantis
Nova Matt Riedemann 华为(IBM)
Octavia Michael Johnson Rackspace
OpenStackAnsible Jean-Philippe Evrard  (Andy McCrae) Rackspace
OpenStackClient Dean Troyer intel
OpenStack Charms James Page  Canonical
Oslo ChangBo Guo EasyStack
Packaging Deb Thomas Goirand Mirantis
Packaging Rpm Thomas Bechtold   (Igor Yozhikov) Suse (Mirantis)
Puppet OpenStack Mohammed Naser  (Alex Schultz ) VexxHost(Redhat)
Quality Assurance Andrea Frittoli IBM
Rally  Andrey Kurilin Godaddy (Mirantis)
RefStack Chris Hoge   (Catherine Diep) 个人(IBM)
Release Management Sean McGinnis (Thierry Carrez ) 华为(OpenStack Foundation)
Requirements Matthew Thode (Tony Breeds) 个人(Rackspace)
Sahara Telles Mota Vidal Nóbrega Redhat
Searchlight Steve McLellan HPE
Security Luke Hinds (Robert Clark)  Redhat (IBM)
Senlin RUIJIE YUAN  (Qiming Teng )   数梦工场(IBM)
Shade Monty Taylor    Redhat
Solum Zhurong Zhurong (Devdatta-kulkarni) 中兴 (Rackspace)
Stable Branch Maintenance Tony Breeds Rackspace
Storlets Kota Tsuyuzaki  (Eran Rom) NTT (IBM)
Swift John Dickinson  SwiftStack
Tacker Gongysh Gongysh 99Cloud
Telemetry Gordon Chung (Julien Danjou) 华为 (Redhat)
Tricircle Zhiyuan Cai (Chaoyi Huang) Huawei
Tripleo Alex Schultz  (Emilien Macchi ) Redhat
Trove Amrith Kumar (Amrith Amrith) Verizon Wireless (Tesora)
Vitrage Ifat Afek Nokia
Watcher Alexander Chadin Servionica
Winstackers Claudiu Belu ClouBase
Zaqar  Fei Long Wang Catalyst IT
Zun Hongbin Lu Huawei
Jul 282017
 

其实大家都知道,我4月份发布了一个kolla的Ocata的ISO,经过了快3个月的完善,基本现在已经是一个最终的版本。

下载地址:链接: https://pan.baidu.com/s/1kVkilGr 密码: gcty

还是放在网盘里,大家下载就可以。

下面我就整理一下,这个ISO,我所做的改进工作。

经常有朋友问这个iso是用什么工具制作,这里就统一回复:Fedora的工具pungi,来制作的。该工具真的很强悍,非常方便。

另外这个iso,你用U盘启动的时候,可能会遇到兼容性的问题。所以建议把这个ISO,在linux下用DD的命令到U盘,这样的兼容性是最好的。这个兼容性和机器有密切关系。

sudo dd if=/hd/iso/ocata.iso of=/dev/sdb bs=1M

安全更新

我们采用的操作系统是CentOS 7.3,不过最近安全更新很多,尤其内核级别的,那么我们这次把所有的软件全部都update的最新,打上所有的内核补丁,这也是我们为啥iso的命名也是采用日期的原因。

这次更新,经过了绿盟的漏洞扫描测试,效果还是非常好的。

由于Kolla是采用Docker来部署OpenStack,对于所有的节点,我们其实只需要最小化安装,装上Docker就可以。但是最近部署,还是遇到内核的漏洞,经过升级才解决。

国内很多OpenStack厂商,自己搞的OpenStack版本,自己维护一个repo,用户根本无法进行安全维护,这其实也是一个很大的问题。

Chrony服务

默认最小化安装,也会把Chrony服务装上,由于Kolla已经把Chrony服务的容器,需要把Chrony服务删除掉。这样避免维护时候,产生误操作。

对于一个群集来说,时间同步是一个非常重要的事情。Ceph要求所有节点时间差异不能超过50毫秒。所以对于kolla的部署来说,你必须把Kolla里的Chrony服务启用。这是一个非常关键的地方。

安装包调整

以前管理容器的服务,都是要进入容器里,再运行相关命令。为了方便,我们在节点上也装上相关的包,例如ovs等,这样在操作系统上,直接运行ovs相关命令就可以。

这样的方便,其实也带来一定潜在风险。那么如何在易用和安全上平衡。那么同事提出了一个好办法,不需要在操作系统装相关软件。通过系统的alias来实现。

这个功能,其实就后续交给ansible来完成。对于OpenStack节点来说,我们就仅仅最小化安装,加上Docker和一些网络的测试工具。

对于部署节点,我们装了一下日常需要使用到的包,例如ansible访问windows节点需要的,我们把测试工具Shaker工具,通过rpm包的方式,直接装在部署节点上,这样可以方便测试。

 

Kolla

这里其实包括kolla和kolla-ansible。我们已经把版本更新到当前最新的版本。你使用iso安装完以后,会在根目录下看到一个 文件夹 kolla-ansible-4.0.3.dev36。dev36,很多用户误解成是开发版本,其实不是,表示4.03发布后的36个commit。

目前Kolla社区对Ocata版本进行精心的维护,把所有当前Master的bug都会回馈到Ocata版本里。

这次发布,我们修复了一个非常严重的bug

https://bugs.launchpad.net/kolla/+bug/1703078

大家可以好好看看。这算是kolla真正生产部署的最后一个难点,我们搞定了。

大家会发现把Kolla-ansible放到root的目录下,大家可以直接进入该目录运行命令就可以。相关的python依赖已经装上。

这次其实还修复了Sahara的一个bug。这个版本的ISO,Sahara是可用的。

 

All in One

注意事项
 
机器至少需要两块网卡
机器系统盘至少需要200G
 
allinone部署步骤
 
1、使用iso引导,选择 install centos7.3 and kolla 
 
可以使用tab键,修改ip地址和主机名,默认ip地址为10.99.0.2,主机名为control01
 
2、安装系统后,登录系统(root密码为99cloud),开始部署openstack,如下
 
/root/kolla-ansible-4.0.3.dev36/tools/kolla-ansible deploy
 
dashboard访问地址 http://10.99.0.2/
    username admin
    password 99cloud

iso里有一个说明 all in one的安装。

装完后,你是需要对OpenStack的环境进行初始化。我以前的文档,其实介绍过,我这里就不重复。

http://www.chenshake.com/kolla-installation/#i-3

这个iso,其实单节点仅仅是一个演示,也是可以安装多节点的。我给客户生产部署,也是使用这个ISO,不需要有任何疑问。

多节点的安装,其实很简单。大家如果搞过rdo的多节点,其实都是差不多。

Jul 272017
 

目前OpenStack项目里,目前我看到的最成功的项目,在最近2年里,应该就是kolla。我有幸在过去的1年半里参加了整个社区的开发过程。

Docker是一个革命性的东西。kolla作为一个用Dcoker来部署OpenStack的工具,其实也把其他的部署工具的命给革了。

 

Kolla介绍

Kolla,就是把OpenStack放到Docker里,部署OpenStack的一个工具。这其实也是目前为止,唯一一个没有厂商背景的部署工具

  1. 红帽的Tripleo,RDO,使用puppet,部署在CentOS 红帽系列
  2. Ubuntu的Juju,使用自己的配置管理工具,Juju,go语言开发,部署Ubuntu系统,
  3. Suse的Crowbar,使用Chef来部署,Suse企业版本
  4. Rackspace的OpenStack-ansible,通过LXC或者部署到物理机器上,利用ansible来管理,目前支持Ubuntu和CentOS
  5. Mirantis的Fuel,利用puppet,部署到Ubuntu操作系统上
  6. HPE的helion,使用ansible,部署在Debian 8
  7. TCPCloud搞的Salt,部署OpenStack。我没玩过,我的理解应该是在Ubuntu的系统上。

上面七个工具,基本可以囊括所有的OpenStack部署项目,每个都要他的好处,也是有他的不足的。他们的一个共同特点,基本都是单一厂商主导。

2017年,算是Kolla发展最猛的一年,一个没有厂商主导的部署工具,目前已经具备投入到生产使用。Kolla目前支持的操作系统

  1. CentOS和红帽系列
  2. Ubuntu16.04
  3. Oracle linux

我们自己也给客户做过很变态的测试,在Suse的企业版本上,跑一个CentOS的Docker镜像的OpenStack,完全没任何压力,并且还是多节点。

Kolla解决了一个困惑OpenStack长期的问题,升级,upgrade。通过Docker,可以很优雅的解决到OpenStack的升级的问题,现在已经可以实现业务跑着,进行升级。

这次OpenStack China Day,用kolla演示升级和集群掉电后,自动修复。把OpenStack做到可以让用户自己升级,这背后的故事,其实真的不少。

很多朋友对Docker不熟悉,以为把OpenStack放到Docker里,虚拟机也是跑在Docker里。其实这是误解。Kolla仅仅是吧OpenStack各个服务的进程,放到Docker里而已。以前的vm怎么运行,现在还是怎么运行,没做任何的改变。

Steven Dake

2014年,大概是下半年的时候,OpenStack基金会,已经意识到Docker对OpenStack可能造成的威胁,那么这个时候,就组成了一个小team,研究OpenStack和Docker如何并存,其实也都很容易想到,在2105年温哥华峰会上,推出3个项目

  1. Kolla,把OpenStack放到容器里,部署OpenStack
  2. Magnum,在OpenStack上面部署容器,后来改成COE(k8s,swarm,等)
  3. Solum,利用Docker来实现CI CD

这就当初基金会的设想,经过了2年的发展,大家其实已经发现,目前就kolla项目是最靠谱的。Magnum修改了自己的方向,并且带来的价值不大,仅仅是部署K8s。Solum,已经快要死掉。

Steven Dake,是以前的Heat的PTL,前红帽的工程师,评论技术多高已经没啥意义,这位哥们最厉害的地方,就是情商特高,能带动一堆人一起干活,我底下的弟兄,对他的也是赞口不绝,跟他干活,是一种享受,不拼命干好,对不起他的培养。

当时Steven Dake面临一个选择,是搞Kolla还是Magnum,那么他最终选择的Kolla,全力以赴搞好这个项目。

Kolla项目的活跃度,可以说在过去两年里,OpenStack各个项目排名,应该是在前五名以内。也是目前我看到,在过去两年里,唯一一个算是活跃的新项目。

目前Steven Dake还是基金会独立董事。https://sdake.io/  他的blog

把OpenStack放到容器里,其实当时面临的技术挑战是很多的,没有我在外面吹的那么轻松。现在Docker的很多分享,还在讨论数据库是否放在容器里,容器的日志如何收集。对于Kolla来说,要做到100%容器化,他要付出的代价就更大,Qemu,Libvirt容器化,OVS容器化,这些都是没人玩过的。

Ansible

把OpenStack放到Docker里,那么用什么进行编排呢?这个决策,其实是PTL决定。k8s是否可行呢?

One thing we tried early on with Kolla was deploying OpenStack on top of Kubernetes 0.9.7;

Steven Dake在blog里提到,其实在k8s 0.9.7 的版本,就开始验证是否可行。如果当初kolla选择k8s作为编排引擎,作为重点开发,那么其实今天能做到什么程度,是非常不好预测。

为啥选择Ansible,当时其实红帽也没收购Ansible。那么一个八卦新闻就是:Steven Dake的太太是Ansible公司的。

从我看来如果不是选择ansible作为默认的编排引擎进行开发,kolla-ansible是不可能在短短1年内投入生产环境,Kolla真正可用放到生产的环境,是Mitaka版本。

经过了1年的完善,目前的Ocata版本,已经基本到了一个很完善的地步的。

Sam Yaple

Sam是Rackspace的员工,2015年,当时OpenStack各家公司社区贡献的环境,还是很宽松的时候,Sam参与的Kolla的开发,他一个人出活量,基本相当于其他人的总和。而且都是技术难点的活。

Neutron容器化,OVS容器化,libvirt,qemu容器化。都是他一个人完成的。而且是在一个周期L版本完成的。

而且Sam写的代码,你基本也发现不了bug。Sam已经在Mitaka版本发布后,退出kolla的社区。不过到现在为止,他的代码提交量,还是第一。

https://github.com/openstack/kolla-ansible/graphs/contributors

kolla今天能做到这个地步,Sam应该算是第二功臣。

Jeffrey Zhang

对于kolla来说,

  1. Steven Dake,规划了Kolla的技术方向
  2. Sam Yaple 解决了关键的技术难题
  3. Jeffrey Zhang,就是把Kolla推到生产中。

由于kolla是没有厂商主导的部署工具,那么他部署出来的环境,是否能满足生产需求,这是很多用户问的问题。这个问题靠拍胸口是没啥意义,还是要靠验证。

全球第一个Kolla的生产部署案例,出自Jeffrey Zhang, 53个节点,超过500个OSD的环境。Mitaka版本的Kolla,遇到的bug,都是Jeffrey Zhang一个一个去修复。

经过了1年的验证,Ocata版本的一个生产环境,在每个节点超过20个vm,压力负载很重的情况下,运行良好。期间我们已经把各种的问题,bug都修复。

http://stackalytics.com/?module=kolla-group&release=all&metric=resolved-bugs

不少于10个非常严重的bug,严重影响到生产运行的问题,都是Jeffrey Zhang同学修复的。

运气

kolla的运气,有时候好的令人难以置信。

  1. Steven Dake,选择了Kolla,选择了ansible.
  2. 2015年11月份,我选择了kolla,找到了Jeffrey Zhang一起玩
  3. 2016年2月,Docker发布了1.10版本,支持 mount propagation。解决了Kolla投入生产的关键技术问题。Neutron的各个服务,可以在单独的容器里。
  4. 2016年4月份,全球的第一个Kolla生产环境的客户,小白鼠产生,验证的Kolla的稳定性和可靠性。
  5. 2016年8月份,Intel给了130台机器进行kolla的规模测试。
  6. Ocata版本发布时间更改,从以前的4月份,改成2月份,就让kolla很多在Newton版本没完成的工作,可以在Ocata版本完成.
  7. Ocata版本,九州云加大Kolla的投入,根据公司产品的需求,不断完善Kolla。最后在OpenStack的5月份峰会前推出kolla的产品。
  8. 2017年五月份,一个OpenStack的深度使用用户,部署了kolla的Ocata版本,对Kolla的各种功能进行的检验。
  9. OpenStack China Day大会,演示Kolla的用户无感知升级,和群集掉电重启的功能。吸引了大量的眼球。这是在1年前还是无法实现的。

我的Team

这是一个最强的Kolla team。经常有朋友问我团队多少人。其实不多。

Snap1

必须强调,我是一行代码都不会写的。都是弟兄的努力。

Jul 072017
 

一直以来都希望解决一个问题,就是开机的情况下,对新增加的硬盘进行raid的设置。现在Ceph已经很流行,对于SATA磁盘来说,一般都是需要通过Raid卡设置成Raid0,这样可以利用Raid卡的Cache,性能更好。那么其实这个时候就带来一个问题,如果磁盘坏了,更换磁盘,那么就必须重启机器。

不同厂商的配置raid的工具不太一样,目前了解到的情况是

  1. Dell的产品 用PERC Cli
  2. 其他的厂商,浪潮啥,基本就用storcli

以前大家都是用Megacli,后来应该都改成Storcli,大家可以理解成是一个版本的更新把。都是一个厂商的东西。

访问 https://www.broadcom.com/

搜索 storcli

Snap13

 

下载回来,传到linux服务器上。

# rpm -ivh storcli-007.0205.0000.0000-1.noarch.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:storcli-007.0205.0000.0000-1     ################################# [100%]

为了管理方便,建立软连接

ln -s /opt/MegaRAID/storcli/storcli64 /bin/storcli
ln -s /opt/MegaRAID/storcli/storcli64 /sbin/storcli

 

基本命令

大家可以通过下面命令熟悉一下

storcli show
storcli show all
storcli show ctrlcount
storcli show help

通过help,你能看到一堆的命令

    /cx = Controller ID
    /vx = Virtual Drive Number.
    /ex = Enclosure ID
    /sx = Slot ID
# storcli /call /eall /sall show 
Controller = 0
Status = Success
Description = Show Drive Information Succeeded.


Drive Information :
=================

----------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model               Sp 
----------------------------------------------------------------------------
252:0     4 Onln   0 446.625 GB SATA SSD N   N  512B INTEL SSDSC2BB480G4 U  
252:1     7 Onln   1 446.625 GB SATA SSD N   N  512B INTEL SSDSC2BB480G4 U  
252:2     5 Onln   2   931.0 GB SATA HDD N   N  512B ST91000640NS        U  
----------------------------------------------------------------------------

EID-Enclosure Device ID|Slt-Slot No.|DID-Device ID|DG-DriveGroup
DHS-Dedicated Hot Spare|UGood-Unconfigured Good|GHS-Global Hotspare
UBad-Unconfigured Bad|Onln-Online|Offln-Offline|Intf-Interface
Med-Media Type|SED-Self Encryptive Drive|PI-Protection Info
SeSz-Sector Size|Sp-Spun|U-Up|D-Down/PowerSave|T-Transition|F-Foreign
UGUnsp-Unsupported|UGShld-UnConfigured shielded|HSPShld-Hotspare shielded
CFShld-Configured shielded|Cpybck-CopyBack|CBShld-Copyback Shielded

call,eall,sall的含义,就是显示所有controller id,Enclousure ID, Slot ID

从上面信息,可以看出

  1. 只有一个控制器,id 为 0
  2. EID,Enclosure Device ID :252
  3. Slot Number,能看到 0,1,2
  4. DG:disk group,0,1,2
  5. size:容量,磁盘容量
  6. intf:接口,SATA
  7. Med:介质,ssd 或 hdd

理解完上面参数,就可以验证一下

# storcli /c0 /e252 /s0 show        
Controller = 0
Status = Success
Description = Show Drive Information Succeeded.


Drive Information :
=================

----------------------------------------------------------------------------
EID:Slt DID State DG       Size Intf Med SED PI SeSz Model               Sp 
----------------------------------------------------------------------------
252:0     4 Onln   0 446.625 GB SATA SSD N   N  512B INTEL SSDSC2BB480G4 U  

DID Device ID,能看到磁盘的id

# storcli /c0 /vall show
Controller = 0
Status = Success
Description = None


Virtual Drives :
==============

---------------------------------------------------------------
DG/VD TYPE  State Access Consist Cache Cac sCC       Size Name 
---------------------------------------------------------------
0/0   RAID0 Optl  RW     Yes     RWTD  -   ON  446.625 GB      
1/1   RAID0 Optl  RW     Yes     RWTD  -   ON  446.625 GB      
2/2   RAID0 Optl  RW     Yes     RWTD  -   ON    931.0 GB      
---------------------------------------------------------------

在控制器0下的vd情况。

 

参考文章

https://blog.hostonnet.com/megaraid

https://wiki.nikhef.nl/grid/Managing_RAID_Controllers

http://www.dell.com/support/article/us/en/19/SLN295890/13g-poweredge-servers—raid-controller-log-export-using-perccli-tool-on-windows-and-linux-hosts?lang=EN

http://www.dell.com/support/manuals/us/en/19/poweredge-rc-h330/perc_cli_rg_pub-v2/PERC-CLI-command-examples?guid=GUID-6ACDA18B-0685-4E71-82FF-1019EC7AAB5A&lang=en-us

Jun 302017
 

6月份我们可以看到很多可以在Pike版本落地的功能出现。同时社区也在把以前很多项目的bug进行修复,目前进展的非常顺利,越来越多项目可以做到开箱即用。

把我们目前关注的亮点功能,整理一下。

Designate项目

经过社区人员的修复,目前该项目已经可以在Kolla里成功跑起来。主要原因是该项目涉及外面的组件很多,例如dns的bind等。大家可以好好看看。

http://superuser.openstack.org/articles/deploying-openstack-designate-kolla/

Sahara项目

这是OpenStack跑Hadoop项目,最近因为工作原因,也很好测试了一下。修复了几个bug以后,目前Ocata版本和Master版本已经可以成功运行。

Sahara的镜像,以前是Mirantis创建好的,现在红帽接手后,还没有提供build 好的镜像给大家下载。那么只能自己来build 镜像。

Skydive项目

这不是OpenStack项目,不过显示网络拓扑,倒是非常酷。

这是我认为当前版本,最让人激动人心的地方。

skydive

这是我装出来的图,不仅仅显示网络拓扑,还能显示网卡流量。还能结合Grafana来做展示。

 

Zun项目

Zun的项目是OpenStack用来实现容器管理,kuryr是用来实现Docker网络和Neutron进行对接。目前我们也是测试通过。后续就是细节完善。争取7月份的OpenStack 峰会可以给大家演示。项目的图片,可以让大家看到用zun创建的容器,和kvm的虚拟机,是在一个网段里。

zun

Hyper-V

微软的Hyper-v,可以直接放到OpenStack的kvm集群里,这是和Vmwre集成非常不一样的地方。利用Kolla来集成Hyper-v,一个方便的地方,就是可以利用ansible来对windows的Hyper-v进行管理。

hyperv

这是创建在微软Hyper-v的linux虚拟机。

后续社区还打算把Hyper-v节点上装的软件都容器化,就是吧windows的容器功能用起来。

ODL

目前OpenDayLight已经可以在Kolla的master跑起来。大家可以密切关注。

Ovs-dpdk

这个比较热门,最近还专门开了一个会议。相信kolla的Pike版本也会正式落地。如果能OVS可以升级到2.7的版本,OVN的功能,也可以好好玩玩。