perftool-incubator / rickshaw

A project to facilitate execution of benchmarks and tools via extensions for many target environments
Apache License 2.0
0 stars 10 forks source link

remove the need for perl in the engine environment #550

Closed k-rister closed 2 months ago

k-rister commented 2 months ago

We are having some build issues with the toolbox perl dependency issues in some experimental userenvs which brings focus on this. Ultimately, we don't intend to require perl in the engine environment but it has snuck in because we are dependent on https://github.com/perftool-incubator/toolbox/blob/main/bin/get-json-settings.pl. We have decided to adjust this because it will fix the current problems being faced as well as reduce the size of the engine container images.

k-rister commented 2 months ago

The first step towards resolving this is creating a Python implementation of get-json-settings.pl (Python is ok since we already depend on that for things like Roadblock). That is being addressed by https://github.com/perftool-incubator/toolbox/pull/84.

k-rister commented 2 months ago

https://github.com/perftool-incubator/toolbox/pull/84 has been merged.

The second step is to change the engine code to use the new Python implementation of get-json-settings. This is being addressed by https://github.com/perftool-incubator/rickshaw/pull/551.

k-rister commented 2 months ago

https://github.com/perftool-incubator/rickshaw/pull/551 has been merged.

The third step is to remove the perl module requirements from the toolbox workshop.json. By removing the requirements but leaving the workshop.json intact and included by rickshaw-run it allows for the future addition of other toolbox dependencies should the need arise (simply by adding them to the workshop.json without having to do anything else). This is being addressed by https://github.com/perftool-incubator/toolbox/pull/85.

k-rister commented 2 months ago

https://github.com/perftool-incubator/toolbox/pull/85 has been merged

The fourth and final (?) step is to remove all the perl packages that are "natively" included in the userenvs by the userenv embedded requirements. This is being address by https://github.com/perftool-incubator/rickshaw/pull/552.