Skip to content
This repository

RightLink: server agent for RightScale

branch: master

Merge branch 'v6.0'

* v6.0:
  acu164069 Need slightly more specific different variable name
latest commit f5d92fec55
Peter Schroeter psschroeter authored April 17, 2014
Octocat-spinner-32 actors acu162901 - Require connection to both api and router to be online April 09, 2014
Octocat-spinner-32 bin acu162901 - Reduce fiber pool size to 8 and pick up right_agent 2.1.2… April 08, 2014
Octocat-spinner-32 ext added ext/Rakefile as post-install build step for gem install right_l… September 05, 2012
Octocat-spinner-32 init acu157027 - Refine communication mode handling March 02, 2014
Octocat-spinner-32 lib acu164069 Need slightly more specific different variable name April 17, 2014
Octocat-spinner-32 scripts acu161748 - iterate on review. Revert error_output for adding a tag (… April 16, 2014
Octocat-spinner-32 spec Merge pull request #404 from rightscale/cornsilk_14_8_acu162901_right… April 16, 2014
Octocat-spinner-32 .gitignore Merge branch 'master' into aqua_acu78536_productize March 31, 2013
Octocat-spinner-32 Gemfile acu157665 Bump right_agent gem April 15, 2014
Octocat-spinner-32 Gemfile.lock Merge pull request #405 from rightscale/cornsilk_14_8_acu162901_right… April 16, 2014
Octocat-spinner-32 INSTALL.rdoc acu164103 - changed https to http in baseurls for all platforms April 16, 2014
Octocat-spinner-32 LICENSE acu155327 - prepare release documents for RightLink v6.0.0 February 28, 2014
Octocat-spinner-32 README.rdoc acu155327 - prepare release documents for RightLink v6.0.0 February 28, 2014
Octocat-spinner-32 RELEASES.rdoc acu162167 - bump right_link version and update docs April 14, 2014
Octocat-spinner-32 Rakefile acu131387 fixed some windows? logic to use Platform.windows? instead November 12, 2013
Octocat-spinner-32 right_link.gemspec acu162167 - bump right_link version and update docs April 14, 2014
Octocat-spinner-32 right_link.rconf acu144426 - Base support for using HTTP instead of AMQP February 18, 2014
README.rdoc

RightLink

DESCRIPTION

Synopsis

RightLink automates servers configuration and monitoring. It uses HTTP or AMQP as its RightNet communication mode and relies on Chef[2] for configuring. RightLink uses RightPopen[3] to monitor the stdout and stderr streams of scripted processes. Servers running the RightLink agent configure themselves on startup and register with the RightNet router so that operational recipes and scripts can be run at a later time.

Supported cloud types:

  • azure

  • cloudstack

  • ec2

  • google

  • openstack

  • rackspace (Open Cloud)

  • softlayer

Refer to the wiki (github.com/rightscale/right_link/wikis) for up-to-date documentation.

Use the built-in issues tracker (github.com/rightscale/right_link/issues) to report issues.

Maintained by the RightScale Ivory/Teal Team

Interface

The RightLink agent exposes actors and methods used to schedule the execution of Chef recipes and RightScripts (shell scripts) and perform other server management operations. You can find these actors in the 'actors' subdirectory of RightLink.

RightLink retrieves executable bundles containing all the information required to run the Chef recipe or RightScript from other agents. An executable bundle consists of a sequence of Chef recipes and/or RightScripts together with any required data (Chef attributes, RightScript parameters, packages etc.). The exact definition can be found in RightAgent[3].

Some of the other agent operations that RightLink relies on:

  • booter actor:

    • booter/declare: Set the RightLink version number

    • booter/get_repositories: Retrieve the repositories bundle used to configure the server

    • booter/get_boot_bundle: Retrieve the boot execution bundle

    • booter/get_decommission_bundle: Retrieve the decommission execution bundle

  • auditor actor:

    • auditor/create_new_section: Create a new audit section

    • auditor/update_status: Update the current audit summary

    • auditor/append_info: Append information text to the audit

    • auditor/append_error: Append error message to the audit

    • auditor/append_output: Append script output to the audit

    • auditor/append_raw_output: Same as above, but don't append newline character

  • forwarder actor:

    • forwarder/schedule_recipe: Request a Chef recipe to be scheduled on this instance

    • forwarder/schedule_right_script: Request a RightScript to be scheduled on this instance

  • state recorder actor:

    • state_recorder/record: Record instance state transitions (e.g. boot->operational)

Upon startup the instance agent will first request the boot execution bundle and run it. If the execution is successful it will then tell the state recorder actor to transition to the operational state. At that point the agent is ready to receive requests.

RightLink comes with two command line tools rs_run_recipe and rs_run_right_script which allow triggering the execution of operational Chef recipes or RighScript respecively from within the instance itself. These two command line tools tell the RightLink agent to send a forwarder/schedule_recipe or forwarder/schedule_right_script request to the agents that provide these operations. These agents should in turn call the instance_scheduler/schedule_bundle operation of the RightLink agent with the right execution bundle.

INSTALLATION

See INSTALL.rdoc for more information

ADDITIONAL RESOURCES

LICENSE

RightLink

Copyright

Copyright © 2009-2013 RightScale, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Something went wrong with that request. Please try again.