Add Transfer Tab to conditionally render in CE
What does this MR do and why?
This implements Add Transfer tab/app to conditionally render in CE (#393443 - closed)
- This piece is under
usage_quotas_for_all_editions
Feature Flag. - The Transfer Tab is under
data_transfer_monitoring
Feature Flag.
Now that we finished with #440195 (closed), i.e. after we merge !143633 (merged) and !143637 (merged), we're now able to migrate other tabs. The migration here is simpler because we just need to conditionally render this tab.
In other words: This tab will be hooked to an App that is in CE
but will only render in EE
.
MR acceptance checklist
Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Screenshots or screen recordings
usage_quotas_for_all_editions off |
usage_quotas_for_all_editions on |
---|---|
![]() |
![]() |
How to set up and validate locally
Enable Transfer Tab
- Enable the
data_transfer_monitoring
feature flagbin/rails console
Feature.enable(:data_transfer_monitoring)
- Seed the data
- Open the console
bin/rails console
- Go to https://gitlab.com/-/snippets/2522604
- Copy the class code and paste it in the console
- Find a group with some projects in it and make note of the group id (displayed on the overview page)
- Run
PopulateDataTransfer.run(<group_id>)
in the console; e.g.PopulateDataTransfer.run(89)
- Press
q
then typeexit
to get back to the normal command prompt
- Open the console
- Navigate to your group ->
Settings
->Usage quotas
- Click on the
Transfer
tab
The expected behavior
We need to validate this in 4 scenarios:
- GitLab EE Unlicensed: this is probably how your GDK is right now. If you have a license in your GDK, remove it in https://gdk.test:3443/admin/subscription
- GitLab EE: by having a test license in your GDK.
- GitLab SaaS: setup a license like the above and simulate SaaS
-
GitLab CE: by executing
export FOSS_ONLY=1
gdk restart
- Tanuki gdk website icon (the one in the browser tab) should be blue, then you're in
CE
Now go to your Group Usage Quotas: https://gdk.test:3443/groups/<your-group-here>/-/usage_quotas
and check if your local setup matches the expected behavior.
- To enable the FF:
Feature.enable(:usage_quotas_for_all_editions)
- To disable the FF:
Feature.disable(:usage_quotas_for_all_editions)
Expected behavior:
GitLab Distribution | Expected behavior FF off | Expected behavior FF on |
---|---|---|
GitLab EE Unlicensed | Renders a 404 page |
Renders the Transfer tab alongside the others |
GitLab EE | Loads the page normally | Renders the Transfer tab alongside the others |
GitLab SaaS | Page loads normally | Renders the Transfer tab alongside the others |
GitLab CE | Renders a 404 page |
Renders only the storage tab |
Merge request reports
Activity
assigned to @sheldonled
2 Warnings 4cb47d46: Commits that change 30 or more lines across at least 3 files should describe these changes in the commit body. For more information, take a look at our Commit message guidelines. You've made some app changes, but didn't add any tests.
That's OK as long as you're refactoring existing code,
but please consider adding any of the maintenancepipelines, maintenancerefactor, maintenanceworkflow, documentation, QA labels.1 Message CHANGELOG missing: If this merge request needs a changelog entry, add the
Changelog
trailer to the commit message you want to add to the changelog.If this merge request doesn't need a CHANGELOG entry, feel free to ignore this message.
Reviewer roulette
Category Reviewer Maintainer backend @ddieulivol
(UTC+1, 1 hour ahead of author)
@alberts-gitlab
(UTC+8, 8 hours ahead of author)
frontend @rhardarson
(UTC+1, 1 hour ahead of author)
@cngo
(UTC+0, same timezone as author)
Please check reviewer's status!
Please refer to documentation page for guidance on how you can benefit from the Reviewer Roulette, or use the GitLab Review Workload Dashboard to find other available reviewers.
If needed, you can retry the
danger-review
job that generated this comment.Generated by
DangerEdited by Ghost Useradded grouputilization typemaintenance labels and removed backend frontend labels
added devopsfulfillment sectionfulfillment labels
added frontend label
mentioned in issue #393443 (closed)
Bundle size analysis [beta]
This compares changes in bundle size for entry points between the commits e5efd042 and ad70a4c1
Special assetsEntrypoint / Name Size before Size after Diff Diff in percent average 4.21 MB 4.21 MB - 0.0 % mainChunk 3.21 MB 3.21 MB - 0.0 %
Note: We do not have exact data for e5efd042. So we have used data from: db5ad86f.
The intended commit has no webpack pipeline, so we chose the last commit with one before it.Please look at the full report for more details
Read more about how this report works.
Generated by
DangerEdited by Ghost Userchanged milestone to %16.10
added 651 commits
-
e635dfa8...5629735e - 650 commits from branch
master
- d9d7fe86 - Add Transfer Tab to conditionally render in CE
-
e635dfa8...5629735e - 650 commits from branch
- A deleted user
added backend label
- Resolved by Jose Ivan Vargas
- Resolved by Jose Ivan Vargas
@aalakkad can you give this an initial review, please?
Same as before, I removed the backend review because we're just doing a small change in a
haml
file, so I don't believe we need the extra review cycles./cc @kpalchyk just so you're in the loop, and also if you want to give any suggestions that didn't make into !144971 (merged) and !145006 (merged).
After we're finished with the initial review, please pass it on to
@jivanvl
for maintainer reviewThanks in advance.
requested review from @aalakkad
Quarantined Fulfillment QA E2E Tests
The following Fulfillment QA E2E tests are in quarantine. If your changes would be covered by these tests, please be sure to perform manual testing.
Description Location Fulfillment without active subscription behaves like Purchase storage adds additional storage to group namespace ./qa/specs/features/ee/browser_ui/11_fulfillment/purchase/purchase_storage_spec.rb[1:1:1:1] Fulfillment with an active subscription behaves like Purchase storage adds additional storage to group namespace ./qa/specs/features/ee/browser_ui/11_fulfillment/purchase/purchase_storage_spec.rb[1:2:1:1] Fulfillment with existing compute minutes packs behaves like Purchase storage adds additional storage to group namespace ./qa/specs/features/ee/browser_ui/11_fulfillment/purchase/purchase_storage_spec.rb[1:3:1:1] Fulfillment Utilization when admin sets user cap limit for group shows members over limit as pending for approvals ./qa/specs/features/ee/browser_ui/11_fulfillment/utilization/saas_user_caps_spec.rb[1:1:1:1] - Resolved by Jose Ivan Vargas
- Resolved by Jose Ivan Vargas
removed backend label