ihanick / anydbver

LXD+Ansible setup to install Percona/Oracle MySQL/MongoDB/Postgresql database products with exact version specified.
MIT License
50 stars 12 forks source link

MongoDB sharded cluster wrong keyFile contents #15

Closed samiahlroos closed 2 months ago

samiahlroos commented 1 year ago

When creating a sharded cluster like this:

./anydbver deploy \
 psmdb:4.2 replica-set:rs0 shardsrv \
 node1 psmdb:4.2 master:default replica-set:rs0 shardsrv \
 node2 psmdb:4.2 master:default replica-set:rs0 shardsrv \
 node3 psmdb:4.2 configsrv replica-set:cfg0 \
 node4 psmdb:4.2 configsrv replica-set:cfg0 master:node3 \
 node5 psmdb:4.2 configsrv replica-set:cfg0 master:node3 \
 node6 psmdb:4.2 mongos-cfg:cfg0/node3,node4,node5 mongos-shard:rs0/default,node1,node2

anydbver creates /etc/rs0-keyfile on shard servers and /etc/cfg0-keyfile on config. File name doesn't matter, but content does, and shard servers have different content from config. This results in sh.addShard() failing.

Copying keyFile contents from cfg to shard servers and restarting fixes it.

ihanick commented 2 months ago

works with https://github.com/ihanick/anydbver/releases/tag/v0.1.6

anydbver deploy node0 psmdb:latest,replica-set=rs0,role=shard node1 psmdb:latest,replica-set=rs0,role=shard,master=node0 node2 psmdb:latest,replica-set=rs0,role=shard,master=node0 node3 psmdb:latest,replica-set=rs1,role=shard node4 psmdb:latest,replica-set=rs1,role=shard,master=node3 node5 psmdb:latest,replica-set=rs1,role=shard,master=node3 node6 psmdb:latest,replica-set=cfg0,role=cfg node7 psmdb:latest,replica-set=cfg0,role=cfg,master=node6 node8 psmdb:latest,replica-set=cfg0,role=cfg,master=node6 node9 psmdb:latest mongos-cfg:cfg0/node6,node7,node8 mongos-shard:rs0/node0,node1,node2,rs1/node3,node4,node5