build_utils.sh is nearly two thousand lines of shell that is difficult to understand. Functions call other functions, which have side-effects like modifying global variables, or creating new global variables that other functions must assume to have been populated later.
I have started to add some smaller, more narrowly-scoped files to /scripts/ while developing ceph-dev-pipeline; I think we should aim to ultimately break the entire file up so that jobs can include only what they need to execute.
To enable a smooth transition, we could keep build_utils.sh around until the process is finished, and source newly-created files from there as their functionality is spit out from the larger file. We could do this one job at a time.
build_utils.shis nearly two thousand lines of shell that is difficult to understand. Functions call other functions, which have side-effects like modifying global variables, or creating new global variables that other functions must assume to have been populated later.I have started to add some smaller, more narrowly-scoped files to
/scripts/while developingceph-dev-pipeline; I think we should aim to ultimately break the entire file up so that jobs can include only what they need to execute.To enable a smooth transition, we could keep
build_utils.sharound until the process is finished, and source newly-created files from there as their functionality is spit out from the larger file. We could do this one job at a time.