Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-5485

Add relevant environment data to expansions in evergreen

    • Not Needed
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?

      Use Case

      As a Node engineer, 
      I want to load environment info into evergreen expansions,
      So that the evergreen team can fix the bug outlined in EVG-20276.

      From slack:

      Okay, so what happened.  We’re relying on a bug in evergreen that was fixed and then reverted, but they still want to fix it.  The bug:
      expected: if a func defines vars , then the vars should only be present for that function’s execution
      actual: if a func defines vars , then the vars are present for the functions execution and subsequent functions. We seem to rely on this when calling bootstrap mongo-orchestration.  We pass configuration values in as vars (i.e., AUTH), which get passed into mongo orchestration, but we then rely on these values being present when we call run tests.  When evergreen fixed the bug, they were no longer present.

      We need to identify any locations where we rely on values set in `vars` and instead load them into expansions.

      User Impact

      n/a (CI change)

      Dependencies

      • tbd

      Unknowns

      • How can we determine all places where we were relying on the buggy behavior?
        • See DRIVERS-2702 for detailed instructions
        • Remove all defaulting from all of our evergreen scripts, both in the config and outside of it and throw if any required environment variable is not provided.  We can then safely assume that we aren't falling back to a default value in the case where a `var` is no longer accessible in subsequent functions.

      Acceptance Criteria

      Implementation Requirements

      Testing Requirements

      • n/a

      Documentation Requirements

      • N/A

      Follow Up Requirements

      • N/A

            Assignee:
            Unassigned Unassigned
            Reporter:
            bailey.pearson@mongodb.com Bailey Pearson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: