OpenStack 2012.1 “essex” 的改进

http://wiki.openstack.org/ReleaseNotes/Essex

OpenStack Compute (Nova)

在Essex版 Nova的发布过程中,投入了大量的努力。现在Nova项目有206个开发人员,Diablo 版本以来有差不多3000次代码递交。对于一个不到两年的新项目,这是一个难以置信的发展速度。

在这个发行周期里,我们花了很多时间聚焦在项目的稳定性和BUG修正。也正有此,这是目前为止最具有生产特性的Nova版本。除了聚焦稳定性,在过去的六个月中,我们也努力融入更多的新特性,下面列举了最有趣的一些特性:

主要特点:

  • 集成keystone,keystone是openstack的通用身份管理系统,Nova不再必须内置用户、项目、角色管理。
  • RBAC(基于角色的权限控制),Nova现在支持对动作和扩展的可配置的权限控制。为了使配置更加友好,还需要做一些工作,但是目前已经可以进行非常具体的权限控制,决定在系统里谁可以做什么。
  • openstack通用库,Redhat的Mark McLoughlin花了大量努力,将配置解析放入openstack-common,他努力的结果,在下面的“配置”部分做了简要描述,这个改进将使openstack的各个项目可以共享代码。folsom将致力在openstack-common。
  • 虚拟化特性一致性,我们花了很多时间,以便使各种虚拟化技术的特性一致性。终极目标是运行一个openstack云,而用户不用知道或者关心使用的是何种虚拟技术。一个重要的改变是磁盘配置的一致性, Flavors/Instance类型现在有两个字段,一个是根磁盘大小,一个是第二磁盘的大小。
  • 管理API的扩展,许多管理特性被写入api扩展,意味着更多的任务,可以使用远程工具自动化完成,而不用直接操作数据库。
  • 支持上传包,我们做了一些改进,可以使用ec2-api进行镜像文件的上传。第一个是keystone支持ec2和s3认证,第二个是让cert管理功能完全集中到一个工作进程中,这样api节点不用共享一个公用的文件系统。最后,可以将swfit配置作为临时镜像存储,代替nova对象存储。
  • 卷接入点(endpoint),nova卷现在有了自己的接入点,这样可以独立作为一个单独的服务(比如部署到一个单独的服务器上)
  • 网络解耦,网络和计算对象相关的数据库模型,进行了充分解耦,这样,网络可以作为一个单独的服务。计算业务层,对网络数据进行了缓存,这样提高了api调用速度。
  • RPC的改善,RPC层做了很多改进和bug修正,加入了超时的支持,支持了另外一种消息服务器Apache Qpid。在Folsom 版本中,RPC代码将抽象出来,做成一个通用库,这样各个openstack项目可以共用。
  • metadata元数据的分离,元数据服务器可以和其他api服务分开单独运行,这样允许用户在计算节点上本地运行元数据服务,而其他api接口调用远端的服务。
  • 浮动IP池,目前可以允许使用多个浮动IP池,这样允许你使用一组内部映射的IP地址。
  • 其他特性,还有大量其他特性,超过50个蓝图特性和750个以上的bug修正,具体可以参见下面的文档:

https://launchpad.net/nova/essex/2012.1

配置:

我们不再需要python-gflags作为配置管理系统。配置现在可以使用ini风格的语法,原有的”flag文件”将转换成内部的新配置语法,如果你想进行手工转换,可以:

nova-manage config convert <infile> <outfile>

作为参照,所有的配置选项都可以在下面文件找到:

etc/nova.conf.sample

一共需要知道的重要的改变是,只有一些重要的配置能够在命令行配置。如果你以前习惯于使用命令行选项覆盖配置,你现在需要将它们加入到配置文件中。所有的执行文件,都在他们的同一目录寻找配置文件,如果找不到,再搜索 /etc/nova.conf

API文档:

在api文档的改善方面做了很多努力:

http://api.openstack.org

我们目前正在给所有代码中所有api扩展增加文档和例子,过几天将看到这些改变。

 

OpenStack Identity (Keystone)

在Essex版本中,身份认证系统的实现被完全改写。许多设计源于一种愿望,一些部署的认证后台,是现有用户系统的一个前端封装。描述这些改变和升级路径的文档,请参见  http://keystone.openstack.org.

你可以找到完整的keystone蓝图和bug修正:

    • https://launchpad.net/keystone/essex/2012.1

      keystone主要的改进:

      • 外部API ,admin和user部分api已经稳定,和Diablo版本相似。在改变内部实现的时候,我们尽量小心保持外部的接口部件稳定,以便我们未来可以快速前进。
      • 改写了被其他OpenStack项目使用的中间件组件,简化了代码。
      • 各个服务之间的认证实现,从之前的单一共享密码(之前称为”admin token”),变成每个服务的帐号和密码。nova, glance, swift等服务已经缺省使用这个配置改变,主要在 api-paste.ini文件中,这些新的配置定义每个服务的认证方式。
      • keystone服务和中间件现在加入了更多的日志信息,以便系统管理员和OpenStack的维护人员可以调试认证和授权问题。
      • keystone现在支持S3 token认证和附加的Swift存储特性:
        • 现在支持Swift ACL,你可以允许/禁止一个租户内的不同用户.
        • 使用ACL允许匿名存取,以支持公开的存取容器.
        • 支持Reseller账户,这样nova可以存取swift, 以代替 nova-objectstore

       

      已知的打包和发行版本:

       

      OpenSUSE 12.1 / SLES11 SP2

    • https://build.opensuse.org/project/show?project=isv:B1-Systems:OpenStack:release:Essex
    • https://build.opensuse.org/project/show?project=isv:B1-Systems:OpenStack:release:Essex:requirements

你可以从下面的wiki获取OpenSUSE 12.1 and SLES11 SP2下的软件包的详细信息: Packaging/SUSE

 

Fedora 17 / Fedora 16 / EPEL 6

 

Ubuntu 12.04 LTS (Precise Pangolin)

所有OpenStackOpenStack Essex核心组件,被Precise Ubuntu 的main archive官方支持:

孵化项目 Quantum 和Melange 在 Precise 的 Universe部分:

Essex 在 Ubuntu Server 下可以使用 MAAS 和 Juju部署:

Martin Loschwitz 写了一个Essex 在 Ubuntu 12.04上的一步一步的手工安装说明:

http://www.hastexo.com/resources/docs/installing-openstack-essex-4-ubuntu-1204-precise-pangolin

国内陈沙克做了翻译,并且补充了部分内容:

http://hi.baidu.com/chenshake/blog/item/4551cc5812a1b39e810a1876.html

Debian GNU/Linux wheezy

所有核心 OpenStack Essex 组件 被 Main wheezy archive官方支持:

Essex 的部署可以参见 a HOWTO 和 puppet modules.

此条目发表在OpenStack分类目录,贴了, 标签。将固定链接加入收藏夹。