Project

General

Profile

Actions

Bug #12579

closed

Class Parameters are not separated for different environments

Added by Jeff Sault over 8 years ago. Updated over 8 years ago.

Status:
Duplicate
Priority:
High
Assignee:
-
Category:
Puppet integration
Target version:
-
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

This may be related to #2369 but things seem to have changed for the worse in foreman 1.10rc3.

Our use case:
We have different versions of the same puppet classes in different environments. Each version may have different class parameters. This way we can fully test things in a 'development' environment before pushing it to 'production'.

Steps to reproduce:
- create class 'myclass' with 2 parameters (param1 and param2) in development environment folder
- copy to production environment folder
- import puppet classes into production and development environments. Same class should appear in both environments
- override param1 and param2 for a host (eg myhost) in production environment
- update myclass in production environment and remove param2
- import puppet classes

Expected:
Everything should work. Only param1 should show up in the ENC output for myhost

Actual:
param2 still being sent as an override by the ENC interface (and shown in the host parameters page). Causing puppet catalog compilation to fail with an error (Error 400 on SERVER: Invalid parameter param2 on Class[myclass]).

This behaviour has been present for a while. Internally we have been running a script that deleted and recreated the smart class parameter but since the API for that has been removed its become more of a critical issue. I have tried re-enabling the delete API but the parameter is being re-added to both environments (different behaviour again) so not workable for us.

For me it makes sense that classes in different environment are treated completely separately. They may not share anything in common besides their name.


Related issues 1 (0 open1 closed)

Is duplicate of Foreman - Bug #7517: Puppet class parameter not removed from environment after an importClosedDominic Cleal09/18/2014Actions
Actions #1

Updated by Dominic Cleal over 8 years ago

  • Related to Bug #2369: Paramaterized classes persist through import after parameters have been removed added
Actions #2

Updated by Dominic Cleal over 8 years ago

  • Category set to Puppet integration
Actions #3

Updated by Dominic Cleal over 8 years ago

  • Related to deleted (Bug #2369: Paramaterized classes persist through import after parameters have been removed)
Actions #4

Updated by Dominic Cleal over 8 years ago

  • Is duplicate of Bug #7517: Puppet class parameter not removed from environment after an import added
Actions #5

Updated by Dominic Cleal over 8 years ago

  • Status changed from New to Duplicate

Thanks for the report, this looks to be the same as #7517, which I'll add some more info to in a moment.

I suspect #2369 is a little different as it's a complete removal of parameters rather than environment-specific, which #7517 is about.

Actions

Also available in: Atom PDF