-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Server Serverless 2021-11-29, Server Serverless 2021-12-13, Server Serverless 2021-12-27
In the interim architecture, mongoq will be deployed in front of non-shardsvrs and without config servers, so we cannot use the existing addShard path to add replica sets to a serverless deployment (in the existing addShard path, mongos calls configsvrAddShard command against the config servers, who call a shardsvr-specific addShard command against the shardsvr being added).
Instead, the list of replica sets in the deployment will be available to mongoq via a new service, Rd. We are not yet sure what Rd will look like in production, but we will mock Rd in server jstests as a lightweight javascript library that is backed by a replica set.
This ticket is to start that lightweight library in a new file jstests/serverless/libs.js and add addShard and removeShard functions to it. The addShard function should create an entry in the config servers' config.shards, and the removeShard function should remove an entry from the config servers' config.shards.
This ticket should also switch to using the new addShard method in the existing tests in jstests/serverless.