Uploaded image for project: 'Evergreen'
  1. Evergreen
  2. EVG-5794

Trigger patch build of another Evergreen project from a patch build

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: app
    • Labels:

      Description

      The t_compile task of the genny Evergreen project uploads the binaries to an S3 path of the following form:

      When running as part of the mainline, the t_push task of the genny Evergreen project additionally uploads the binaries to S3 paths of the following form:

      The binaries uploaded by the t_push task are then downloaded by the dsi module when running as part of the sys-perf Evergreen project:

      genny_revision="$(git rev-parse HEAD)"
      genny_revision_url="https://s3.amazonaws.com/mciuploads/genny/genny/genny-amazon2-$genny_revision.tgz"
      genny_default_url="https://s3.amazonaws.com/mciuploads/genny/genny/genny-amazon2.tgz"
      genny_custom_url="${bootstrap.genny_custom_url}"
      # Prefer to grab a specific binary archive if we have one
      # Otherwise, attempt to grab the archive for the current revision
      # Finally, fallback to the default archive
      if [[ -n $genny_custom_url ]]; then
          curl -fLSs -o genny.tgz "$genny_custom_url"
          echo "Got custom archive from '$genny_custom_url'"
      elif curl -fLSs -o genny.tgz "$genny_revision_url"; then
          echo "Got revision archive from '$genny_revision_url'"
      else curl -fLSs -o genny.tgz "$genny_default_url"
          echo "Failed to get revision archive, got archive from '$genny_default_url'"
      fi
      

      In order to verify that a new workload or modifications to an existing workload are behaving as expected when run in the (production) sys-perf environment, an engineer must currently do the following:

      1. Schedule a patch build to the genny Evergreen project with their changes to the mongodb/genny repository. This is likely automatic from submitting a pull request.
      2. Wait for the patch build to finish and modify the 10gen/dsi repository to set genny_custom_url to be the S3 path from the t_compile task.
      3. Run evergreen patch -p sys-perf to create a patch build for the sys-perf Evergreen project.
        • Run evergreen set-module -m dsi -i ... to pick up on the genny_custom_url changes.
        • Run evergreen set-module -m genny -i ... to pick up on the workload YAML file changes, etc.

      It would be a much more pleasant experience if submitting a patch build to the genny Evergreen project could optionally trigger a patch build of the sys-perf Evergreen project after the t_compile task has completed, where we could use the ${trigger_id} expansion to download the appropriate genny binary.

        Attachments

          Activity

            People

            Assignee:
            backlog-server-evg Backlog - Evergreen Team
            Reporter:
            max.hirschhorn Max Hirschhorn
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated: