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

Standardize Go dependency management for Connectors projects

    • Type: Icon: Epic Epic
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Not Needed
    • Done
    • Connectors Go Dependency Tooling
    • 1
    • 0
    • 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.

      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.

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

              Created:
              Updated:
              Resolved: