Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

artifact upload fails when uploaded file's name does not match GAV specified in arguments #41

Open
oskrkal opened this issue Jun 18, 2018 · 0 comments
Labels

Comments

@oskrkal
Copy link
Member

oskrkal commented Jun 18, 2018

Call to artifact upload fails when name of the file being uploaded does not match version specified in the command's arguments.

When running this command

artifact upload --use-direct-put --artifact my-artifact --version 2.0.8-1.el6.noarch  /tmp/my-artifact-2.0.8-1.noarch.rpm packages-el6 com.mycomp

the artifact is uploaded, but the command fails with this error:

INFO:/usr/local/bin/artifact:Started /usr/local/bin/artifact, with arguments ['upload', '--use-direct-put', '--artifact', 'my-artifact', '--version', '2.0.8-1.el6.noarch', '/tmp/my-artifact-2.0.8-1.noarch.rpm', 'packages-el6', 'com.mycomp']
INFO:repositorytools.lib.repository:-> Uploading my-artifact-2.0.8-1.noarch.rpm
Traceback (most recent call last):
  File "/usr/local/bin/artifact", line 9, in <module>
    load_entry_point('repositorytools==4.2.1', 'console_scripts', 'artifact')()
  File "/opt/repositorytools/lib/python2.7/site-packages/repositorytools/cli/common.py", line 58, in __call__
    self.run(*args)
  File "/opt/repositorytools/lib/python2.7/site-packages/repositorytools/cli/common.py", line 55, in run
    return args_namespace.func(args_namespace)
  File "/opt/repositorytools/lib/python2.7/site-packages/repositorytools/cli/commands/artifact.py", line 94, in upload
    return self.repository.upload_artifacts([artifact], args.repo_id, use_direct_put=args.use_direct_put)
  File "/opt/repositorytools/lib/python2.7/site-packages/repositorytools/lib/repository.py", line 109, in upload_artifacts
    use_direct_put=use_direct_put)
  File "/opt/repositorytools/lib/python2.7/site-packages/repositorytools/lib/repository.py", line 170, in _upload_artifact
    maven_metadata = self._send_json(path)['data']
  File "/opt/repositorytools/lib/python2.7/site-packages/repositorytools/lib/repository.py", line 217, in _send_json
    r = self._send(path, data=data, headers=headers, method=method, params=params)
  File "/opt/repositorytools/lib/python2.7/site-packages/repositorytools/lib/repository.py", line 207, in _send
    r.raise_for_status()
  File "/opt/repositorytools/lib/python2.7/site-packages/requests/models.py", line 935, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://repository.mycomp.com/service/local/repositories/packages-el6/content/com/mycomp/my-artifact/2.0.8-1.el6.noarch/my-artifact-2.0.8-1.noarch.rpm?describe=maven2

The repository returns HTTP 404, because the URL contains local file name (without el6) and not the file name used on the server. The correct URL should be https://repository.mycomp.com/service/local/repositories/packages-el6/content/com/mycomp/my-artifact/2.0.8-1.el6.noarch/my-artifact-2.0.8-1.el6.noarch.rpm?describe=maven2.

@oskrkal oskrkal added the bug label Jun 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant