Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
AWS Batch Batch System (DataBiosphere#3956)
* Implement untested AWSBatchBatchSystem * Fix AWS Batch pylint errors * Fix AWS Batch mypy errors * Actually use our backoff to respond to SlowDown * Fix API calling mistakes * Rearrange session management so we can use the right primitives * Let AWS Batch batch system have a region * Refactor zone selection * Make job names safe for Amazon Batch * Properly find running and stopped batch jobs, and report status reasons * Try to apply tags and set example scripts to parse args * Get owner tagging working Still to do: * Ability to separate preemptible and non-preemptible jobs * Ability to find the ephemeral storage on nodes that have it * Ability to make sure jobs requiring a lot of storage run on queues with a CE that provides a lot of storage, or maybe use an EFS filesystem * Satisfy MyPy * Fix some format strings missing fields * Get AWSBatchBatchSystemTest::test_run_jobs to pass * Give AWS Batch tests a longer time to start running jobs * Actually use the subset arguments * Add docs for the AWSBatchBatchSystem options * Remove debug logging that isn't type-correct * Harmonize specialized and general unit converters * Get rid of decorator we don't actually decorate with * Enstatic __ensafen_name * Revise job-finding loop to break properly * Replace double underscores with admonishments * Fix spelling * De-magic the API's min request limits * Move boto-needing AWS imports to a new file * Just use or instead of a fancy higher-order function * Add logging to debug the busted Docker builder * Fix conversion function variables * Fix new MyPy error in threading * Work around missing overloads in Boto3 stubs * Find the new client and resource location * Add a bunch of casts that MyPy insists on * Fix an actual but MyPy caught where we used the wrong queries to remove policies * Appease MyPy's fear of re-used loop variables * Deal with roles appearing to be a single item * Fit base-type-shaped peg into no-base-type-shaped hole * Tolerate and require better-typed boto3 stubs * Require SDB and IAM stubs * Adapt to establish_boto3_session moving * Remove unused import * Use variable we already have * Adjust copyright year * Factor out job packing for contained executor * Adjust KubernetesBatchSystem variable naming to match other contained batch systems
- Loading branch information