PS:技术博客已经好久没有来耕耘了,倒不是懒惰,而是最近一直在忙着写一本关于Openstack自动化部署的书籍,我觉得可能会比单独零散的技术文章更有价值一些。

作为重度拖延症患者,又把本来奥斯汀峰会期间就应该出稿的文章拖到了飞鱼大大来找我聊人生的时刻了。

这次Puppet-Openstack Design Summit和以往不同的地方是议题很多被分成了4场。第一场是Mitaka版本前情回顾,第二场是Newton版本重要需求讨论,第三场和第四场则是各个Topic的分组讨论和分工。

Mitaka版本追溯

 

▲ PTL在看表准备开始会议

第一场讲的是上个版本的回顾。Mitaka版本的主要工作可以归纳为4点:

1. CI方向的改进

  • 更高的单元测试覆盖率,更多的测试场景,用户测试用例以及Fuel/TripleO相关测试作业;
  • 切换到tempest-plugins的使用;
  • 制作tarball;
  • 和Openstack-health集成;
  • 添加Puppet4的周期性测试作业;
  • 使用RDO Trunk Repo做dailiybuild测试;
  • 向UCA Packaging提供早期的测试反馈。

2. 发布了更多稳定版本的module

    例如,mistral、zaqar等。

3. module有了更高的一致性

例如由UnitedStackDevops team贡献的puppet-oslo模块,以及puppet-openstack_spec_helper模块等的新引入,有效降低了module中的冗余代码,提高了module间的一致性。

4. Core team的稳定发展

Newton版本需求讨论

 

第二场便是讨论在接下来的Newton开发周期要做的事情了。

▲ Core member们正在讨论module的管理方式

第一点是Ubuntu 16.04 LTS版本的支持和测试工作,随着Ubuntu16.04 Xenial成为Openstack Mitaka版本及以后新版本的发行版本。因此接下来的重点工作将集中在以下三点:

 
1.在对于UCA软件包的测试和验证工作,例如mitaka版本的breaker和integration测试。
2.保留stable分支的Trusty(14.04)相关作业,但对于master分支将不再使用trusty相关测试任务。
3.一旦完成了Xenial作业的测试工作,就会将其从periodic迁往gate。

第二点是对Puppet4测试工作的支持,随着Puppet4的持续迭代,在新一代的发行版上,Puppet3将逐渐地减少支持,因此将投入人力在测试Puppet4对于当前module,软件包以及Linux各发行版本的兼容性上。

第三点是值得一提的release管理方式,和openstack服务相关的puppet module的Release管理模型将发生变化,过去我们知道所有的项目的发布周期遵循在软件开发周期的接收时,也就是每6个月发布一个最终版本,例如Juno版本。

但是有些项目并没法做到在同一时间发布最终版本,因为它们的发布其实是依赖于其他项目何时发布最终版本,这类项目主要集中在packaging和deployment方向,此类项目会使用“release:cycle-trailing”来标记。Puppet-Openstack项目会从N版本开始从”release:independent“切换到”release:cycle-trailing“,并且在一个发布周期内,会设置对应的milestone。

第四点是改进puppet-openstack项目的使用指南文档和项目wiki,以降低有兴趣学习和参与的工程师的学习门槛。UnitedStack的DevOps团队正在精心编写《深入理解Openstack自动化部署》,详细讲述了如何使用Puppet-Openstack项目完成Openstack集群的部署和管理,更多细节将会在本月深圳Meetup上公布。

