-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DPE-2561] POC - Start with provided config option: config-server, shard #246
Merged
Conversation
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
MiaAltieri
commented
Sep 15, 2023
MiaAltieri
changed the title
[DPE-2561] POC - Start with provided config option: config-server, shard
WIP - [DPE-2561] POC - Start with provided config option: config-server, shard
Sep 15, 2023
MiaAltieri
changed the title
WIP - [DPE-2561] POC - Start with provided config option: config-server, shard
DO NOT MERGE [DPE-2561] POC - Start with provided config option: config-server, shard
Sep 15, 2023
MiaAltieri
commented
Sep 15, 2023
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WAITING TO MERGE - requires that charmed-mongodb 5/edge
has been pushed to stable.
delgod
requested changes
Sep 18, 2023
delgod
previously approved these changes
Sep 19, 2023
dmitry-ratushnyy
previously approved these changes
Sep 19, 2023
MiaAltieri
dismissed stale reviews from dmitry-ratushnyy and delgod
via
September 19, 2023 09:22
49cba1b
dmitry-ratushnyy
previously approved these changes
Sep 19, 2023
dmitry-ratushnyy
approved these changes
Sep 19, 2023
delgod
approved these changes
Sep 19, 2023
MiaAltieri
changed the title
DO NOT MERGE [DPE-2561] POC - Start with provided config option: config-server, shard
[DPE-2561] POC - Start with provided config option: config-server, shard
Sep 19, 2023
dmitry-ratushnyy
pushed a commit
that referenced
this pull request
Oct 12, 2023
…ard (#246) 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. As a POC there are not tests included in this PR. Testing was performed by hand with: ``` charmcraft pack juju deploy ./*charm --config role="shard" shard-one juju deploy ./*charm --config role="config-server" config-server watch -n1 --color juju status --color 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 ``` 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 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 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.) 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]>
dmitry-ratushnyy
pushed a commit
that referenced
this pull request
Oct 12, 2023
…ard (#246) 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. As a POC there are not tests included in this PR. Testing was performed by hand with: ``` charmcraft pack juju deploy ./*charm --config role="shard" shard-one juju deploy ./*charm --config role="config-server" config-server watch -n1 --color juju status --color 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 ``` 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 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 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.) 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]>
dmitry-ratushnyy
pushed a commit
that referenced
this pull request
Oct 13, 2023
…ard (#246) 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. As a POC there are not tests included in this PR. Testing was performed by hand with: ``` charmcraft pack juju deploy ./*charm --config role="shard" shard-one juju deploy ./*charm --config role="config-server" config-server watch -n1 --color juju status --color 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 ``` 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 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 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.) 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]>
dmitry-ratushnyy
pushed a commit
that referenced
this pull request
Oct 17, 2023
…ard (#246) 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. As a POC there are not tests included in this PR. Testing was performed by hand with: ``` charmcraft pack juju deploy ./*charm --config role="shard" shard-one juju deploy ./*charm --config role="config-server" config-server watch -n1 --color juju status --color 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 ``` 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 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 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.) 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]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR enables the user to pass the following config options:
replication
(default),shard
, andconfig-server
. This PR supports this options by starting the charm as ashard
or aconfig-server
. If the config optionconfig-server
is provided, then the charm starts an internalmongos
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:
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 4bf9d5f9608976cf84d813f521826ea25eb9e04b 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. For this PR this will be starting
mongos
with a--auth
and the same--keyFile
used to start themongod
serviceFuture PR
Future PR is to be started after the follow up PR has been made. Once
mongos
is started with auth DPE-2562 will be started. This includes creating a basic shared library betweenconfig-server
andshard
components. In this PR we will:(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:
mongos
inupdate_status