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

Allow a user to specify the image [source] and the tag for en existing userenv #517

Open atheurer opened 2 months ago

atheurer commented 2 months ago

Userenvs have predefined values for image and tag, for example:

  "userenv": {
    "name": "rhel-ai",
    "label": "RHEL AI",
    "origin": {
      "image": "quay.io/kvalin/instructlab-training",
      "tag": "latest-jul10"
    },

Users need the ability to substitute a different image and tag. As this applies to remotehosts endpoints, the proposed interface is:

{
  {
  "tags": {
    "topology": "none"
  },
  "endpoints": [
    {
      "type": "remotehosts",
      "remotes": [
        {
          "engines": [ { "role": "client", "ids": "1" } ],
          "config": {
            "host": "localhost",
            "settings": {
              "controller-ip-address": "10.26.8.21",
              "userenv": "rhel-ai",
              "userenv-settings": {
                "image": "quay.io/project/container",
                "tag": "fullofbugs"
              },
              "osruntime": "podman",
              "cpu-partitioning": false
            }
          }
        }
      ]
    }
  ]
}
atheurer commented 2 weeks ago

@k-rister I am wondering if this should also include an "auth" section as well, which points to an auth file, or we should try to get the rickshaw container [that uses workshop] to get any container auths already created on the host (/run/user/0/containers/auth.json), so any of the user's podman login on the host would be valid for crucible as well.

k-rister commented 2 weeks ago

@k-rister I am wondering if this should also include an "auth" section as well, which points to an auth file, or we should try to get the rickshaw container [that uses workshop] to get any container auths already created on the host (/run/user/0/containers/auth.json), so any of the user's podman login on the host would be valid for crucible as well.

My idea was to match the origin image property against the URL from the array of userenvs in https://github.com/perftool-incubator/crucible/blob/master/spec/registries.json.md in order to find the appropriate token.

atheurer commented 2 weeks ago

OK, I think that will work