» Home » Docs » Release notes » Release notes for 0.17
Release notes for 0.17
Rex
Added Solaris 11 support
Added Solaris 10 support
Added a caching layer
There is a new command line switch -c to turn on caching. Right now only the Rex::Hardware::Host module uses this layer but this should already speed up execution on *BSD and Solaris systems.
Added possibility to define custom providers for package and service management.
For example with Solaris you can use Blastwave, OpenCSW or the standard utilities for package management.
# in the base section of your Rexfile package_provider_for SunOS => "Blastwave";
<span class="hljs-comment"># if solaris, install apache-22 from Blastwave</span><span class="hljs-comment">
install package => "apache-22"; };
Or, if you want to use OpenCSW
<pre><code class="hljs"><span class="hljs-comment"># in the base section of your Rexfile</span><span class="hljs-comment">
package_provider_for SunOS => "OpenCSW";
task "prepare", "server1", "server2", sub {
<span class="hljs-comment"># if solaris, install apache-22 from OpenCSW</span><span class="hljs-comment">
install package => "apache-22"; };
Or, for Solaris 11, use the built-in "pkg" Package Management:
# in the base section of your Rexfile
package_provider_for SunOS => "pkg";
task "prepare", "server1", "server2", sub {
# if solaris, install apache-22 from built-in pkg
install package => "apache-22";
};
<pre><code class="hljs">- Custom providers <span class="hljs-keyword">for</span> service management
<span class="hljs-keyword">For</span> example with Solaris, <span class="hljs-keyword">if</span> you want to <span class="hljs-keyword">use</span> the old init-style service management you don'<span class="hljs-string">t need to specify anything.</span> </code></pre>perl
task "prepare-services", "server1", "server2", sub {
service ssh => "restart";
};
<pre><code class="hljs"><span class="hljs-string"> But, if you want to use the newer SVCADM management use this:</span> </code></pre>perl
# in the base section of your Rexfile
service_provider_for SunOS => "svcadm";
task "prepare-services", "server1", "server2", sub {
service ssh => "restart";
};
<pre><code class="hljs"><span class="hljs-string">- Added *operating\_system\_version()* to get the OS version.</span> </code></pre>perl
task "prepare", "server1", "server2", sub {
if ( operating_system_version() < 10 ) {
say "too old...";
}
};
```
- fixed local copy error handling