Project

General

Profile

Actions

Refactor #14450

closed

Replace use of Puppet parser functions in parameter validations

Added by Dominic Cleal over 8 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Fixed in Releases:
Found in Releases:

Description

kafo_parsers returns a list of validations for each Puppet module, referencing Puppet::Parser AST objects. This should be replaced by a more generic validation mechanism or at worst, removed/discarded.

Using parser functions directly will be difficult with Puppet under AIO, as the classes won't be accessible. This will also be a problem with the parser cache in #14447 as it will serialise these classes on Puppet 3 but be unable to deserialise them.

One possibility might be to reimplement or redistribute with modifications the functions from stdlib in Kafo (or another gem) and then use standard naming to load the validation checks instead of serialising the class.

This will also have the benefit of removing some complex code that loads parser functions from the Puppet modulepath inside Kafo.


Related issues 1 (0 open1 closed)

Blocks Foreman - Tracker #8447: Puppet 4 supportClosed11/19/2014

Actions
Actions #1

Updated by Dominic Cleal over 8 years ago

Actions #2

Updated by Dominic Cleal over 8 years ago

  • Status changed from New to Assigned
  • Assignee set to Dominic Cleal
Actions #3

Updated by Dominic Cleal over 8 years ago

I think I'm going to simplify the interface between the two gems not to pass the parsed AST objects back, and instead pass the function name and arguments.

In kafo we can re-implement the common validation functions from the stdlib documentation/spec. foreman-installer only uses:

validate_absolute_path
validate_array
validate_bool
validate_hash
validate_integer
validate_listen_on (from puppet-foreman_proxy)
validate_re
validate_string

I'm unsure if this will be required after Puppet 2+3 support is dropped, as the data types in 4 are more descriptive and will replace almost all validation (#14500).

Actions #4

Updated by The Foreman Bot over 8 years ago

  • Status changed from Assigned to Ready For Testing
  • Pull request https://github.com/theforeman/kafo/pull/137 added
Actions #5

Updated by The Foreman Bot over 8 years ago

  • Pull request https://github.com/theforeman/kafo_parsers/pull/17 added
Actions #6

Updated by Dominic Cleal over 8 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100
Actions

Also available in: Atom PDF