rightscale init script

Bug #434181 reported by martin rhoads
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
ec2-init (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

The current RightScale init script that has been bundled into the Intrepid EC2 images is out of date.

The previous version has two major flaws:

  1) the init script removes itself after running. (previously reported in bug #417292)

  2) RightScale has made a huge improvement in how RightScale services are installed and configured and the old init script does not make use of these new features. The proposed script (attached) supports this.

Ideally, the new init script will run at the rc2 S90 level instead of S99

Scott Moser (smoser)
affects: ubuntu → ec2-init (Ubuntu)
Revision history for this message
Eric Hammond (esh) wrote :

Could you provide details or pointers to the appropriate code? (I'm also incorporate these into some images I build for clients.)

Revision history for this message
martin rhoads (martin-rightscale) wrote :
description: updated
tags: added: rightscale
description: updated
Revision history for this message
martin rhoads (martin-rightscale) wrote :
Eric Hammond (esh)
Changed in ec2-init (Ubuntu):
status: New → Confirmed
Eric Hammond (esh)
Changed in ec2-init (Ubuntu):
importance: Undecided → Low
Revision history for this message
Scott Moser (smoser) wrote :

I'd like to suggest that this rightscale script could be inserted as user-data.

The ubuntu ec2 images support executing arbitrary content passed in via user-data. This hook should be powerful enough to allow the rightscale script to be provided to ec2-init in that user-data and do whatever magic it needs to do.

The benefit of dynamically inserting the script over being hard coded is that there is no need for rightscale to request a ec2-init package upgrade to change their init scripts.

I dont think we have very good doc over how user-data content is handled at the moment, but the implementation is in ec2-run-user-data (http://bazaar.launchpad.net/%7Eubuntu-branches/ubuntu/karmic/ec2-init/karmic/annotate/head%3A/ec2-run-user-data.py) and ec2-init's (http://bazaar.launchpad.net/%7Eubuntu-branches/ubuntu/karmic/ec2-init/karmic/annotate/head%3A/ec2-init) invocation of that.

Revision history for this message
Eric Hammond (esh) wrote :

Here is the current documentation for user-data scripts: http://alestic.com/2009/06/ec2-user-data-scripts
And the original, reference implementation (run at S71 on Ubuntu): http://ec2-run-user-data.notlong.com

RightScale has completely different specs for how user-data is handled in their environment for their own hooks and for users to pass in information, so I don't think they would be compatible with user-data scripts.

The benefit of the current approach with RightScale's lightweight init script is that it only activates and installs RightScale software if it is running in the RightScale environment.

Amazon only provides one way to pass in data to an instance (user-data) and the content of that triggers whether startup should be done with RightScale, user-data scripts, or with alternate user-defined mechanisms.

Revision history for this message
martin rhoads (martin-rightscale) wrote :

So using this proposed method of injecting scripts into the user data does pose some significant limitations. In our case, we are not the end users of instances that are launched on our system, RightScale is only facilitating the launching and management of cloud servers for others. A big concern is that this scheme is not extensible; a giant blob must be written by a single party who must have all of the requisite knowledge on hand to write the script and any corresponding user-data. This raises backward-compatibility concerns of ourselves and our users (some of whose apps rely on the "traditional" user-data format). For theses reasons, if launching ec2 images requires us to enforce that only mime-type encoded data can be inserted it will be a significant limitation on users who need to insert their own custom data.

However, we're excited by the idea of a standard format for metadata that allows several parties to contribute to a given instance's meta-data. We can clearly see the long-term appeal of a standard format for metadata, and for code that gets injected into the instance via metadata. It is the right direction. Because of this we should go ahead and remove the rightscale-init script from the ec2-init package and adapt our site to use the user-data script injection instead.

Revision history for this message
Scott Moser (smoser) wrote :

Closing this based on comment 6.
The solution for rightscale will be to inject rightscale scripts into ubuntu images via the user-data hooks.

Changed in ec2-init (Ubuntu):
status: Confirmed → Won't Fix
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ec2-init - 0.4.999-0ubuntu2

---------------
ec2-init (0.4.999-0ubuntu2) karmic; urgency=low

  * remove rightscale-init from package (see LP: #434181, LP: #434693)
  * fix lintian warning, specify path to GPL-3
  * replace multiple '| logger' in regenerate_ssh_host_keys single one
  * add ec2-is-compat-env, and disable init script by default. it can be
    enabled by setting 'compat=1' in /etc/ec2-init/is-compat-env

 -- Scott Moser <email address hidden> Thu, 24 Sep 2009 16:32:42 -0400

Changed in ec2-init (Ubuntu):
status: Won't Fix → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.