Project

General

Profile

Feature #20978

Updated by Peter Amstutz about 1 year ago

Arvados InstanceTypes list will include all instance types across all availablity zones that we might possibly want to use. 

 Containers have a set of candidate instance types instead of a single one, this is based on finding the cheapest instance type and any instance types that are within 1.5x cost of the cheapest type.    This list of candidates will be sorted in ascending order by cost. 

 Launching a container will first check if there is an idle instance of any of the candidate instance types. 

 If none are available, it will next try to start a new instance.    It will start with the cheapest and try to launch it in each configured subnet.    If it is not available in any subnet, then try the next candidate instance type and so on. 

 If there is an error that states an instance type is unknown / never available (which is distinct from a "not available due to capacity" error) we should cache the result.    Alternately, we can use the AWS API to find which instance types are available in a given subnet/availability zone and use that.    Or we can skip this optimization entirely. 

 Example command line call to get instance types in a given availability zone: 

 aws ec2 describe-instance-type-offerings --filters "Name=location,Values=us-east-1e" --location-type availability-zone --region us-east-1 

 Which presumably corresponds to this: 

 https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypeOfferings.html 

Back