Details
-
Bug
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
None
-
None
-
None
-
None
-
Froyo
-
Needs Assessment
-
Needs Assessment
Description
Basic Info
Module Version:
Puppet Version: 4.10.8
OS Name/Version: RHEL 6.9
The datatypes from indirect dependencies are not loaded. If you do so, this will result an error and the puppet-agent will fail with:
Error: Evaluation Error: Resource type not found: Stdlib::Absolutepath at /etc/puppetlabs/code/environments/production/modules/my_module2/manifests/init.pp:2:3 on node ...
The functions, types, defined types can still be used without any problem.
My expectation is that everything is treated the same way and that I only have to define the needed dependencies
Example:
In this case the datatype Stdlib::Absolutepath can not be used by the module my_module, but the function abs can be used
If I want to use the datatype Stdlib::Absolutepath in the module my_module I need also to specify the dependency on stdlib
Desired Behavior:
**Datatypes are also loaded using the dependencies
Actual Behavior:
Datatypes are not loaded using the dependencies
Testcase added
- puppet apply site.pp will succeed because the module my_module has both dependencies on mystdlib and stdlib
- puppet apply site2.pp will fail because the module mo_module has only a dependency on mystdlib because the mystdlib module already has the dependency on stdlib
- puppet apply site3.pp will succeed because there's no datatype of the stdlib module used. Only the abs function is used.
Attachments
Issue Links
- relates to
-
PUP-6964 Puppet 4.x functions should be available to all modules not just those that declare the containing module as a dependency
-
- Closed
-