[SERVER-84747] Deploy enterprise module consolidation to branch v6.0 Created: 06/Jan/24  Updated: 11/Jan/24  Resolved: 11/Jan/24

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 6.0.14

Type: Improvement Priority: Minor - P4
Reporter: Steve Gross Assignee: Steve Gross
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File image-2024-01-09-09-36-48-918.png    
Backwards Compatibility: Fully Compatible
Participants:

 Description   

Execute the following steps to refactor enterprise module repo for the v5.0 branch:

  1. Crbot -> copybara switch
  2. Evergreen config switch (mongodb -> 10gen)
  3. Update WT release tools (to refer to 10gen)
  4. Merge enterprise module content (for the corresponding branch)
  5. Freeze enterprise module commits (for the corresponding branch)


 Comments   
Comment by Steve Gross [ 11/Jan/24 ]

Update: alex.neben@mongodb.com and I have completed the merge process, and sent comms (email, Slack). I'll continue to monitor the v6.0 waterfall. If it's stable in 24 hours, I'll close this ticket.

Comment by Githook User [ 11/Jan/24 ]

Author:

{'name': 'Steve Gross', 'email': 'steve.gross@mongodb.com', 'username': 'stevegrossmongodb'}

Message: SERVER-84747 Update test configuration to reflect enterprise module changes

GitOrigin-RevId: 644f527db18d2af0f2bb1d70d939f21931f0237c
Branch: v6.0
https://github.com/mongodb/mongo/commit/d67e414c8db57dbf1d6818c845d805d24abbd13d

Comment by Steve Gross [ 10/Jan/24 ]

Update: alex.neben@mongodb.com and I reviewed the preceding comment and agreed to proceed with the merge. Alex is handling the git part; I am preparing the comms.

Comment by Steve Gross [ 10/Jan/24 ]

I believe we're are ready to merge enterprise-modules into v6.0.

Setup

  1. In the 10gen/mongo repo, I created branch stevegrossmongodb-v6.0c (from v6.0) on Jan 6 2024.
  2. I made several edits to a variety of py and yml files, sufficient to switch how enterprise modules are(n't) loaded.
  3. I imported the contents of 10gen/mongo-enterprise-modules (v6.0 branch) into the src/mongo/db/modules/enterprise directory.

Testing

  1. I triggered several PBs to run 100% of buildvariants & tasks. After a series of restarts (for timeouts & flaky tests), the following PBs demonstrate sufficient test passage:
    1. https://spruce.mongodb.com/version/659ad2a061837dc031af915f/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC
    2. https://spruce.mongodb.com/version/659d5b379ccd4e2b3d196beb/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC
  2. Note that there a few remaining non-success tasks. They are:
    1. Ok because it's a known issue:
      1. package on Enterprise Ubuntu 22.04
      2. aggregation_multiversion_fuzzer on Debian 11
      3. multiversion on Debian 11
      4. jepsen_list-append on Enterprise Debian 10
      5. compile_all on Enterprise RHEL 7.1 PPC64LE
      6. auth on Enterprise RHEL 7.2 s390x
      7. sharding_multiversion on Enterprise RHEL 8.0
      8. sharding_multiversion on ! Shared Library Enterprise RHEL 8.0
      9. compile_all on Enterprise RHEL 8.1 PPC64LE
      10. package on Enterprise RHEL 8.3 s390x
      11. sharding_multiversion on Enterprise Ubuntu 18.04
      12. concurrency_sharded_multi_stmt_txn_with_stepdowns on macOS arm64
      13. concurrency_sharded_with_stepdowns on macOS arm64
      14. concurrency_sharded_with_stepdowns_and_balancer on macOS
      15. concurrency_sharded_with_stepdowns on macOS
    2. Ok because it's also failing on base rev:
      1. sharding_auth on Enterprise SLES 12
      2. package on Enterprise RHEL 7.1 PPC64LE
      3. package on Enterprise RHEL 8.1 PPC64LE
    1. Ok because it's also timing out on base rev:
      1. sharding_auth on Enterprise RHEL 7.1 PPC64LE
      2. sharding_max_mirroring on Enterprise RHEL 7.1 PPC64LE
    2. Ok because AFAICT it NEVER ran in the waterfall:
      1. check_feature_flag_tags on ~ Commit Queue
      2. check_feature_flag_tags on ! Shared Library Enterprise RHEL 8.0

Merge Information

To merge necessary changes to accommodate the import of mongo-enterprise-modules v6.0, the following commits should be applied (in the given order):

  1. e0d94d4c1cabd4944c50fd7ff0bc64a34076cb98
  2. 457213249c10b19a545adf6ee2b05f1e528c32c9
  3. e8146bb47f5aa6760c115ed7dc42e743eaccb725
  4. 8b3e27e06fd6b61eb37bc155e8e5a202851749b1
  5. c7f87fb9237451ef91cd68b2994a8c92e56e7ac7
  6. 2f721ca2e918ad948dc2ef5a1c8b59aba1fa98a3

Risk Assessment

At time of writing, there has been a single commit to the mongo-enterprise-modules v6.0 branch (https://github.com/10gen/mongo-enterprise-modules/commit/8ab98529bd082762eb88f7a60a063e64f56e9011 ) since I created my branch 5 days ago. alex.neben@mongodb.com and I reviewed the PR and concluded it poses low risk to the merge we are proposing.

Previous merges have uncovered issues (e.g.: burn_in_tests failure), so we should be vigilant in monitoring the overall health of the v6.0 ecosystem in the days following the merge.

Comment by Steve Gross [ 09/Jan/24 ]

Note: Retries have made some progress (e.g.: replica_sets on AL2 is now passing). Still monitoring https://spruce.mongodb.com/version/659d5b379ccd4e2b3d196beb/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC to see if the time outs turn into passes).

Comment by Steve Gross [ 09/Jan/24 ]

Status update: PB finally completed (total runtime ~41H). Amazingly, very few tasks are problematic; there are a few time outs, and a small number of failed tasks meriting investigation. I'm restarting the timed-out tasks (https://spruce.mongodb.com/version/659d5b379ccd4e2b3d196beb/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC )and looking into the failures.

Comment by Steve Gross [ 08/Jan/24 ]

Status update: PB is churning along. Still more tasks to run, but thus far very few new failures (there are a handful of "known issues").

Comment by Steve Gross [ 07/Jan/24 ]

Good news: many of the tasks in the most recent PB passed.

Bad news: I had to fix a few more buildvariants and retriggered the PB (https://spruce.mongodb.com/version/659ad2a061837dc031af915f/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC ).

Comment by Steve Gross [ 06/Jan/24 ]

Missed a few more! Fixed them and retriggered PB: https://spruce.mongodb.com/version/6599e8b9306615101d4f6f81/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC 

Comment by Steve Gross [ 06/Jan/24 ]

Missed a few more! Fixed them and retriggered PB: https://spruce.mongodb.com/version/6599e8b9306615101d4f6f81/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC 

Comment by Steve Gross [ 06/Jan/24 ]

Aha, I missed a few buildvariants; fixed those and retriggered PB: https://spruce.mongodb.com/version/6599dbdb2fbabe627d394e0a/tasks?sorts=STATUS%3AASC%3BBASE_STATUS%3ADESC 

Comment by Steve Gross [ 06/Jan/24 ]

I have made changes to the `stevegrossmongodb-v6.0c` branch (from `10gen/mongo` repo) sufficient to test the import.

Generated at Thu Feb 08 06:55:53 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.