本文未提及,但是值得开发者关注的Topic还有:

  • puppet-pacemaker的统一(https://review.openstack.org/#/c/296440/)
  • puppet-horizon移除模板配置方式
  • Docker集成
  • Kubernetes支持
  • 多节点部署工具

小结

 

Puppet-Openstack项目发展至今,已经有三年历史,在众多工程师的努力下,继续保持着Openstack社区中最成熟和最有影响力的部署项目,从Newton版本以及Mitaka版本的design summit来看,Puppet-openstack社区更多的重心在于如何继续提高代码和文档质量上,以及支持新发行版本以及和新技术的结合上(例如TripleO、Container、Orchestration)。

UnitedStack DevOps Team一直在深度使用Ansible和Puppet等开源软件和PuppetOpenstack项目,同时对于业界的新技术保持着持续关注。我们看到了新的容器部署技术和新生代配置管理和编排能力融合Ansible的崛起,未来Openstack的部署和管理必然是多种技术相融合的趋势,部署将向着更友好的用户界面,更完善的功能支持,更迅捷的执行速度的方向前进。

▲ 在2016年4月,由OpenStack基金会发起的第7次用户调查中,Puppet是排名第一的OpenStack集群部署与配置工具。

相关文档

http://docs.openstack.org/developer/puppet-openstack-guide/

https://github.com/cloudevelops/openstack_base

http://governance.openstack.org/reference/tags/release_cycle-trailing.html

https://etherpad.openstack.org/p/newton-puppet-project-status

PuppetOpenstack Newton Design Summit见闻的更多相关文章

  1. Puppet Openstack Mitaka Design Summit小结

    Puppet Openstack Design Summit小结 经过Puppet Openstack社区的不断努力,Puppet Openstack社区目前提供的Official Modules已经 ...

  2. HK Openstack Summit 归来有感

    4天的Icehouse openstack Summit终于结束,从香港又回到了北京,我们的产品反响相当不错,吸引了很多的注意力和商谈.可是实际上我最近过得很憋屈,心灰意冷,没有了当初那么拼命的动力. ...

  3. OpenStack Summit Paris 会议纪要 - 11-04-2014

    前言: 来源:https://wiki.openstack.org/wiki/Summit/Kilo/Etherpads#Ops 不一定翻译准.由于是在summit上随手写的. 重点关注Ops Sum ...

  4. OpenStack Summit Paris 会议记录 - 11-05-2014

    Ops/Design Summit - 2014-11-05 Record 1. Keystone Operators, Deployers, and DevOps 1. Icehouse中,SAML ...

  5. Solum入门知识(编辑中)

    概要 参考:https://wiki.openstack.org/wiki/Solum An OpenStack project designed to make cloud services eas ...

  6. 从入门到精通Puppet的实践之路

    本文有感于<精通Puppet配置管理工具>在豆瓣上的某些差评而顺手写的书评. 半路出家   故事要从12年初说起.  某天,部门老大让我所在team的老大调研一下当下业界的配置管理工具.于 ...

  7. Juno Puppet Opertaors Meetup小结

    今年五月刚结束的Juno OpenStack Summit是半年一度的Openstack盛会,抛去那些迷花渐欲乱人眼的商业活动,我们来看一看本届summit puppet-openstack社区有哪些 ...

  8. Openstack配置文件管理的变迁之路

    在管理一个Openstack集群时,如何维护配置文件无疑是其中最艰难和繁琐的任务之一.因为你不仅要面对众多的核心服务(nova,keystone,glance,cinder,etc)的配置文件,还需要 ...

  9. Openstack oslo.config【一】

    OpenStack的项目貌似越来越多了,在Grizzly版之前,每个项目都得实现一套处理配置文件的代码.在每个项目的源码中基本上都可以找到openstack/common/cfg.py,inipars ...

随机推荐

  1. shell 脚本注意事项

    设脚本名为test.sh 第一行应该为#! /bin/bash 1.运行和调试的结果是不一样的 调试 sh -x test.sh  这时在计算两个数的和sum=$[$a+$b]时得到sum=3+4,而 ...

  2. 二维码识别 android app

    TextView类用于展示文本信息 ImageView展示 id:button1(用来显示“扫描二维码”) 布局:fill_parent使布满屏幕(高级版本用match_parent) wrap_co ...

  3. Map:containsKey、containsValue 获取Map集合的键值的 值

    get(Object key) 返回与指定键关联的值: containsKey(Object key) 如果Map包含指定键的隐射,则返回true: containsValue(Object valu ...

  4. git -- 如何解决冲突

    遇到冲突,首先要编辑冲突文件,可以使用vim或者其他工具,冲突文件变现为: <<<<HEAD 到 ==== :代表本地分支的修改内容 ==== 到 >>>&g ...

  5. Windows 8.1 应用再出发 - 磁贴的更新

    本篇和大家一起了解一下Windows 8.1 中磁贴的更新,我们来看看如何利用它做出更好的应用磁贴. 首先我们从展现形式上来对比一下Windows 8 与 Windows 8.1 中的磁贴: Wind ...

  6. dialogic d300语音卡驱动重装后启动报错问题解决方法

    dialogic d300 驱动重装后 dlstart  报错解决 问题描述:dlstart  后如下报错 [root@BJAPQ091 data]#dlstop Stopping Dialogic ...

  7. Android系统的常用权限

    1.ACCES_NETWORK_STATE                       允许应用程序获取网络状态信息的权限 2.ACCESS_WIFI_STATE                   ...

  8. node-restify简介

    restify 是Node.js的模块.虽然restify的API或多或少的参考了express,但restify不是一个MVC框架,它是一套为了能够正确构建REST风格API而诞生的框架. ###安 ...

  9. node-inspector:Failed to open socket on port 5858, waiting 1000 ms before retrying

    输入: ps ax | grep node 对应PID为xxxxx 强制杀死进程: xxxxx 或者直接: killall node

  10. 入门级:怎么使用C#进行套接字编程(二)

    入门级:怎么使用C#进行套接字编程(一) 原文地址如下: C# Server Socket program C# Client Socket program 代码环境:VS2010+Win8.1企业评 ...