Getting warning error for hammer_cli_foreman_puppet when we run hammer command

Problem: Getting warning error for hammer_cli_foreman_puppet when we run hammer command

hammer organization list
**Warning: An error occurred while loading module hammer_cli_foreman_puppet.**
---|----------------------|----------------------|----------------------------------------------------------------------------------|---------------------
ID | TITLE                | NAME                 | DESCRIPTION                                                                      | LABEL
---|----------------------|----------------------|----------------------------------------------------------------------------------|---------------------
1  | Default Organization | Default Organization |                                                                                  | Default_Organization

**Expected outcome:**Need to run hammer command without any warning

**Foreman and Proxy versions:**Foreman 3.13 with Katello 4.15

**Foreman and Proxy plugin versions:**Foreman 3.13 with Katello 4.15

Distribution and version: Rocky 9

Other relevant data:

We are getting warning error for hammer_cli_foreman_puppet when we run hammer command.

When we execute the command “hammer --debug ping” we are getting the below error:

[ERROR 2025-01-29T11:28:46 Modules] Error while loading module hammer_cli_foreman_puppet.
Warning: An error occurred while loading module hammer_cli_foreman_puppet.
[ERROR 2025-01-29T11:28:46 Modules] <NoMethodError> undefined method `singular_name' for nil:NilClass
        /usr/share/gems/gems/hammer_cli_foreman_puppet-0.1.0/lib/hammer_cli_foreman_puppet/id_resolver.rb:78:in `for'
        /usr/share/gems/gems/hammer_cli_foreman-3.13.0/lib/hammer_cli_foreman/option_builders.rb:223:in `dependent_options'
        /usr/share/gems/gems/hammer_cli_foreman-3.13.0/lib/hammer_cli_foreman/option_builders.rb:216:in `build'
        /usr/share/gems/gems/hammer_cli-3.13.0/lib/hammer_cli/option_builder.rb:27:in `block in build'
        /usr/share/gems/gems/hammer_cli-3.13.0/lib/hammer_cli/option_builder.rb:26:in `each'
        /usr/share/gems/gems/hammer_cli-3.13.0/lib/hammer_cli/option_builder.rb:26:in `build'
        /usr/share/gems/gems/hammer_cli_foreman-3.13.0/lib/hammer_cli_foreman/option_builders.rb:129:in `build'
        /usr/share/gems/gems/hammer_cli-3.13.0/lib/hammer_cli/abstract.rb:237:in `build_options'
        /usr/share/gems/gems/hammer_cli_foreman-3.13.0/lib/hammer_cli_foreman/commands.rb:125:in `build_options'
        /usr/share/gems/gems/hammer_cli_foreman_puppet-0.1.0/lib/hammer_cli_foreman_puppet/smart_class_parameter.rb:89:in `<class:InfoCommand>'
        /usr/share/gems/gems/hammer_cli_foreman_puppet-0.1.0/lib/hammer_cli_foreman_puppet/smart_class_parameter.rb:54:in `<class:SmartClassParameter>'
        /usr/share/gems/gems/hammer_cli_foreman_puppet-0.1.0/lib/hammer_cli_foreman_puppet/smart_class_parameter.rb:38:in `<module:HammerCLIForemanPuppet>'
        /usr/share/gems/gems/hammer_cli_foreman_puppet-0.1.0/lib/hammer_cli_foreman_puppet/smart_class_parameter.rb:1:in `<top (required)>'
        <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
        <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
        /usr/share/gems/gems/hammer_cli_foreman_puppet-0.1.0/lib/hammer_cli_foreman_puppet.rb:15:in `<module:HammerCLIForemanPuppet>'
        /usr/share/gems/gems/hammer_cli_foreman_puppet-0.1.0/lib/hammer_cli_foreman_puppet.rb:1:in `<top (required)>'
        <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:160:in `require'
        <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:160:in `rescue in require'
        <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:149:in `require'
        /usr/share/gems/gems/hammer_cli-3.13.0/lib/hammer_cli/modules.rb:75:in `require_module'
        /usr/share/gems/gems/hammer_cli-3.13.0/lib/hammer_cli/modules.rb:54:in `load!'
        /usr/share/gems/gems/hammer_cli-3.13.0/lib/hammer_cli/modules.rb:69:in `load'
        /usr/share/gems/gems/hammer_cli-3.13.0/lib/hammer_cli/modules.rb:80:in `block in load_all'
        /usr/share/gems/gems/hammer_cli-3.13.0/lib/hammer_cli/modules.rb:79:in `each'
        /usr/share/gems/gems/hammer_cli-3.13.0/lib/hammer_cli/modules.rb:79:in `load_all'
        /usr/share/gems/gems/hammer_cli-3.13.0/bin/hammer:129:in `<top (required)>'
        /usr/local/bin/hammer:25:in `load'
        /usr/local/bin/hammer:25:in `<main>'
        --- Caused by ---
        <LoadError> cannot load such file -- hammer_cli_foreman_puppet
        <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
        <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in `require'
        /usr/share/gems/gems/hammer_cli-3.13.0/lib/hammer_cli/modules.rb:75:in `require_module'
        /usr/share/gems/gems/hammer_cli-3.13.0/lib/hammer_cli/modules.rb:54:in `load!'
        /usr/share/gems/gems/hammer_cli-3.13.0/lib/hammer_cli/modules.rb:69:in `load'

We could see that the gems are up-to-date.hammer_cli,hammer_cli_foreman,hammer_cli_foreman_puppet. Please help us on this issue.

*** LOCAL GEMS ***

hammer_cli (3.13.0)
hammer_cli_foreman (3.13.0)
hammer_cli_foreman_puppet (0.1.0)
hammer_cli_foreman_remote_execution (0.3.0)
hammer_cli_foreman_tasks (0.0.21)
hammer_cli_foreman_virt_who_configure (0.1.1)
hammer_cli_katello (1.15.0.pre.main)

Hi Team,

Please help us on this issue.

Hi @Priya1,

Do you have foreman_puppet plugin installed for Foreman itself? If not, you need it in order to run Puppet related commands. If you do have it installed, could you please try running hammer command with --reload-cache or simply -r flag? I.e. hammer --reload-cache to see if it helps.