(R)?ex the friendly automation framework

News

2020-12-05
Rex-1.13.2

The Rex-1.13.2 release is now available on CPAN. It contains only documentation updates, mostly for the built-in template capabilities, but also fixes a few typos.

2020-11-05
Rex-1.13.1

Happy 10th birthday, Rex!

The Rex-1.13.1 release is now available on CPAN. It is focusing on CMDB bugfixes and documentation, while also fixing a missing feature flag. Upgrade is recommended for all users.

2020-10-05
Rex-1.13.0

The Rex-1.13.0 release is now available on CPAN. It adds on_no_change hooks for file management commands to trigger further actions when files are left unchanged. Upgrade is recommended for all users.

2020-09-05
Rex-1.12.2

The Rex-1.12.2 release is now available on CPAN. It fixes various regressions, as well as bugs around file management. Upgrade is highly recommended for all users.

2020-08-05
Rex-1.12.1

The Rex-1.12.1 release is now available on CPAN. It adds documentation for feature flags, and fixes a release packaging issue.

Conferences

2016-06-21

» Home » Docs » Release notes » Release notes for 0.36

Release notes for 0.36

General

You can download OpenNebula module with the following command:

bash # rexify --use Rex::Cloud::OpenNebula

  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.

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};
};

Proudly powered by Statocles

GitHub / IRC / Twitter / Google Groups / StackShare / Mailing list / Server Fault   -.ô.-   Disclaimer