Provided by: rex_1.6.0-1_all bug

NAME

       Rex::Commands::Sysctl - Manipulate sysctl

DESCRIPTION

       With this module you can set and get sysctl parameters.

       Version <= 1.0: All these functions will not be reported.

       All these functions are not idempotent.

SYNOPSIS

        use Rex::Commands::Sysctl;

        my $data = sysctl "net.ipv4.tcp_keepalive_time";
        sysctl "net.ipv4.tcp_keepalive_time" => 1800;

EXPORTED FUNCTIONS

   sysctl($key [, $val [, %options]])
       This function will read the sysctl key $key.

       If $val is given, then this function will set the sysctl key $key.

        task "tune", "server01", sub {
          if( sysctl("net.ipv4.ip_forward") == 0 ) {
            sysctl "net.ipv4.ip_forward" => 1;
          }
        };

       If both $val and ensure option are used, the sysctl key is modified and the value may
       persist in /etc/sysctl.conf depending if ensure option is "present" or "absent".

       With ensure => "present", if the key already exists in the file, it will be updated to the
       new value.

        task "forwarding", "server01", sub {
          sysctl "net.ipv4.ip_forward" => 1, ensure => "present";
        }