This is the 'clone' command (https://github.com/mongodb/mongo/blob/r3.6.1/src/mongo/db/commands/clone.cpp) and how it's currently used by movePrimary (https://github.com/mongodb/mongo/blob/r3.6.1/src/mongo/db/s/config/configsvr_move_primary_command.cpp#L209-L240)
Today, movePrimary uses the 'clone' command to copy
1) the data for all unsharded collections in the db
2) the catalog info (indexes, options, and views) for those unsharded collections
We want to change the second so that the catalog info for all collections (sharded and unsharded) is copied.
This ticket should add a jstest that creates two collections with non-default options (through createCollection), and on each
It should then shard one of the collections, call movePrimary, and demonstrate (by calling listCollections and listIndexes directly on the new primary shard) that the new primary shard copied the indexes, options, and views for both the unsharded and sharded collections.