Uploaded image for project: 'Puppet Task Runner'
  1. Puppet Task Runner
  2. BOLT-791

Support running a task on a proxy node targeting a device or API with run-on


    • Type: New Feature
    • Status: Resolved
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: BOLT 1.6.0
    • Component/s: None
    • Template:
    • Epic Link:
    • Sprint:
      Bolt Kanban
    • Release Notes:
      New Feature
    • Release Notes Summary:
      Adds support for remote tasks to bolt. Connection information for non-server targets like HTTP endpoints can now be stored in inventory.
    • QA Risk Assessment:
      Needs Assessment



      Some tasks such as those targetting network devices or HTTP APIs may execute on a proxy target but in the users mind the target is the device or HTTP API itself. Bolt should support this in a more natural fashion by allowing targets to specify arbitrary connection information and a reference to a different target to run-on.


      We should support run-on as an option for bolt targets that specifies the target is remote.

      Task spec changes

      metadata should support a new remote: true option. When set the task runner will run the task on the 'run-on' value for the target and pass a new _target metaparam to the task that includes the real target's config.

      Inventory changes

      • A new top level option on targets "run-on".
      • targets with run-on set will fail for all run_* commands except run_task where the task has remote: true.
      • The config for targets with run-on will accept arbitrary values
      • setting run-on and a transport will fail.

      Plan language changes

      • The Target object in the plan language should expose run_on as an attribute of targets that is undef unless run-on is set.


      • What should we call the run-on option? run-on/proxy ?
      • What should transport be for run-on nodes? 'remote'
      • Do we need to support anything other than remote tasks?
      • When should other run_* fail.





              • Assignee:
                alex Alex Dreyer
                alex Alex Dreyer
              • Votes:
                1 Vote for this issue
                7 Start watching this issue


                • Created:

                  Zendesk Support