jmckenzie-dev commented on PR #2554:
URL: https://github.com/apache/cassandra/pull/2554#issuecomment-1672111777

   Ok @dcapwell, I've refactored things quite a bit, in some ways the way you 
were recommending, in other ways diverging. Commit w/changes to `.yaml` pushed 
up.
   
   Not looking for fine-toothed comb pass yet; if you have 15 minutes to read 
through it and see if anything I've done now triggers an immune response, that 
should be enough for me to start digging into rewriting the config parsing 
scripts to use `yq` and pulling config from this file.
   
   Instead of defining a "runtime", I went ahead and just aliased out some of 
the resource, timeout, and repeat params for re-use and convenience since 
enough subtle things vary that the notion of a "runtime" doesn't actually add 
much value in retrospect. Especially if most jobs are cleanly inheriting those 
values from the base anchor.
   
   ```
   # Downstream test orchestration needs to use <= the following values when 
running tests.
   small_executor: &small_executor {cpu: 4, memory: 1g, storage: 5g}
   medium_executor: &medium_executor {cpu: 4, memory: 6g, storage: 25g}
   large_executor: &large_executor {cpu: 4, memory: 16g, storage: 50g}
   
   # Be opinionated and don't make people do ms <-> min conversions
   timeout_1h: &16h_in_ms 57600000
   timeout_15m: &15m_in_ms 900000
   timeout_10m: &10m_in_ms 600000
   timeout_8m: &8m_in_ms 480000
   
   # Be opinionated; discourage bespoke repeat amounts on suites where we can.
   repeat_default: &repeat_default 500
   repeat_less: &repeat_less 100
   repeat_tiny: &repeat_tiny 25
   ```
   
   Further, I'm in favor of leaving out the image: * that you alluded to above. 
I don't think we should mandate OS / docker image / etc level constraints in 
this config file. If our requirements for pre-commit are:
   1. Certain set of jobs
   2. With certain resource constraints
   3. On a specific JDK (oldest supported)
   4. With a specific software environment (ant, JDK, python, env vars, etc)
   
   But we _aren't_ requiring a specific distribution, docker image, or all 
JDK's, I don't think including those details in here adds value quite yet. The 
canonical CI will be on the ASF CI env where the OS, docker images, etc. are 
all very clearly defined, bespoke, and our 1-off source of truth. While we 
_could_ specify them in this file and update scripts and jenkins env to derive 
from here, I'm not sweating what form that takes day one (since it'd require 
unsticking some of the stuff in `.build/docker/*` as well)
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to