Artifacts upload broken, invalid argument, responseStatus=200 (but not 201)
Summary
At the end of the job, while trying to upload the artifacts to the coordinator, I get this error:
Uploading artifacts for successful job
Uploading artifacts...
WARNING: Uploading artifacts as "archive" to coordinator... 200 OK id=30139 responseStatus=200 OK status=200 token=<MASKED_TOKEN>
WARNING: Retrying... context=artifacts-uploader error=invalid argument
WARNING: Uploading artifacts as "archive" to coordinator... 200 OK id=30139 responseStatus=200 OK status=200 token=<MASKED_TOKEN>
WARNING: Retrying... context=artifacts-uploader error=invalid argument
WARNING: Uploading artifacts as "archive" to coordinator... 200 OK id=30139 responseStatus=200 OK status=200 token=<MASKED_TOKEN>
FATAL: invalid argument
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1
Steps to reproduce
Setup
gitlab-runner:
- docker+machine
- AWS EC2 drivers
- relevant part of the
config.toml
file:concurrent = 10 check_interval = 0 [session_server] session_timeout = 1800 [[runners]] url = "https://gitlab.my-site.ca/" clone_url = "https://10.10.123.123/" executor = "docker+machine" environment = ["GIT_SSL_NO_VERIFY=true"]
gitlab:
- omnibus version 15.7.0-ee
- Running behind a proxy.
gitlab-ci:
artifacts:
paths:
- path/to/artifacts
What is the current bug behavior?
Job fails only becasue of failing to upload artifacts.
What is the expected correct behavior?
For artifacts to be uploaded as before.
Relevant logs and/or screenshots
Didn't find anything in gitlab-ctl tail
, but, didn't know what to look for.
Output of checks
Results of GitLab environment info
Expand for output related to GitLab environment info
(For installations with omnibus-gitlab package run and paste the output of: `sudo gitlab-rake gitlab:env:info`) (For installations from source run and paste the output of: `sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production`)
Results of GitLab application Check
Expand for output related to the GitLab application check
(For installations with omnibus-gitlab package run and paste the output of:
sudo gitlab-rake gitlab:check SANITIZE=true
)(For installations from source run and paste the output of:
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production SANITIZE=true
)(we will only investigate if the tests are passing)
System information
System: Ubuntu 18.04
Proxy: no
Current User: git
Using RVM: no
Ruby Version: 2.7.7p221
Gem Version: 3.1.6
Bundler Version:2.3.15
Rake Version: 13.0.6
Redis Version: 6.2.7
Sidekiq Version:6.5.7
Go Version: unknown
GitLab information
Version: 15.7.0-ee
Revision: bbf6efd2bed
Directory: /opt/gitlab/embedded/service/gitlab-rails
DB Adapter: PostgreSQL
DB Version: 12.12
URL: https://gitlab.my-site.ca
HTTP Clone URL: https://gitlab.my-site.ca/some-group/some-project.git
SSH Clone URL: git@gitlab.my-site.ca:some-group/some-project.git
Elasticsearch: no
Geo: no
Using LDAP: no
Using Omniauth: yes
Omniauth Providers:
GitLab Shell
Version: 14.14.0
Repository storages:
- default: unix:/var/opt/gitlab/gitaly/gitaly.socket
GitLab Shell path: /opt/gitlab/embedded/service/gitlab-shell
Possible fixes
Making the gitlab instance (coordinator) publicly accessible, and removing the clone_url = "https://10.10.123.123/"
config from config.toml
of the runner resolves the issue and I get the following success message:
Uploading artifacts as "archive" to coordinator... 201 Created id=30025 responseStatus=201 Created token=<MASKED_TOKEN>
Notice the 201 (CREATED) status report.