Project

General

Profile

Actions

Feature #18553

open

Set Puppet 4/5 data types during class import

Added by Ben Kevan almost 8 years ago. Updated over 6 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Puppet integration
Target version:
-
Difficulty:
Triaged:
No
Fixed in Releases:
Found in Releases:

Description

This may be a potential feature request rather than a bug but wanted to file as a bug as it's currently causing issues within my new deployment.

Disclaimer: I'm new to Foreman and puppet 4. I come from a puppet 2.5 environment.

I've deployed Foreman via AIO. Additionally I've deployed a Puppet Open Source environment independent from Foreman.

In both environments, I've installed the module puppetlabs-ntp (version 6.0.0).

In the Foreman environment after assigning the class to a host group, I get the following messages on the client:
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Class[Ntp]:
parameter 'config' expects a match for Variant[Stdlib::Windowspath = Pattern[/^(([a-zA-Z]:[\\\/])|([\\\/][\\\/][^\\\/]+[\\\/][^\\\/]+)|([\\\/][\\\/]\?[\\\/][^\\\/]+))/], Stdlib::Unixpath = Pattern[/^\/([^\/\0]+(\/)?)+$/]], got ''
parameter 'config_dir' expects a match for Variant[Stdlib::Windowspath = Pattern[/^(([a-zA-Z]:[\\\/])|([\\\/][\\\/][^\\\/]+[\\\/][^\\\/]+)|([\\\/][\\\/]\?[\\\/][^\\\/]+))/], Stdlib::Unixpath = Pattern[/^\/([^\/\0]+(\/)?)+$/]], got ''
parameter 'disable_auth' expects a Boolean value, got String
parameter 'disable_kernel' expects a Boolean value, got String
parameter 'fudge' expects an Array value, got String
parameter 'driftfile' expects a match for Variant[Stdlib::Windowspath = Pattern[/^(([a-zA-Z]:[\\\/])|([\\\/][\\\/][^\\\/]+[\\\/][^\\\/]+)|([\\\/][\\\/]\?[\\\/][^\\\/]+))/], Stdlib::Unixpath = Pattern[/^\/([^\/\0]+(\/)?)+$/]], got ''
parameter 'leapfile' expects a match for Variant[Stdlib::Windowspath = Pattern[/^(([a-zA-Z]:[\\\/])|([\\\/][\\\/][^\\\/]+[\\\/][^\\\/]+)|([\\\/][\\\/]\?[\\\/][^\\\/]+))/], Stdlib::Unixpath = Pattern[/^\/([^\/\0]+(\/)?)+$/]], got ''
parameter 'logfile' expects a match for Variant[Stdlib::Windowspath = Pattern[/^(([a-zA-Z]:[\\\/])|([\\\/][\\\/][^\\\/]+[\\\/][^\\\/]+)|([\\\/][\\\/]\?[\\\/][^\\\/]+))/], Stdlib::Unixpath = Pattern[/^\/([^\/\0]+(\/)?)+$/]], got ''
parameter 'iburst_enable' expects a Boolean value, got String
parameter 'keys' expects an Array value, got String
parameter 'keys_enable' expects a Boolean value, got String
parameter 'keys_file' expects a match for Variant[Stdlib::Windowspath = Pattern[/^(([a-zA-Z]:[\\\/])|([\\\/][\\\/][^\\\/]+[\\\/][^\\\/]+)|([\\\/][\\\/]\?[\\\/][^\\\/]+))/], Stdlib::Unixpath = Pattern[/^\/([^\/\0]+(\/)?)+$/]], got ''
parameter 'keys_controlkey' expects a Ntp::Key_id = Integer[1, 65534] value, got String
parameter 'keys_requestkey' expects a Ntp::Key_id = Integer[1, 65534] value, got String
parameter 'keys_trusted' expects an Array value, got String
parameter 'minpoll' expects a Ntp::Poll_interval = Integer[4, 17] value, got String
parameter 'maxpoll' expects a Ntp::Poll_interval = Integer[4, 17] value, got String
parameter 'package_manage' expects a Boolean value, got String
parameter 'package_name' expects an Array value, got String
parameter 'panic' expects an Integer value, got String
parameter 'peers' expects an Array value, got String
parameter 'preferred_servers' expects an Array value, got String
parameter 'restrict' expects an Array value, got String
parameter 'interfaces' expects an Array value, got String
parameter 'interfaces_ignore' expects an Array value, got String
parameter 'service_enable' expects a Boolean value, got String
parameter 'service_manage' expects a Boolean value, got String
parameter 'stepout' expects an Integer value, got String
parameter 'step_tickers_file' expects a match for Variant[Stdlib::Windowspath = Pattern[/^(([a-zA-Z]:[\\\/])|([\\\/][\\\/][^\\\/]+[\\\/][^\\\/]+)|([\\\/][\\\/]\?[\\\/][^\\\/]+))/], Stdlib::Unixpath = Pattern[/^\/([^\/\0]+(\/)?)+$/]], got ''
parameter 'tinker' expects a Boolean value, got String
parameter 'tos' expects a Boolean value, got String
parameter 'tos_minclock' expects an Integer value, got String
parameter 'tos_minsane' expects an Integer value, got String
parameter 'tos_floor' expects an Integer value, got String
parameter 'tos_ceiling' expects an Integer value, got String
parameter 'tos_cohort' expects a value of type Boolean or Integer, got String
parameter 'udlc' expects a Boolean value, got String
parameter 'udlc_stratum' expects an Integer value, got String
parameter 'ntpsigndsocket' expects a match for Variant[Stdlib::Windowspath = Pattern[/^(([a-zA-Z]:[\\\/])|([\\\/][\\\/][^\\\/]+[\\\/][^\\\/]+)|([\\\/][\\\/]\?[\\\/][^\\\/]+))/], Stdlib::Unixpath = Pattern[/^\/([^\/\0]+(\/)?)+$/]], got '' on node

I can eliminate the messages by reassigning key types within the smart parameter class. Is there a way to pull in the parameter type from within the module to ensure these are correct? Or am I doing something incorrectly?

As a note this also functions properly within puppet enterprise.


Related issues 3 (1 open2 closed)

Related to Foreman - Bug #18564: Class parameters using module data defaults should not have override enabled on importNew02/20/2017Actions
Related to Foreman - Feature #24419: puppet class - parse and honour puppet 5 variable definitionsDuplicateActions
Has duplicate Foreman - Feature #21813: Puppet import of parameter types in classesDuplicate11/30/2017Actions
Actions

Also available in: Atom PDF