Multiple package E2E tests failing in ee:object_storage job
Summary
As seen on master - https://gitlab.com/gitlab-org/gitlab-qa-mirror/-/jobs/1603296944
Affected tests:
- qa/specs/features/browser_ui/5_package/maven_repository_spec.rb
- qa/specs/features/browser_ui/5_package/generic_repository_spec.rb
- qa/specs/features/browser_ui/5_package/pypi_repository_spec.rb
- qa/specs/features/browser_ui/5_package/nuget_repository_spec.rb
- qa/specs/features/browser_ui/5_package/rubygems_registry_spec.rb
- qa/specs/features/browser_ui/5_package/maven_gradle_repository_spec.rb
- qa/specs/features/browser_ui/5_package/npm_registry_spec.rb
Stack trace
Several different errors, to be established if they are all connected:
1) Package Maven Repository pushes and pulls a Maven package via CI and deletes it
Failure/Error: expect(job).to be_successful(timeout: 800)
expected `QA::Page::Project::Job::Show.successful?({:timeout=>800})` to be truthy, got false
# ./qa/specs/features/browser_ui/5_package/maven_repository_spec.rb:205:in `block (4 levels) in <module:QA>'
# ./qa/scenario/actable.rb:16:in `perform'
# ./qa/specs/features/browser_ui/5_package/maven_repository_spec.rb:204:in `block (3 levels) in <module:QA>'
2) Package Maven Repository when "allow duplicate" setting is enabled allows users to publish duplicate Maven packages at the group level
Failure/Error: Service::DockerRun::Maven.new(dir).publish!
QA::Service::Shellout::CommandError:
Command `docker exec -t qa-maven-ff8c89a6e8fe9ade sh -c 'cd /home/maven && mvn deploy -s settings.xml'` failed!
# ./qa/service/shellout.rb:32:in `block in shell'
# ./qa/service/shellout.rb:19:in `shell'
# ./qa/service/docker_run/maven.rb:33:in `publish!'
# ./qa/specs/features/browser_ui/5_package/maven_repository_spec.rb:306:in `block (5 levels) in <module:QA>'
# ./qa/runtime/fixtures.rb:31:in `with_fixtures'
# ./qa/specs/features/browser_ui/5_package/maven_repository_spec.rb:305:in `block (4 levels) in <module:QA>'
7) Package NuGet Repository authentication_token_type: :group_deploy_token, token_name: "Deploy Token" publishes a nuget package at the project level, installs and deletes it at the group level using a Deploy Token
Got 0 failures and 2 other errors:
7.1) Failure/Error:
Resource::Project.fabricate_via_api! do |project|
project.name = 'nuget-package-project'
project.template_name = 'dotnetcore'
end
QA::Resource::ApiFabricator::ResourceFabricationFailedError:
Fabrication of QA::Resource::Project using the API failed (400) with `{"message":{"base":["Expected(200) \u003c=\u003e Actual(404 Not Found)\nexcon.error.response\n :body =\u003e \"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cError\u003e\u003cCode\u003eNoSuchBucket\u003c/Code\u003e\u003cMessage\u003eThe specified bucket does not exist\u003c/Message\u003e\u003cKey\u003eimport_export_upload/import_file/3/dotnetcore.tar.gz\u003c/Key\u003e\u003cBucketName\u003euploads-bucket\u003c/BucketName\u003e\u003cResource\u003e/uploads-bucket/import_export_upload/import_file/3/dotnetcore.tar.gz\u003c/Resource\u003e\u003cRequestId\u003e16A656569D86F6B3\u003c/RequestId\u003e\u003cHostId\u003efcb9e894-21fa-44f1-b775-a18660f576f2\u003c/HostId\u003e\u003c/Error\u003e\"\n :cookies =\u003e [\n ]\n :headers =\u003e {\n \"Accept-Ranges\" =\u003e \"bytes\"\n \"Content-Length\" =\u003e \"416\"\n \"Content-Security-Policy\" =\u003e \"block-all-mixed-content\"\n \"Content-Type\" =\u003e \"application/xml\"\n \"Date\" =\u003e \"Sun, 19 Sep 2021 21:27:24 GMT\"\n \"Server\" =\u003e \"MinIO\"\n \"Strict-Transport-Security\" =\u003e \"max-age=31536000; includeSubDomains\"\n \"Vary\" =\u003e \"Origin, Accept-Encoding\"\n \"X-Amz-Request-Id\" =\u003e \"16A656569D86F6B3\"\n \"X-Content-Type-Options\" =\u003e \"nosniff\"\n \"X-Xss-Protection\" =\u003e \"1; mode=block\"\n }\n :host =\u003e \"minio-d290be84.test\"\n :local_address =\u003e \"172.19.0.3\"\n :local_port =\u003e 59614\n :path =\u003e \"/uploads-bucket/import_export_upload/import_file/3/dotnetcore.tar.gz\"\n :port =\u003e 9000\n :reason_phrase =\u003e \"Not Found\"\n :remote_ip =\u003e \"172.19.0.2\"\n :status =\u003e 404\n :status_line =\u003e \"HTTP/1.1 404 Not Found\\r\\n\"\n"]}}`.
# ./qa/resource/api_fabricator.rb:120:in `api_post'
# ./qa/resource/api_fabricator.rb:34:in `fabricate_via_api!'
# ./qa/resource/project.rb:102:in `rescue in fabricate_via_api!'
# ./qa/resource/project.rb:99:in `fabricate_via_api!'
# ./qa/resource/base.rb:50:in `block (2 levels) in fabricate_via_api!'
# ./qa/resource/base.rb:80:in `log_fabrication'
# ./qa/resource/base.rb:50:in `block in fabricate_via_api!'
# ./qa/resource/base.rb:71:in `do_fabricate!'
# ./qa/resource/base.rb:49:in `fabricate_via_api!'
# ./qa/specs/features/browser_ui/5_package/nuget_repository_spec.rb:9:in `block (3 levels) in <module:QA>'
# ./qa/specs/features/browser_ui/5_package/nuget_repository_spec.rb:48:in `block (4 levels) in <module:QA>'
# ./qa/resource/base.rb:69:in `do_fabricate!'
# ./qa/resource/base.rb:49:in `fabricate_via_api!'
# ./qa/resource/base.rb:23:in `fabricate!'
# ./qa/specs/features/browser_ui/5_package/nuget_repository_spec.rb:46:in `block (3 levels) in <module:QA>'
Screenshot / HTML page
Screenshots from failed project fabrication are not useful, however some job logs indicate 404
and 500
errors: