Description
Hello,
I'm having issues on upgrading local sharded cluster from version 4.4 to 5.
For example, Dockerfile for config and shard servers looks like this:
FROM mongo:5.0.21
COPY key /key
COPY scripts /scripts
RUN chown -R mongodb /key
RUN chown -R mongodb /scripts
Docker-compose.yml:
...
mongo_config:
build: ../mongo-cluster/image
container_name: mongo_config
command: mongod --port 27017 --configsvr --replSet configserver --keyFile /key/mongodb.key
env_file:
- ../mongo-cluster/mongo-credentials.env
...
Issue is in docker-entrypoint.sh where the script removes --replSet switch when trying to start un-authenticated mongod version to add root user and password provided in the environment file. The error presented is:
BadValue: Cannot start a configsvr as a standalone server. Please use the option --replset to start the node as a replica set.
It should remove both --configsvr and --shardsvr switches, plus add --dbPath switch because config server uses a different path.
When I try adding this options everything works.
Additions are:
- _mongod_hack_ensure_no_arg --configsvr "${mongodHackedArgs[@]}" (line 318)
- _mongod_hack_ensure_no_arg --shardsvr "${mongodHackedArgs[@]}" (line 319)
- __mongod_hack_ensure_arg_val --dbpath "$(dbPath "$@")" "${mongodHackedArgs[@]}" (line 344)
Is this something that can be added/modified officially?