Skip to content

A plugin bringing remote execution to the Foreman, completing the config management functionality with remote management functionality

License

Notifications You must be signed in to change notification settings

theforeman/foreman_remote_execution

Repository files navigation

Build Status Gem Version Code Climate GPL License

Foreman Remote Execution

A plugin bringing remote execution to the Foreman, completing the config management functionality with remote management functionality.

Features

  • Visualize remote execution job process live job detail
  • Schedule or run jobs on hosts invocation form
  • Create templates to customize your jobs job templates

Installation and usage

Check the Foreman manual remote execution section

Compatibility

Foreman Version Plugin Version
>= 3.1 ~> 5.0.0
>= 3.2 >= 6.0.0

Simulated runs

There is an option to use an alternative ScriptRunner implementation. Instead of doing ssh connections it discards any input its given and gives back fake output.

It is controlled by setting the following environment variables REX_SIMULATE - setting to 1, yes or true enables the use of the fake runner REX_SIMULATE_PATH - full path to a file which should be given back as output by the runner, currently one line per runner's refresh REX_SIMULATE_FAIL_CHANCE - number from 0 to 100, each host has a REX_SIMULATE_FAIL_CHANCE of exiting with REX_SIMULATE_EXIT, useful for simulating random failures REX_SIMULATE_EXIT - see the previous

Because it doesn't really open the outgoing connections, it doesn't need hosts with valid IP addresses as targets.

Links

Contributing

Fork and send a Pull Request. Thanks!

To run Rubocop use the rake task in foreman dir:

bundle exec rake foreman_remote_execution:rubocop

Auto correct can be executed directly too:

bundle exec rubocop ~/work/foreman_remote_execution -a

Release Process

Pull Translations from Transifex

As part of the release process, localization must be synced from Transifex. See the wiki for more information.

Sync Job Templates from Community Templates

The community-templates repo is the source for our job templates. Prior to release, use the script/sync_templates.sh script to pull in any changes.

Copyright

Copyright (c) 2015 The Foreman developers

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.