seqeralabs/tower-cli

Unsupported SPOT_PRICE_CAPACITY_OPTIMIZED allocation strategy.

Closed this issue · 2 comments

The new AWS Batch forge allocation strategy SPOT_PRICE_CAPACITY_OPTIMIZED is not supported.

It is not possible to create a CE using this strategy and if you try to do a tw compute-envs view ... of a compute environment that uses this strategy you always get a "connection error" message.

The missing allocation strategy is supported since 634a320 when the tower-sdk version was updated.

I checked using master and it seems to work fine:

$> tw compute-envs add aws-batch forge \
-n SpotAllocTest \
-w Org/Wsp \
-c AwsDevCreds \
--work-dir s3://jaime-testing \
-r eu-west-2 \
--provisioning-model SPOT \
--max-cpus 2 \
--alloc-strategy=SPOT_PRICE_CAPACITY_OPTIMIZED

  New AWS-BATCH compute environment 'SpotAllocTest' added at [Org / Wsp] workspace

$> tw compute-envs view -w Org/Wsp -n SpotAllocTest

  Compute environment at [Org / Wsp] workspace:

    ---------------+-------------------------------
     ID            | 6kF1lvyiEbyd7R6jJPZ5Q1        
     Name          | SpotAllocTest                 
     Platform      | aws-batch                     
     Last updated  | Mon, 18 Sep 2023 16:36:23 GMT 
     Last activity | never                         
     Created       | Mon, 18 Sep 2023 16:35:47 GMT 
     Status        | AVAILABLE                     
     Labels        |                               

  Configuration:

     {
       "region" : "eu-west-2",
       "executionRole" : "arn:aws:iam::128997144437:role/TowerForge-6kF1lvyiEbyd7R6jJPZ5Q1-ExecutionRole",
       "cliPath" : "/home/ec2-user/miniconda/bin/aws",
       "workDir" : "s3://jaime-testing",
       "forge" : {
         "type" : "SPOT",
         "minCpus" : 0,
         "maxCpus" : 2,
         "gpuEnabled" : false,
         "ebsAutoScale" : true,
         "allocStrategy" : "SPOT_PRICE_CAPACITY_OPTIMIZED",
         "disposeOnDeletion" : true,
         "fusionEnabled" : false
       },
       "discriminator" : "aws-batch"
     }

@JaimeSeqLabs for clarity are you saying:

  1. This should have already been working in v0.8, or
  2. You've ported in functionality and it will be available in v0.9? (I assume this one).