Same parameter class ID for all environment?

Morning everyone,

I've post this topic on foreman-users list, unfortunately without any
answer.
https://groups.google.com/forum/#!topic/foreman-users/DX7NogwFQzw

if someone can explain me what I'm doing wrong?

To resume:

I'm working with 2 different environments, in both environment I've the
same puppet module, with the same class name but with a different class
parameter value:

··· ------------------------ Production: Test_module1: class test ( $test_version="v1" ) { }

Development:
Test_module1:
class test ( $test_version=“v2” ) {
}

When I ask to the REST API, my parameter ID is the same for all
environments.
https://puppetsrv/api/v2/puppetclasses/86

  1. {
  2. "id": 86,
    
  3. "name": "test_module1",
    
  4. "created_at": "2014-03-19T12:01:34Z",
    
  5. "updated_at": "2014-03-19T12:01:34Z",
    
  6. "smart_variables":
    
  7. [
    
  8. ],
    
  9. "smart_class_parameters":
    
  10. [
    
  11.     {
    
  12.         "parameter": "test_version",
    
  13.         "id": 266
    
  14.     }
    
  15. ],
    
  16. "environments":
    
  17. [
    
  18.     {
    
  19.         "name": "development",
    
  20.         "id": 4
    
  21.     },
    
  22.     {
    
  23.         "name": "production",
    
  24.         "id": 1
    
  25.     }
    
  26. ],
    
  27. "":
    
  28. [
    
  29. ]
    

When I use Foreman to override the parameter value, my default value is
changed on all environment.

How can I manage my class parameter by environment ?
I would like to change my parameter in development environment without
impacted my production, is it possible ?

My environment is the following

RELEASE: Red Hat Enterprise Linux Server release 6.5 (Santiago)
FOREMAN: 1.4.0
RUBY: ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
PUPPET: 3.4.2

Thanks for your help!

Greg

Just a quick check, do you use parser = future in your puppet.conf?

··· On Mar 24, 2014 10:45 AM, "Grégory Giglio" wrote:

Morning everyone,

I’ve post this topic on foreman-users list, unfortunately without any
answer.
https://groups.google.com/forum/#!topic/foreman-users/DX7NogwFQzw

if someone can explain me what I’m doing wrong?

To resume:

I’m working with 2 different environments, in both environment I’ve the
same puppet module, with the same class name but with a different class
parameter value:


Production:
Test_module1:
class test ( $test_version=“v1” ) {
}

Development:
Test_module1:
class test ( $test_version=“v2” ) {
}

When I ask to the REST API, my parameter ID is the same for all
environments.
https://puppetsrv/api/v2/puppetclasses/86

  1. {
  2. "id": 86,
    
  3. "name": "test_module1",
    
  4. "created_at": "2014-03-19T12:01:34Z",
    
  5. "updated_at": "2014-03-19T12:01:34Z",
    
  6. "smart_variables":
    
  7. [
    
  8. ],
    
  9. "smart_class_parameters":
    
  10. [
    
  11.     {
    
  12.         "parameter": "test_version",
    
  13.         "id": 266
    
  14.     }
    
  15. ],
    
  16. "environments":
    
  17. [
    
  18.     {
    
  19.         "name": "development",
    
  20.         "id": 4
    
  21.     },
    
  22.     {
    
  23.         "name": "production",
    
  24.         "id": 1
    
  25.     }
    
  26. ],
    
  27. "":
    
  28. [
    
  29. ]
    

When I use Foreman to override the parameter value, my default value is
changed on all environment.

How can I manage my class parameter by environment ?
I would like to change my parameter in development environment without
impacted my production, is it possible ?

My environment is the following

RELEASE: Red Hat Enterprise Linux Server release 6.5 (Santiago)
FOREMAN: 1.4.0
RUBY: ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
PUPPET: 3.4.2

Thanks for your help!

Greg


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Hello, thanks for asking

No,this key is not defined.
Here is my puppet.conf

[main]
# The Puppet log directory.
# The default value is '$vardir/log'.
logdir = /var/log/puppet

# Where Puppet PID files are kept.
# The default value is '$vardir/run'.
rundir = /var/run/puppet

# Where SSL certificates are kept.
# The default value is '$confdir/ssl'.
ssldir = $vardir/ssl

# Allow services in the 'puppet' group to access key (Foreman + proxy)
privatekeydir = $ssldir/private_keys { group = service }
hostprivkey = $privatekeydir/$certname.pem { mode = 640 }

# Puppet 3.0.x requires this in both [main] and [master] - harmless on 

agents
autosign = $confdir/autosign.conf { mode = 664 }

[agent]

classfile = $vardir/classes.txt

localconfig = $vardir/localconfig

default_schedules = false

report        = true
pluginsync    = true
masterport    = 8140
environment   = production
certname      = puppetsrv
server        = puppetsrv
listen        = false
splay         = false
runinterval   = 1800
noop          = false
show_diff     = false
configtimeout = 120

[master]
autosign = $confdir/autosign.conf { mode = 664 }
reports = foreman
external_nodes = /etc/puppet/node.rb
node_terminus = exec
ca = true
ssldir = /var/lib/puppet/ssl
certname = puppetsrv

[development]
modulepath =
/etc/puppet/environments/development/modules:/etc/puppet/environments/common:/usr/share/puppet/modules
config_version =
[production]
modulepath =
/etc/puppet/environments/production/modules:/etc/puppet/environments/common:/usr/share/puppet/modules
config_version =

··· On Monday, March 24, 2014 1:32:40 PM UTC+1, Rickard von Essen wrote: > > Just a quick check, do you use parser = future in your puppet.conf? > On Mar 24, 2014 10:45 AM, "Grégory Giglio" <greg....@gmail.com> > wrote: > >> Morning everyone, >> >> I've post this topic on foreman-users list, unfortunately without any >> answer. >> https://groups.google.com/forum/#!topic/foreman-users/DX7NogwFQzw >> >> if someone can explain me what I'm doing wrong? >> >> To resume: >> >> I'm working with 2 different environments, in both environment I've the >> same puppet module, with the same class name but with a different class >> parameter value: >> >> ------------------------ >> Production: >> Test_module1: >> class test ( $test_version="v1" ) { >> } >> >> Development: >> Test_module1: >> class test ( $test_version="v2" ) { >> } >> ------------------------ >> >> When I ask to the REST API, my parameter ID is the same for all >> environments. >> https://puppetsrv/api/v2/puppetclasses/86 >> >> >> 1. { >> 2. "id": 86, >> 3. "name": "test_module1", >> 4. "created_at": "2014-03-19T12:01:34Z", >> 5. "updated_at": "2014-03-19T12:01:34Z", >> 6. "smart_variables": >> 7. [ >> 8. ], >> 9. "smart_class_parameters": >> 10. [ >> 11. { >> 12. "parameter": "test_version", >> 13. "id": 266 >> 14. } >> 15. ], >> 16. "environments": >> 17. [ >> 18. { >> 19. "name": "development", >> 20. "id": 4 >> 21. }, >> 22. { >> 23. "name": "production", >> 24. "id": 1 >> 25. } >> 26. ], >> 27. "": >> 28. [ >> 29. ] >> >> When I use Foreman to override the parameter value, my default value is >> changed on all environment. >> >> How can I manage my class parameter by environment ? >> I would like to change my parameter in development environment without >> impacted my production, is it possible ? >> >> >> My environment is the following >> >> RELEASE: Red Hat Enterprise Linux Server release 6.5 (Santiago) >> FOREMAN: 1.4.0 >> RUBY: ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] >> PUPPET: 3.4.2 >> >> Thanks for your help! >> >> Greg >> >> -- >> You received this message because you are subscribed to the Google Groups >> "foreman-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to foreman-dev...@googlegroups.com . >> For more options, visit https://groups.google.com/d/optout. >> >