Issue #18762 has been updated by Dominic Cleal.

Status changed from Unreviewed to Rejected

I've managed to reproduce this and I was wrong that this is a Puppet issue, I 
think it's due to Foreman's class parsing, so I've filed 
[#2191](http://projects.theforeman.org/issues/2191) there.

Foreman is misinterpreting the undef as meaning it requires a value, so it's 
always passing an empty statsdir parameter into the ENC output, which it 
shouldn't be doing.  It's valid that Puppet throws an error when it specifies 
statsdir but doesn't give a value.  This goes away when parameterised output is 
disabled, since Foreman no longer sends the empty parameter.
----------------------------------------
Bug #18762: behavior difference when ENC is providing list of classes versus 
array format
https://projects.puppetlabs.com/issues/18762#change-82997

Author: Niek Beernink
Status: Rejected
Priority: Normal
Assignee: 
Category: 
Target version: 
Affected Puppet version: 3.0.2
Keywords: 
Branch: 


allowing parameterized classes in puppet provides a different output compared 
to disallowing parameterized classes. 

Using this module https://github.com/saz/puppet-ntp the statsdir variable is 
set to undef by default. With parameterized classes enabled using the module 
results in the puppet error: 
Error 400 on SERVER: Received incomplete information - no value provided for 
parameter statsdir on node $nodename

The option, Parametrized_Classes_in_ENC, is controlled by foreman. Compare the 
two yaml outputs.
With the option enabled, the following output is produced:
<pre>
---
  parameters:
    owner_email: "emailadress"
    foreman_env: production
    puppet_ca: foreman.url
    domainname: ""
    root_pw: "$hash"
    owner_name: "Firstname Lastname"
    puppetmaster: puppetmaster.url
    hostgroup: production
  environment: production
  classes:
    ntp:
      statsdir: ""
</pre>
With the option disabled, no error is generated in puppet. The following yaml 
output is generated.
<pre>
---
  parameters:
    owner_email: "emailaddress"
    foreman_env: production
    puppet_ca: foreman.url
    domainname: ""
    root_pw: "$hash"
    owner_name: "Firstname Lastname"
    puppetmaster: puppetmaster.url
    hostgroup: production
  environment: production
  classes:
    - ntp
</pre>

Version info:
puppet-3.0.2-1.el6.noarch
foreman-1.1RC4-1.el6.noarch
Centos 6.2


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-bugs?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to