Bug #6659
closed[SDKs] arv-copy dumps a stack trace when dst_git_push_url == None
Description
- arv-copy -vvvv --src qr1hi --dst 7lnae --project-uuid 7lnae-j7d0g-9r429yt0rcrdl8x --dst-git-repo jr17/qr1hi qr1hi-p5p6p-8584ylktoumirn0
2015-07-17 12:57:46 arvados.arv-copy3891 DEBUG: src_git_url: git@git.qr1hi.arvadosapi.com:arvados.git
2015-07-17 12:57:46 arvados.arv-copy3891 DEBUG: dst_git_push_url: None
WARNING: 'arvados' is an alias for 'qr1hi-s0uqq-izl5prv9uxccky9'
remote: Counting objects: 69634, done.
remote: Compressing objects: 100% (28562/28562), done.
remote: Total 69634 (delta 49945), reused 52491 (delta 37100)
Receiving objects: 100% (69634/69634), 16.28 MiB | 6.35 MiB/s, done.
Resolving deltas: 100% (49945/49945), done.
Traceback (most recent call last):
File "/usr/local/bin/arv-copy", line 4, in <module>
main()
File "/usr/local/lib/python2.7/dist-packages/arvados/commands/arv_copy.py", line 128, in main
src_arv, dst_arv, args)
File "/usr/local/lib/python2.7/dist-packages/arvados/commands/arv_copy.py", line 272, in copy_pipeline_template
copy_git_repos(pt, src, dst, args.dst_git_repo, args)
File "/usr/local/lib/python2.7/dist-packages/arvados/commands/arv_copy.py", line 371, in copy_git_repos
migrate_jobspec(component, src, dst, dst_repo, args)
File "/usr/local/lib/python2.7/dist-packages/arvados/commands/arv_copy.py", line 344, in migrate_jobspec
copy_git_repo(repo, src, dst, dst_repo, script_version, args)
File "/usr/local/lib/python2.7/dist-packages/arvados/commands/arv_copy.py", line 620, in copy_git_repo
cwd=local_repo_dir[src_git_repo])
File "/usr/local/lib/python2.7/dist-packages/arvados/util.py", line 46, in run_command
p = subprocess.Popen(execargs, **kwargs)
File "/usr/lib/python2.7/subprocess.py", line 679, in init
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
TypeError: execv() arg 2 must contain only strings
Updated by Brett Smith almost 9 years ago
- Subject changed from arv-copy dumps a stack trace when dst_git_push_url == None to [SDKs] arv-copy dumps a stack trace when dst_git_push_url == None
- Category set to SDKs
- Story points set to 0.5
Josh, can you please let us know what your API server has for the git_repo_ssh_base
and git_repo_https_base
settings? At least, whether each is set to true, false, or a URL.
This specific error may be happening because of #6605: arv-copy is only looking at the SSH-based git URL. If the API server only advertises HTTPS support, arv-copy won't see it.
If the API server advertises no git URLs at all, that's always going to be a fatal error, although of course we can make that presentation nicer.
Updated by Joshua Randall almost 9 years ago
At the point in time I reported this, it was because of #6605 - I only had https access configured and this did not work. I have since configured git to use the ssh protocol and I no longer get this error, but nonetheless I think it would be helpful for arv-copy to report a more clear error message in this case.
For example, it might say (after #6605 is fixed):
No git push URL is reported at the destination, please ensure that the destination Arvados instance has at least one of git_repo_ssh_base or git_repo_https_base configured in the destination API server configuration.