Repository navigation
feat(compute): add c8g Graviton4 machines to the AWS instance catalog (ALIEN-1302) - #923
Conversation
… (ALIEN-1302) The planner and ComputeClusterMutation accept only catalog machines, so selecting c8g.2xlarge failed with "Unknown aws machine".
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
|
What was tested, per size:
The live deploy ran on |
Why
AWS c8g (Graviton4) machines give more compute than c7g for a small price increase. Alien rejects them today.
plan_computeandComputeClusterMutationaccept only machines ininstance_catalog::CATALOG, so a pool set toc8g.2xlargefails withUnknown aws machine 'c8g.2xlarge'. Alien already runs ARM64 workloads on c7g, m7g, r7g, and t4g, so the catalog entries are the only missing piece.Scope
crates/alien-core/src/instance_catalog.rsaddsc8g.medium,c8g.large,c8g.xlarge,c8g.2xlarge, andc8g.4xlarge. This is the same size range as c7g. Each c8g entry follows the c7g entry with the same vCPU count, sotest_catalog_instance_types_sorted_by_vcpu_within_familystill holds and c7g wins any tie.crates/alien-core/src/compute_planner.rsaddsgraviton4_compute_machine_can_be_selected.Blast Radius
select_familynever returnsComputeOptimized, so automatic machine selection does not change for any stack. c8g appears only as an explicit choice in the planner's machine options. The CloudFormation generator builds the machine parameter'sAllowedValuesfrom those options, so an existing stack offers c8g only after a template update.Verification
graviton4_compute_machine_can_be_selectedfails without the catalog entries with["Unknown aws machine 'c8g.2xlarge' for pool 'general'"], and passes with them.cargo nextest run -p alien-core --libpasses 647 tests.cargo nextest run -p alien-cloudformationpasses 147 tests.cfn-lint --regions us-east-1accepts all five c8g sizes asAWS::EC2::InstanceInstanceTypevalues and rejects a made-upc8g.nope.ComputeGeneralMachineAllowedValues. The planner default for the test workload stayst4g.small.ComputeGeneralMachine=c8g.2xlargeand reachedCREATE_COMPLETE. Thegeneralpool's autoscaling group launched onec8g.2xlargewitharm64architecture from the arm64 UEFI machine image.DELETE_COMPLETE, the instance reportsterminated, and no autoscaling group or tagged resource with the run prefix remains.