Page MenuHomePhabricator

[drydock/aws] Implement Amazon EC2 blueprint for Drydock
AbandonedPublic

Authored by hach-que on Aug 30 2014, 8:41 AM.
Referenced Files
Unknown Object (File)
Thu, Apr 4, 8:26 AM
Unknown Object (File)
Mar 17 2024, 5:33 AM
Unknown Object (File)
Mar 1 2024, 8:54 AM
Unknown Object (File)
Feb 12 2024, 6:28 AM
Unknown Object (File)
Feb 9 2024, 2:15 AM
Unknown Object (File)
Feb 3 2024, 12:37 AM
Unknown Object (File)
Feb 2 2024, 12:37 AM
Unknown Object (File)
Feb 1 2024, 10:03 PM

Details

Summary

Ref T2015. Depends on D10495. Depends on D10394.

This implements an Amazon EC2 blueprint that allocates and leases hosts from EC2. It starts EC2 instances according to the parameters specified on the blueprint, using the public key of a Passphrase key as the key pair for AWS.

For Linux, this connects over SSH using the private key pair, which is automatically configured by AWS.

For Windows, this connects over WinRM, using the specified WinRM password credential. The user must configure a Windows image in AWS with remoting enabled and with an account that matches the username / password in the credential.

It handles allocation of Elastic IPs, which provides a public IP address for connecting to the allocated machine when Phabricator is not hosted in the same VPC (or on Amazon).

This is built to allocate into a VPC; it doesn't support allocating a classic EC2 instance (and mainly because AWS is trying to deprecate that model anyway).

Test Plan

Tested with both Windows and Linux AMIs in the us-west-2 region.

Diff Detail

Repository
rP Phabricator
Branch
drydock-reconstructed-stack
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 6848
Build 6870: [Placeholder Plan] Wait for 30 Seconds

Event Timeline

hach-que retitled this revision from to Implement Amazon EC2 blueprint for Drydock.
hach-que updated this object.
hach-que edited the test plan for this revision. (Show Details)
hach-que added a reviewer: epriestley.
hach-que edited edge metadata.

Provide additional status information during allocation, and prevent crashes when deleting storage

Configure the service to run as delayed start instead of waiting for instance storage

Update to support WinRM, drop old SSH on Windows stuff

Tested this on HEAD with the latest changes for a Linux AMI and it works.

Testing for a Windows AMI now.

Remove call to setExecTimeout since it's introduced in a later diff

Tested this on HEAD with the latest changes for a Windows AMI and it works.

hach-que retitled this revision from Implement Amazon EC2 blueprint for Drydock to [drydock/aws] Implement Amazon EC2 blueprint for Drydock.Jul 1 2015, 4:46 AM
epriestley edited edge metadata.

I want an Almanac-based version of DrydockPreallocatedHostBlueprintImplementation in production and stable before we pursue this.

This revision now requires changes to proceed.Aug 8 2015, 5:48 PM

I want an Almanac-based version of DrydockPreallocatedHostBlueprintImplementation in production and stable before we pursue this.

I'm not clear on what this means. Is there a task filed somewhere that describes the work that needs to be done?

Needs to be completely rewritten for the new API; D14583 has a good structure for implementing host allocation on non-static services.