-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[DPE-2561] POC - Start with provided config option: config-server, sh…
…ard (#246) ## Overview This PR enables the user to pass the following config options: `replication`(default), `shard`, and `config-server`. This PR supports this options by starting the charm as a `shard` or a `config-server`. If the config option `config-server` is provided, then the charm starts an internal `mongos` service that runs on 0.0.0.0 and is configured to the provided config server. ## Testing As a POC there are not tests included in this PR. Testing was performed by hand with: ``` # deploy charmcraft pack juju deploy ./*charm --config role="shard" shard-one juju deploy ./*charm --config role="config-server" config-server # watch deployment and verify all hooks pass without error and charm is in active and idle state watch -n1 --color juju status --color # verify running correctly juju ssh shard-one/0 systemctl status snap.charmed-mongodb.mongod.service exit juju ssh config-server/0 systemctl status snap.charmed-mongodb.mongod.service systemctl status snap.charmed-mongodb.mongos.service exit ``` ## Accommodating for PBM changes in new snap revision New snap revison packages a new version of the PBM tool which updated how errors were handled when querying PBM status, commit [4bf9d5f](4bf9d5f) reflects these necessary changes ## Follow Up PR Follow up PR is to be made immediately after merging of this feature is completed and is a requirement of finishing [DPE-2561](https://warthogs.atlassian.net/browse/DPE-2561). For this PR this will be starting `mongos` with a `--auth` and the same `--keyFile` used to start the`mongod` service ## Future PR Future PR is to be started after the follow up PR has been made. Once `mongos` is started with auth [DPE-2562](https://warthogs.atlassian.net/browse/DPE-2562) will be started. This includes creating a basic shared library between `config-server` and `shard` components. In this PR we will: - implement keyfile sharing across shard and config server components - implement adding shards to cluster (Shard removal is saved for later.) ## POC As a POC this PR doesn't include handling edge cases, intelligent status reporting, unit tests, or integration tests. These will be handled later on down the line. Specifically: 1. block config change events for changing role of charm 2. report status of internal `mongos` in `update_status` 3. unit tests and integration tests [DPE-2561]: https://warthogs.atlassian.net/browse/DPE-2561?atlOrigin=eyJpIjoiNWRkNTljNzYxNjVmNDY3MDlhMDU5Y2ZhYzA5YTRkZjUiLCJwIjoiZ2l0aHViLWNvbS1KU1cifQ --------- Co-authored-by: Pedro Guimaraes <[email protected]>
- Loading branch information
1 parent
c2cab81
commit 6dd464e
Showing
6 changed files
with
183 additions
and
60 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.