Bug #16107

Cannot render snippet due to .join call

Added by Daniel Lobato Garcia 9 months ago. Updated 2 months ago.

Status:Ready For Testing
Priority:Normal
Assigned To:Daniel Lobato Garcia
Category:Foreman
Target version:Foreman - Team Daniel - Iteration 9
Difficulty: Pull request:https://github.com/theforeman/foreman_remote_execution/pull/199
Bugzilla link:1346091
Story points-
Velocity based estimate-

Description

Currently Foreman is failing to render the REX snippet with this error: "The snippet 'remote_execution_ssh_keys' threw an error: undefined method `join' for #<String:0x007f4775c597e8>"

From what I see https://github.com/theforeman/community-templates/blob/develop/snippets/remote_execution_ssh_keys.erb#L30 , the parameter is expected to be an array or similar.
The docs say nothing about it - https://theforeman.org/plugins/foreman_remote_execution/0.3/index.html - and there's no way for the user to set the parameter as Array as a global param or a host param.

The 'expected' Array comes from the plugin itself who queries all proxies for the param - https://github.com/theforeman/foreman_remote_execution/blob/0c722f8ecb96a94f6f74db30e0305d3f37fde7cf/app/models/concerns/foreman_remote_execution/host_extensions.rb

I propose making the method in REX return a string so that we can: * remove the `join` call from the template * allow people to set their own SSH keys via global params

History

#1 Updated by Daniel Lobato Garcia 9 months ago

Also, the method in REX doesn't respect the user settings now - e.g: `params['remote_execution_ssh_keys']` takes the content of `Host#remote_execution_ssh_keys` no matter what, if there's any. The plugin should respect the param if it already exists and merely add new keys to it

#2 Updated by The Foreman Bot 9 months ago

  • Status changed from New to Ready For Testing
  • Assigned To set to Daniel Lobato Garcia
  • Pull request https://github.com/theforeman/foreman_remote_execution/pull/199 added

#3 Updated by Daniel Lobato Garcia 8 months ago

  • Target version set to Team Daniel - iteration 2

#4 Updated by Daniel Lobato Garcia 8 months ago

  • Target version changed from Team Daniel - iteration 2 to Team Daniel backlog

#5 Updated by Daniel Lobato Garcia 7 months ago

  • Target version changed from Team Daniel backlog to Team Daniel - iteration 3

#6 Updated by Alex Fisher 5 months ago

A number of puppet users are already using the parameter from Foreman's ENC output and expect it to be an array.

#7 Updated by Daniel Lobato Garcia 5 months ago

  • Target version changed from Team Daniel - iteration 3 to Team Daniel - iteration 6

#8 Updated by Ivan Necas 2 months ago

  • Bugzilla link set to 1346091

#9 Updated by Daniel Lobato Garcia 2 months ago

  • Target version changed from Team Daniel - iteration 6 to Team Daniel - Iteration 9

Also available in: Atom PDF