Add Projects page under Admin > Geo Nodes to display detailed synchronization information
What does this MR do?
Adds Projects
sub-nav item under Admin > Geo Nodes to show sync status of projects/registry of secondary nodes.
When looking at the screen, you will find 4 tabs: Synced
, Pending
, Failed
, Never
, which will contain respectively:
-
Synced
- All fully synced projects, without any pending action or failure
-
Pending
- All previously full synced project, with at least one pending action (sync / verification)
-
Failed
- Any project with at least one failure (sync / verification)
-
Never
- Any project without a registry (never processed) or with a registry but still waiting to be synced.
- If a sync fails, it stills shows up in
Never
, but also inFailed
Are there points in the code the reviewer needs to double check?
I've used the best understanding I had about the states represented in the project_registry
.
To display data, we need slightly different information than to perform the synchronization.
I decided not to try to reuse project_registry_finder
for the same reason above, while most things look similar, names have different meanings in these two contexts.
We may want to unify the two in the future, but this may provide little value right now, and will most likely turn into a big scary rewrite, which is out of scope for this issue.
Please note that we are not considering wiki
synchronization here. Wiki may be part of another iteration either on it's own page or as an enhancement for this one.
@dbalexandre have previously identified that the queries doesn't take selective sync into consideration. My idea is to rely on existing project_registry to not make this even more complex, and fix the selective sync by removing the project_registry an/or flagging it as disabled in: https://gitlab.com/gitlab-org/gitlab-ee/issues/7109
other technical debits unrelated to this MR will be tracked by https://gitlab.com/gitlab-org/gitlab-ee/issues/7126
Screenshots
Synced | Pending |
---|---|
Failed | Never |
---|---|
Does this MR meet the acceptance criteria?
-
Changelog entry added, if necessary -
Documentation created/updated -
API support added -
Tests added for this feature/bug - Conform by the code review guidelines
-
Has been reviewed by a UX Designer -
Has been reviewed by a Frontend maintainer -
Has been reviewed by a Backend maintainer -
Has been reviewed by a Database specialist
-
-
EE specific content should be in the top level /ee
folder -
Conform by the merge request performance guides -
Conform by the style guides -
Conform by the database guides -
If you have multiple commits, please combine them into a few logically organized commits by squashing them -
Internationalization required/considered -
End-to-end tests pass ( package-and-qa
manual pipeline job)
What are the relevant issue numbers?
Closes #6851 (closed)