Salt 0.17.0发行注记

release:2013-09-26

0.17.0版本是一个令人兴奋的Salt版本,这个版本给Salt带来了一些非常强大的新特性和新进展。这些进展范围从state系统到test suite,涵盖了新的传输功能,使state更加简单和强大,扩展更多Salt Virt。

0.17.0版本也是最后一个按照旧式0.XX.X数字命名的版本,下一个Salt版本将会从数字式改为基于日期的命名格式,像下面的格式:

<年>.<月>.<次版本>

所以如果版本在2013年9月释出,那么数字将会是13.11.0,第一个bug修复版本将会是13.11.1,以此类推。

主要特性

Halite

新的Halte web GUI现在已经可以通过PyPI安装使用。海量的功能已经投放到Halite,使其充分基于事件驱动并且惊人的快。Halite UI可以在Salt Master服务器上启动(从PyPI安装以后),也可以在独立的服务器启动,并且不需要外部的数据库去运行。非常轻量!

初始版本的Halite主要是一个使扩展更加容易的UI和通信系统框架。目前支持监测事件总线和向Salt发送命令。

此时,Halite并不是作为一个软件包使用,但是可以在这里找到安装文档: http://docs.saltstack.com/topics/tutorials/halite.html

Halite和Salt其他成员一样,都是开源的!

更多新功能将会在未来的Halite出现!

Salt SSH

Salt加入了新的命令``salt-ssh``。 这个系统允许通过ssh远程执行命令和sates状态同步。这样做的好处是,salt可以只依赖于ssh代理,不再需要minion提前部署。

``salt-ssh``系统运行states使用Salt兼容的方式,states创建和使用salt-ssh运行可以直接迁移到一个标准的salt部署中而不需要任何修改。

因为这是第一版的salt-ssh,有许多提升空间,但这是完全可以运作的,并不只是一个引导工具。

Rosters

Salt的设计架构是minions需要知道master但是master不需要知道minions的地点。新的salt roster系统被创建和设计用于使salt-ssh罗列目标更容易。

roster系统,像大多数Salt系统一样,是一个插件系统,允许到系统的目标列表来自任何模块化后端。rosters在0.17.0版本中承载着flat和scan。Flat是一个通过salt render系统读入的文件,scan roster可以简单的扫描和发现网络中的ssh服务器。

State Auto Order

这是一个重大的变化,在Salt中如何计算states的顺序。State Auto Order是一个新特性,可以使states按照sls文件中定义的顺序执行。这个特性使得非常容易理解states的内容执行的顺序,使得Salt现在完全的制度化和陈述性。

requisite系统仍然优先于states的书写顺序,所以没有states可以打破这种变化。但是这个新功能可以通过在master设置``state_auto_order: False``来关闭,这样将会回归老版本的字典顺序。

state.sls Runner

state.sls runner已经被创建用于允许一个更强大的state系统运行,功能调用跨越了salt minions。这个新系统使用state系统组织执行。

这样允许通过``salt-run state.sls``命令可以调用minion端执行的states在master执行。

Salt Thin

Salt Thin是一个令人兴奋的Salt组件,这个组件使得salt拥有无需安装任何传输机制就可供日常使用的能力,它是一个Salt的python子集。

Salt Thin没有任何网络功能,但是可以下发到任何安装过python的系统中,然后``salt-call``可以直接被调用。Salt Thin系统通过``salt-ssh``命令使用,但是仍然可以很容易的下发salt到某处。

Event命名空间

Events已经更新,变得更加灵活。events的标签已经全部命名,使得跟踪event名称更简单。

Mercurial文件服务器后端

流行的git文件服务器后端已经加入了mercurial,允许state树完全通过mercurial管理。

External Logging Handlers

external logging handler系统允许Salt直接挂载到任何外部日志系统中。目前支持监控和日志存储。

Jenkins Testing

testing系统在Salt中已经得到了很大的加强,salt的测试已经通过jenkins.saltstack.com执行了,涵盖了很多支持的平台。Jenkins调用salt-cloud在第三方托管中心创建虚拟机,然后这些在虚拟机上的minion去检测在Jenkins上运行的master在设置minion运行测试和执行test suite时。

这样现在使运行平台测试的序列自动化并且允许持续破坏性的测试运行。

Salt Testing Project

salt的testing库已经从主salt底层代码中移除,移到了一个单独的代码库中。这么做是为了让这个测试系统在其他基于salt的系统下也能容易测试。

StormPath外部认证

外部认证系统现在支持fantastic Stormpath cloud为基础的认证系统。

LXC支持

大量的附加组件已经加入Salt支持LXC。这些包括了后端管理LXC容器的库。添加到salt-virt系统的附加组件依然可以使用。

Mac OS X User/Group支持

Salt现在可以管理运行在Mac OS X上的minion的用户和组,现在用户密码还不能被管理。

Django ORM External Pillar

Pillar数据现在可以从Django管理的数据库中得到。

从RC版本修复的BUG