RightLink 6.3 and above now supports "RightScale-enabling" existing Windows workloads via the RightLink enablement Powershell script. When executed on a running unmanaged (raw) instance, the script will install and run the RightScale RightLink agent, turning the raw instance into a "RightScale Server" which allows monitoring, alerts, configuration management, lifecycle management, and all other services provided by the RightScale platform.
The script is idempotent. If at any point the script fails, raises an error, or does not complete for any reason, the script can be run again after fixing the issue and it will continue executing from the point at which it encountered the error.
The enablement script accomplishes this using the following six steps:
- Installs any missing prerequisites (.NET 3.5).
- Locates the instance's unique identifier (such as instance ID) if the instance's HREF is not provided.
- Locates the ServerTemplate to use through either the inputted name or HREF.
- Locates the Deployment to use through the existing deployment or inputted name.
- Associates the ServerTemplate and Deployment with the instance by making a wrap_instance API call to RightScale's API service.
- Downloads, installs, and starts RightLink.
Note: This guide covers enablement using RightLink 6.3+ on Windows only. For enabling Linux workloads, we recommend using the RightLink 10 agent, which is available in limited release (Please contact your RightScale account manager if you would like access to RightLink 10 for Linux).
AWS, Microsoft Azure, OpenStack, CloudStack, Rackspace, SoftLayer, vSphere (RCA-V)
Supported Operating Systems
Windows Server 2012 R2, Windows Server 2012, Windows Server 2008 R2
Please execute the following steps outlined below:
- Log into your account on the RightScale dashboard, go to the MultiCloud Marketplace and find the Base ServerTemplate for Windows (RL 6.3 Enablement) [SAMPLE] ServerTemplate and import it into your account. This ServerTemplate is specifically designed for the existing Windows workloads use case. It has a MultiCloud Image (MCI) that is valid for each currently supported cloud.
- Identify the name of the deployment (or create a new deployment using Manage->Deployments->New from the RightScale dashboard) where you want the RightScale-enabled server to be placed. If the instance is not already in a deployment, an existing deployment name must be supplied to the enablement script.
- Make sure that the virtual server (instance) you are enabling appears in the RightScale dashboard with the state “running” ("operational" for EC2 instances). This can be done using Clouds-><Your Cloud>->Instances in the RightScale dashboard.
- Download the rightlink.enable.ps1 script from https://island1.rightscale.com/rightlink/scripts/rightlink.enable.ps1 onto the Windows virtual server that you want to RightScale-enable. It is presumed that this virtual server is already running and you have access and permission to download/execute software there. (Note: island1.rightscale.com - an Island load balancer - is a proxy for mirror.rightscale.com which does not support SSL yet, so the island1 download link is preferred.)
Private cloud considerations: Private clouds should follow ingress/egress rules defined in Firewall Configuration Ruleset.
- Run the enablement script on the virtual server. It should run to completion. It may take up to 10 minutes to download RightLink from the mirror URL, install RightLink and associated dependencies (.NET 3.5), and start up the client. Note that if the script fails on a particular step, the script is designed to be idempotent. This means that the script can be run again and it will pick up execution at a point after which it last failed.
The enablement script has the following options:
RefreshToken (Required) - RightScale API token. You can get the refresh token for your account from the RightScale dashboard using Settings->Account Settings->API credentials.
Cloud (Required) - Possible values are: ec2, softlayer, vsphere, cloudstack, openstack, azure, rackspace.
DeploymentName - Target RightScale deployment where you want the new server to land. This parameter does not need to be supplied if the instance is already placed in a deployment.
ServerTemplateName (Required) - Name of the ServerTemplate that you want to use. Note the known limitations section on ServerTemplates below.
ServerTemplateHref - API HREF of the ServerTemplate to use if the name is ambiguous. This is a HREF parameter available from the dashboard (ex. /api/server_templates/1234).
ServerName - Name that you want to give to the newly enabled server. Defaults to instance name, else RL Enabled.
Inputs - Inputs to the ServerTemplate. Server inputs in the form of NAME=type:value. Separate multiple inputs with commas. Inputs parameter must be a single-quoted string (i.e., 'INPUT_NAME_X=text:foo,INPUT_NAME_Y=cred:BAR' ). See RightScale API 1.5 reference -> Resources -> Inputs for the list of input value types.
ApiServer - Hostname of API server to use, default to my.rightscale.com, which is an alias for us-3.rightscale.com. Note that this must match the hostname given as the "Token endpoint" in Settings-> Account Settings->API Credentials or you will get an authentication failure.
MirrorUrl (Optional) - Full URL of where to download the RightLink installer from. Defaults to https://island1.rightscale.com/rightlink
RightLinkVersion (Optional) - Defaults to always getting the latest 6.x version. Manually supplied version must be in a format similar to "6.3.0-0". Minimum version is 6.3.0-0.
InstanceHref - API HREF of the instance. This should only need to be supplied in the case of ambiguous instances, such as the instance not having a unique IP in the vSphere cloud. This is the HREF as displayed in the dashboard, such as /api/clouds/2705/instances/8M1D4PGONQ0P9.
Debug - Prints out additional debugging information such as API calls used, etc.
Here is an example of a RightScale enablement script:
$wc = New-Object System.Net.Webclient
powershell -executionpolicy unrestricted -file rightlink.enable.ps1 -refreshToken 'ae1...1fe' -deploymentName 'My deployment' -serverTemplateName 'Base ServerTemplate for Windows (v14.1)' -serverName 'My server' -cloud vsphere -inputs "AD_ADMIN_ACCOUNT=text:Adminstrator,AD_ADMIN_PASSWORD=cred:MY_AD_PW,AD_DOMAIN_NAME=text:rightscale.local"