Uploaded image for project: 'MongoDB Database Tools'
  1. MongoDB Database Tools
  2. TOOLS-2508

Standardize Go dependency management for Connectors projects

    XMLWordPrintable

    Details

    • Type: Epic
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: No versions
    • Component/s: None
    • Labels:
      None
    • Epic Name:
      Connectors Go Dependency Tooling
    • Original Estimate:
      1
    • Detailed Project Statuses:
      Hide

      Engineer(s): Evgeni Dobranov

      2021-04-01: Epic Complete!


      2021-03-22: On track for 2021-03-26 (8 Calendar Weeks)
      Cost in Eng Weeks: 4 Original |  5 To Date | 6 Est Final

      • Spent most of the last two weeks troubleshooting a hanging bug found when upgrading BIC to Go driver 1.5.0
      • Remaining work:
        • (BI-2619) Rely on mongo-tools instead of mongo-tools-common
        • (TOOLS-2810) Make v4.2 the default branch for mongo-tools-common and add README
      • Complete:
        • (BI-2489) Upgrade to go driver 1.5.0
        • (TOOLS-2808) Migrate mongo-tools-common IAM auth tests to mongo-tools
      • When this project is complete, Evgeni will join Patrick and Varsha on Implement MongoSQL to MQL translation

      2021-03-05: Target date set to  2021-03-26 (8 Calendar Weeks)
      Cost in Eng Weeks: 4 Original |  3 To Date | 6 Est Final

      • In progress:
        • (BI-2489) Upgrade to go driver 1.4.7 (rolled over from last update, work was blocked on go drivers team releasing the update)
        • (TOOLS-2808) Migrate mongo-tools-common IAM auth tests to mongo-tools
      •  Complete:
        • Bulk of the work in the last two weeks as been on running the mongo-tools-common test in the mongo-tools waterfall.
        • (MGOMIRROR-423) Rely on mongo-tools instead of mongo-tools-common
        • (MGOMIRROR-424) Add mod tidy static analysis check for Go modules

       

      2021-02-22: Target date set to  2021-03-26 (8 Calendar Weeks)
      Cost in Eng Weeks: 4 Original |  3 To Date | 6 Est Final

      • Design approved, implementation underway
      • Complete:
        • (TOOLS-2801, MGOMIRROR-422 ) Migrate from dep to Go modules and update README for Tools and Mirror
        • (TOOLS-2802) Make mongo-tools-common a subpackage of mongo-tools
        • (TOOLS-2805) Add mod tidy static analysis check for Go modules
      • Coming up:
        • (BI-2489) Upgrade to go driver 1.4.7
        • (MGOMIRROR-423) Rely on mongo-tools instead of mongo-tools-common
        • (MGOMIRROR-424) Add mod tidy static analysis check for Go modules

      2021-02-04: Target date set to  2021-03-26 (8 Calendar Weeks)
      Cost in Eng Weeks: 4 Original |  1 To Date | 4 Est Final

      • Project kick-off meeting was on Feb 1.
      • Design is nearly complete, remaining open questions are around how to handle backport branches
      • Descoped goal to "leverage evergreen’s inter-project patch dependencies to reduce the number of steps needed in making changes to MTC and catch potential breaking changes to the downstream products," as Inter-project dependencies for patch builds (PM-1603) is not complete. 
      • In the next two weeks, we expect to have the repos converted to go modules.

      Show
      Engineer(s): Evgeni Dobranov 2021-04-01: Epic Complete! 2021-03-22: On track for 2021-03-26 (8 Calendar Weeks) Cost in Eng Weeks: 4 Original |  5 To Date | 6 Est Final Spent most of the last two weeks troubleshooting a hanging bug found when upgrading BIC to Go driver 1.5.0 Remaining work: (BI-2619) Rely on mongo-tools instead of mongo-tools-common ( TOOLS-2810 ) Make v4.2 the default branch for mongo-tools-common and add README Complete: (BI-2489) Upgrade to go driver 1.5.0 ( TOOLS-2808 ) Migrate mongo-tools-common IAM auth tests to mongo-tools When this project is complete, Evgeni will join Patrick and Varsha on Implement MongoSQL to MQL translation 2021-03-05: Target date set to  2021-03-26 (8 Calendar Weeks) Cost in Eng Weeks: 4 Original |  3 To Date | 6 Est Final In progress: (BI-2489) Upgrade to go driver 1.4.7 (rolled over from last update, work was blocked on go drivers team releasing the update) ( TOOLS-2808 ) Migrate mongo-tools-common IAM auth tests to mongo-tools  Complete: Bulk of the work in the last two weeks as been on running the mongo-tools-common test in the mongo-tools waterfall. (MGOMIRROR-423) Rely on mongo-tools instead of mongo-tools-common (MGOMIRROR-424) Add mod tidy static analysis check for Go modules   2021-02-22: Target date set to  2021-03-26 (8 Calendar Weeks) Cost in Eng Weeks: 4 Original |  3 To Date | 6 Est Final Design approved, implementation underway Complete: ( TOOLS-2801 , MGOMIRROR-422 ) Migrate from dep to Go modules and update README for Tools and Mirror ( TOOLS-2802 ) Make mongo-tools-common a subpackage of mongo-tools ( TOOLS-2805 ) Add mod tidy static analysis check for Go modules Coming up: (BI-2489) Upgrade to go driver 1.4.7 (MGOMIRROR-423) Rely on mongo-tools instead of mongo-tools-common (MGOMIRROR-424) Add mod tidy static analysis check for Go modules 2021-02-04: Target date set to  2021-03-26 (8 Calendar Weeks) Cost in Eng Weeks: 4 Original |  1 To Date | 4 Est Final Project kick-off meeting was on Feb 1. Design is nearly complete, remaining open questions are around how to handle backport branches Descoped goal to "leverage evergreen’s inter-project patch dependencies to reduce the number of steps needed in making changes to MTC and catch potential breaking changes to the downstream products," as Inter-project dependencies for patch builds (PM-1603) is not complete.  In the next two weeks, we expect to have the repos converted to go modules.
    • Documentation Changes:
      Not Needed

      Description

      This epic is filed in the TOOLS project, but really applies to TOOLS, MGOMIRROR, BI, and SQL. At the very least, this epic should result in migrating all golang projects owned by the connectors team to go modules. This should also be an opportunity to make some coordinated decisions about vendoring, versioning, and other dependency-management-related questions.

      This will be a relatively small amount of engineering work, and will reduce the friction for Connectors engineers who are jumping between the team's various go codebases. Additionally, go modules are the officially supported, future-proof method of managing dependencies in go; the migration is likely inevitable, and will be less painful the sooner we do it.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              evgeni.dobranov Evgeni Dobranov
              Reporter:
              ryan.chipman Ryan Chipman
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                End date: