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文档的改善方面做了很多努力:
我们目前正在给所有代码中所有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
- Fedora 17 (May 2012) 将附带 OpenStack Essex
- EPEL 软件库对 RHEL >= 6.2 或者衍生版(CentOS等)的支持,将从 Diablo 升级到 Essex
- 关于Fedora/EPEL下 OpenStack 包的详情参见 https://apps.fedoraproject.org/packages/s/openstack
- 安装设置 Essex: http://fedoraproject.org/wiki/Getting_started_with_OpenStack_on_Fedora_17
- 一个非官方的 Essex for Fedora 16参见: http://repos.fedorapeople.org/repos/apevec/openstack-preview/fedora-16/noarch/
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.