Clarify artifact storage troubleshooting
What does this MR do?
Firstly, the smaller change that replaces the "from disk" wording: This caused confusion because "from disk" sounds like "local storage" – but this works with object storage just as well.
The bigger change is the recalculate task:
-
bin/rake
is not how we generally refer to Rake tasks in the user-facing docs - The
file.csv
parameter wasn't explained. In the corresponding issue and via experimentation I found out:- This file is required
- It has to be hosted on a remote server
- It needs to follow a very specific format
Here's my experiments:
-
Calling the task exactly as documented (except for the
bin/rake
thing), thecannot interpret as DNS name
seems to prove what I saw on the issue: This file needs to be hosted somewhere.root@omnibus-instance:~# gitlab-rake gitlab:refresh_project_statistics_build_artifacts_size[file.csv] rake aborted! ArgumentError: Failed to open TCP connection to :80 (cannot interpret as DNS name: nil) /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/refresh_project_statistics_build_artifacts_size.rake:15:in `block (2 levels) in <top (required)>' /opt/gitlab/embedded/bin/bundle:23:in `load' /opt/gitlab/embedded/bin/bundle:23:in `<main>' Caused by: ArgumentError: cannot interpret as DNS name: nil /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/refresh_project_statistics_build_artifacts_size.rake:15:in `block (2 levels) in <top (required)>' /opt/gitlab/embedded/bin/bundle:23:in `load' /opt/gitlab/embedded/bin/bundle:23:in `<main>' Tasks: TOP => gitlab:refresh_project_statistics_build_artifacts_size (See full trace by running task with --trace)
-
Calling the task with the file hosted somewhere, with the correct format – i.e. the
PROJECT_ID
header present. I first thought that maybe the header was not needed in the final version anymore and now interpreted as a project ID instead, leading to the "missing projects: 1".root@omnibus-instance:~# gitlab-rake gitlab:refresh_project_statistics_build_artifacts_size[https://manuelgrabowski.de/bla.csv] Loaded 3 project ids to import 2/3 (missing projects: 1) Done.
-
Calling the task with the file hosted somewhere, with an incorrect format – i.e. the
PROJECT_ID
header not present. As it turns out, the "missing projects: 1" from the earlier test was due a trailing empty newline. The header is very much required.root@omnibus-instance:~# gitlab-rake gitlab:refresh_project_statistics_build_artifacts_size[https://manuelgrabowski.de/bla.csv] Loaded 2 project ids to import rake aborted! NoMethodError: undefined method `red' for #<String:0x00007fa72643cf68> /opt/gitlab/embedded/service/gitlab-rails/lib/tasks/gitlab/refresh_project_statistics_build_artifacts_size.rake:40:in `block (2 levels) in <top (required)>' /opt/gitlab/embedded/bin/bundle:23:in `load' /opt/gitlab/embedded/bin/bundle:23:in `<main>' Tasks: TOP => gitlab:refresh_project_statistics_build_artifacts_size (See full trace by running task with --trace)
Related issues
Author's checklist
-
Optional. Consider taking the GitLab Technical Writing Fundamentals course. -
Follow the: -
If you're adding or changing the main heading of the page (H1), ensure that the product tier badge is added. -
If you are a GitLab team member, request a review based on: - The documentation page's metadata.
- The associated Technical Writer.
If you are a GitLab team member and only adding documentation, do not add any of the following labels:
~"frontend"
~"backend"
~"type::bug"
~"database"
These labels cause the MR to be added to code verification QA issues.
Reviewer's checklist
Documentation-related MRs should be reviewed by a Technical Writer for a non-blocking review, based on Documentation Guidelines and the Style Guide.
If you aren't sure which tech writer to ask, use roulette or ask in the #docs Slack channel.
-
If the content requires it, ensure the information is reviewed by a subject matter expert. - Technical writer review items:
-
Ensure docs metadata is present and up-to-date. -
Ensure the appropriate labels are added to this MR. -
Ensure a release milestone is set. - If relevant to this MR, ensure content topic type principles are in use, including:
-
The headings should be something you'd do a Google search for. Instead of Default behavior
, say something likeDefault behavior when you close an issue
. -
The headings (other than the page title) should be active. Instead of Configuring GDK
, say something likeConfigure GDK
. -
Any task steps should be written as a numbered list. - If the content still needs to be edited for topic types, you can create a follow-up issue with the docs-technical-debt label.
-
-
-
Review by assigned maintainer, who can always request/require the reviews above. Maintainer's review can occur before or after a technical writer review.