Feature #322

Ability to add custom fields and options

Added by Ashley Penney over 9 years ago. Updated over 8 years ago.

External Nodes
Target version:
Bugzilla link:
Pull request:
Fixed in Releases:
Found in Releases:


I would like the ability to predefine parameters in some fashion and then display them on the edit host page. I would like, if possible, to be able to define a default value and then choose between an entry box to change this or a drop-down with multiple pre-defined choices. I should also be able to say this is a mandatory parameter. Oh, and if we're really pushing it tying these parameters to included classes would be even better.

When adding a new host this would make it much easier to pass off the process to junior staff by making it impossible to miss a parameter or set it to the wrong value. If I include ldap then it would be nice for it to then require a value for $ldap_role for example.

Associated revisions

Revision 9afa092e (diff)
Added by Ohad Levy over 8 years ago

fixes #322 Ability to add custom variables and multiple values resovled
in a dynamic Hierarchally order

This commits introduces the ability to define variables per puppet

additionally, each class can have multiple values, depends on the host
which is requesting that variable.
each variable, can have validations rules (such as regexp, pre definiend
list etc).
Each value is then evalutated against a matcher role, if not found, the
default value is returned.

as a follow up tickets, we would allow to edit values in the host form
( and host group, domain os etc)

an additional foreman setting was added, to define the default lookup
order (which can be overwritten per variable).


#1 Updated by Ohad Levy over 9 years ago

  • Tracker changed from Bug to Feature

#2 Updated by Ohad Levy over 9 years ago

@Paul - any ideas of how to implement this ticket?

#4 Updated by Ohad Levy about 9 years ago

thinking of this..

we would need to create some sort of metadata inside the module, foreman could read that file, and present dialogs accordingly...

an example for such file:

Name Type Description default value
port integer port used for app X 80

what do you think?

#5 Updated by Marcello de Sousa about 9 years ago

That sounds great !
Any chance something like this could be implemented in the near future ?

As discussed with Ohad, it would be nice if this feature would allow us to define on a puppetmaster node something like:

puppeteer::modules { "myenv1-mymodule1": env => "myenv1", module => "mysql", version => "0.1", }

#6 Updated by Ohad Levy over 8 years ago

  • Category set to External Nodes
  • Assignee set to Ohad Levy
  • Target version set to 0.4

#7 Updated by Ohad Levy over 8 years ago

  • Status changed from New to Closed
  • % Done changed from 0 to 100

#8 Updated by Ohad Levy over 8 years ago

  • Subject changed from Ability to add custom fields and options when editing a host. to Ability to add custom fields and options

Also available in: Atom PDF