Geo: Feature flag Self-service framework verification
What does this MR do?
For replicables in the Geo self-service framework, by default, this:
- hides primary checksum progress bars
- stops the primary from enqueuing checksum jobs for new records
The above is appropriate and should have been the case before, because verification is still under development.
Package file verification gets its own feature flag so we can release it first by itself. Package file verification can be enabled by running in Rails console:
Feature.enabled?(:geo_package_file_verification)
Verification of non-package files (MR diffs, Terraform states, Snippet repositories) can be enabled with:
Feature.enabled?(:geo_framework_verification)
I need this MR in order to continue development of verification, behind a feature flag.
Part of #13839 (closed)
Feature flag roll-out issues: #277400 (closed) and #271680 (closed)
Screenshots (strongly suggested)
Before
Geo status rake task (printed from the tests, which apparently sets up nonsense data, but you can see here that all SSF Replicators are displaying checksum counts):
$ bundle rake geo:status
Name: gdk
URL: http://localhost
-----------------------------------------------------
GitLab Version: 13.6.0-pre
Geo Role: Secondary
Health Status: Healthy
Repositories: 5/10 (50%)
Verified Repositories: 100/501/10 (5010%)
Wikis: 1/4/10 (40%)
Verified Wikis: 99/499/10 (4990%)
LFS Objects: 12/123/256 (48%)
Attachments: 13/141/329 (42%)
CI job artifacts: 3/577/580 (99%)
Container repositories: 3/200/400 (50%)
Design repositories: 3/200/400 (50%)
Merge Request Diffs: 0/0 (85%)
Package Files: 0/0 (83%)
Terraform State Versions: 0/0 (54%)
Snippet Repositories: 0/0 (801%)
Repositories Checked: 1//10 (0%)
Merge Request Diffs Checked: 0/0 (31%)
Package Files Checked: 0/0 (110%)
Terraform State Versions Checked: 0/0 (0%)
Snippet Repositories Checked: 0/0 (256%)
Sync Settings: Full
Database replication lag: 0 seconds
Last event ID seen from primary: 1 (less than a minute ago)
Last event ID processed by cursor: N/A
Last status report was: Never
After (with package file verification enabled)
Geo status rake task (see that out of 4 Replicator classes, only Package Files Checked: is shown because :geo_package_file_verification FF is enabled):
$ bundle rake geo:status
Name: gdk
URL: http://localhost
-----------------------------------------------------
GitLab Version: 13.6.0-pre
Geo Role: Secondary
Health Status: Healthy
Repositories: 5/10 (50%)
Verified Repositories: 100/501/10 (5010%)
Wikis: 1/4/10 (40%)
Verified Wikis: 99/499/10 (4990%)
LFS Objects: 12/123/256 (48%)
Attachments: 13/141/329 (42%)
CI job artifacts: 3/577/580 (99%)
Container repositories: 3/200/400 (50%)
Design repositories: 3/200/400 (50%)
Merge Request Diffs: 0/0 (40%)
Package Files: 0/0 (103%)
Terraform State Versions: 0/0 (438%)
Snippet Repositories: 0/0 (57%)
Repositories Checked: 1//10 (0%)
Package Files Checked: 0/0 (41%)
Sync Settings: Full
Database replication lag: 0 seconds
Last event ID seen from primary: 1 (less than a minute ago)
Last event ID processed by cursor: N/A
Last status report was: Never
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry - [-] Documentation (if required)
-
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process.

