Skip to content

Add Projects page under Admin > Geo Nodes to display detailed synchronization information

Kushal Pandya requested to merge 6851-geo-registry-details into master

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 in Failed

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
synced pending
Failed Never
failed never

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Closes #6851 (closed)

Edited by Gabriel Mazetto

Merge request reports