RightLink automates servers configuration and monitoring. It uses RabbitMQ as message bus and relies on Chef for configuring. RightLink uses RightPopen to monitor the stdout and stderr streams of scripted processes. Servers running the RightLink agent configures themselves on startup and register with the mapper so that operational recipes and scripts can be run at a later time.
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.
Some of the other agent operations that RightLink relies on:
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 aforwarder/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.
NOTE: If you use rs_run_right_script with the -p option, you must pass a COMPLETE set of input values in which case the input values that are defined on the server are not merged. If you omit any inputs, e.g. do not use -p, then the values defined on the server are used. However we do not provide a way to mix and match.
© 2006-2014 RightScale, Inc. All rights reserved.
RightScale is a registered trademark of RightScale, Inc. All other products and services may be trademarks or servicemarks of their respective owners.