FYI: hammer --version fails to load the hammer_cli_foreman_tasks (Foreman 2.3.0 / CentOS 8.2)


hammer --version
Warning: An error occured while loading module hammer_cli_foreman_tasks.
hammer (2.3.0)
 * hammer_cli_foreman (2.3.0)
 * hammer_cli_foreman_tasks (unknown version)

Expected outcome: tasks plugin loads successfully and reports tasks plugin version

Foreman and Proxy versions: 2.3.0

Foreman and Proxy plugin versions: 2.3.0

sudo dnf list installed | grep -i tasks
rubygem-foreman-tasks.noarch             3.0.2-1.fm2_3.el8   @foreman-plugins
rubygem-foreman-tasks-core.noarch        0.3.4-1.fm2_1.el8   @foreman-plugins
rubygem-hammer_cli_foreman_tasks.noarch  0.0.15-1.fm2_2.el8  @foreman-plugins

Distribution and version: CentOS 8.2 / Fresh Minimal Install (from closest mirror) [2020-12-04]

Other relevant data:

Nothing in production.log occurs when running this command.

From: ~/.hammer/log/hammer.log:
hammer.log (9.4 KB)

From: hammer --version -v -d:
hammer-cli-debug.log (6.8 KB)

Tasks installed/enabled via:

sudo foreman-installer \
    --enable-foreman-plugin-tasks \
    --enable-foreman-cli-tasks \
    --foreman-plugin-tasks-automatic-cleanup true

Aside: Firefox picked up that ‘occur[R]ed’ is spelt wrong in the Warning :wink:

can you please post the output of hammer --debug --version?

Well that was interesting -d and --debug are listed as the same in hammer --help, and yet the output is different :slight_smile:

hammer-cli-minus-minus-debug.log (10.3 KB)

Late Note: I have installed and tested remote execution since the original post. The version number of remote execution suffers from the same fate tasks, which I understand is to be expected, as it uses tasks for its implementation.

Note: A test of remote execution via hammer was not affected by the hammer --version issue:

hammer job-invocation create \
    --job-template "Run Command - SSH Default" \
    --inputs command="ps -ef" \
    --search-query "name ~ $(hostname -f)"
# Note the 'Job invocation' identifier, as it needed to view the
# job's output, as in the following example:
hammer job-invocation output --id 1 --host $(hostname -f)

Works as expected