[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [augeas-devel] augeasproviders_sysctl usage help



Hello Dave,

 

as far as I can tell, Augeas is not involved in this issue at all. That is, unless the sysctl Puppet module falls back to augeas Puppet resources, but in this case it doesn’t get that far to make it matter. Therefor I propose to no longer have the Augeas-devel list in CC (after this reply).

 

Anyway, what Puppet version are you using (since you use a recourse type for iteration, it might by Puppet 3.x w/o future parser)? And which sysctl module (since it doesn’t belong to the standard Puppet tool set)?

 

And please make sure the brackets are not omitted from your pasted code snippets, since they’re essential for the syntax.

 

This is what I understand from the code what you’re trying to do:

 

·        In init.pp you want to iterate through all keys of $sysctl_settings, creating a new rh7config::sysctlconfig resource for each of them. Hoewever, at the same time you give all of them the same complete hash as value to the porthash parameter?!

·        In the rh7config::sysctlconfig resource type, you create a new sysctl resource with a title taken from the $porthash parameter and $name as the search key. Note that $porthash = $sysctl_settings and $name = “net.ipv4.tcp_keepalive_time”. That’s why the title for that resource becomes “val=>3600” (a hash converted to string) and, judging from the error message, the title it required to be a sysctl parameter, in this situation it should have been “net.ipv4.tcp_keepalive_time”.

 

In case you do have Puppet 4.x+ or the future parser, have a look at the advanced constructs for looping (in particular “each”). Otherwise, a small change to rh7config::sysctlconfig might be all you need:

 

“””

define rh7config::sysctlconfig ($porthash) {

  sysctl { $title:

    ensure => present,

    value  => $porthash[$title][$val],

    target => "/usr/lib/sysctl.d/00-system.conf",

  }

}

“””

 

·        The title for the sysctl resource is changed to be the same as for rh7config::sysctlconfig (“net.ipv4.tcp_keepalive_time” or any other key).

·        Value should be assigned the value of the “val” key (and not the bare word “val” as it was before).

 

Ciao,

Xavier.

 

 

 

From: augeas-devel-bounces redhat com <augeas-devel-bounces redhat com> On Behalf Of Dave Green
Sent: Monday, May 21, 2018 4:5
0 PM
To: augeas-devel redhat com
Subject: [augeas-devel] augeasproviders_sysctl usage help

 

Hi

 

I’m trying to use your module to control sysctl settings thought puppet, and to be honest I’m struggling. Not sure if it’s specifically how I’m using your module, or the fact that I am not passing hash values to it (I’m very new to perl and puppet).

 

This is my init.pp code

 

        $sysctlkeys = keys($sysctl_settings)

        rh7config::sysctlconfig  $sysctlkeys:

            porthash => $sysctl_settings

       

 

And the sysctlconfig definition looks like this…

 

define rh7config::sysctlconfig ($porthash)

sysctl  $porthash[$name]:

                ensure => present,

                value  => $porthash[$name][val],

                target => "/usr/lib/sysctl.d/00-system.conf",

               

       

 

The parameter sysctl_settings (defined as a hash as I want to set several sysctl values) is set to

 

net.ipv4.tcp_keepalive_time:

  val: 3600

 

but I am receiving the following error when puppet checks in on the host

 

Error: /Stage[main]/Rh7config/Rh7config::Sysctlconfig[net.ipv4.tcp_keepalive_time]/Sysctl["val"=>3600]: Could not evaluate: Error: `"val"=>3600` is not a valid sysctl key

 

I’m not sure if it the code I’m using to pass the hash value or the syntax of the parameter which is incorrect. Any help you could give me would be very gratefully received

 

Regards

Dave

 

 

 

Dave Green

Technical Consultant

Sword Apak

 

d +44 1454 871120

t +44 1454 871000

f +44 1454 871199

 

Nibley Court

3 Turner Drive

Westerleigh Business Park

Bristol

BS37 5YX. United Kingdom

 

 

Apak Group Limited, Registered in England No. 01451033.

Registered Office: Nibley Court, 3 Turner Drive, Westerleigh Business Park, Bristol, BS37 5YX.

 

 

The information contained in this message or any of its attachments may be privileged and confidential and intended for the exclusive use of the addressee.  The views expressed may not be Apak policy but the personal views of the originator.  If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message and any attachments without retaining a copy.  This footnote also confirms that this email has been swept for the presence of known computer viruses before being sent.

 

 

 

Dave Green

Technical Consultant

Sword Apak

 

d +44 1454 871120

t +44 1454 871000

f +44 1454 871199

 

Nibley Court

3 Turner Drive

Westerleigh Business Park

Bristol

BS37 5YX. United Kingdom

 

 

Attachment: smime.p7s
Description: S/MIME cryptographic signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]