(R)?ex Deployment & Configuration Management

Search

News

2016-09-08

Work with (R)?ex at adjust! Check out their job posting for details, or contact our fellow core developer, FErki.

2016-07-16

(R)?ex 1.4.1 released, fixing many bugs. See the release notes for more details.

2016-03-07

(R)?ex 1.4.0 released, containing lots of goodies. See the release notes for more details.

2015-09-04

(R)?ex 1.3.3 released, fixing a bunch of bugs. See the release notes for more details.

2015-06-22

adjust GmbH is sponsoring the (R)?ex project with a new build server. Thank you for your support!

2015-06-17

(R)?ex 1.3.2 released, fixing issues related to file manipulation when run on BSDs. See the release notes for more details.

2015-06-08

(R)?ex 1.3.1 released, fixing Rex::Commands::DB related tests.

2015-05-27

Read the second part of "Rex in practice" series about Test-driven infrastructure.

2015-05-09

repositor.io 1.1.0 released. repositor.io is a repository management tool for apt, yum, yast and docker. This is a bugfix release with fixes for ubuntu and centos7 installation media mirroring.

2015-05-03

(R)?ex 1.2.0 released. See the release notes for more details.

2015-03-27

View the slides of the talk An introduction to Rex from Andy Beverley.

Conferences

2016-06-21

Training

Need Help?

Rex is a pure open source project, you can find community support in the following places:

Professional support is also available.

» Home » Docs » Release notes » 0.36

Release notes for 0.36

General

You can download OpenNebula module with the following command:

Copy to clipboard
bash# rexify --use Rex::Cloud::OpenNebula
Copy to clipboard
use strict;
use warnings;

use Rex::Commands::Cloud;
use Rex::Cloud::OpenNebula;
use Data::Dumper;

user "root";

cloud_service "OpenNebula";
cloud_auth "oneadmin", "opennebula";
cloud_region "http://172.16.120.131:2633/RPC2";

task "list-os", sub {
   print Dumper get_cloud_operating_systems;
};

task "create", sub {
   my $params = shift;
   my $vm = cloud_instance create => {
      image        => "template-1",
      name         => $params->{name},
   };

   print Dumper($vm);
};

task "start", sub {
   my $params = shift;
   cloud_instance start => $params->{name};
};

task "stop", sub {
   my $params = shift;
   cloud_instance stop => $params->{name};
};

task "terminate", sub {
   my $params = shift;
   cloud_instance terminate => $params->{name};
};

task "list", sub {
   print Dumper cloud_instance_list;
};

With this function you can run a specific task on a given host and get the output as a return value.

Copy to clipboard
task "prepare", "server5", sub {
   # do something
   my $free_mem = run_task "get_free_mem", on => "server3";
   if($free_mem < 100) {
      say "Less than 100 MB free mem on server3";
      # create a new server instance on server5 to unload server3
   }
};

task "get_free_mem", sub {
    return memory->{free};
};

Fork me on GitHub
Google Group / Twitter / GitHub / Mailinglist / irc.freenode.net #rex   -.รด.-   Disclaimer