X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/2c0334b2c3209b1fbfe52373ce9108a45149c80c..7bdffdeb9ccec113d1d9b848423be60d85a501ed:/sdk/python/arvados/commands/arv_copy.py diff --git a/sdk/python/arvados/commands/arv_copy.py b/sdk/python/arvados/commands/arv_copy.py index 6c7d873af4..7f5245db86 100755 --- a/sdk/python/arvados/commands/arv_copy.py +++ b/sdk/python/arvados/commands/arv_copy.py @@ -333,9 +333,15 @@ def copy_workflow(wf_uuid, src, dst, args): try: result = subprocess.run(["arvados-cwl-runner", "--quiet", "--print-keep-deps", "arvwf:"+wf_uuid], capture_output=True, env=env) - except (FileNotFoundError, subprocess.CalledProcessError): - logger.error('Copying workflows requires arvados-cwl-runner 2.7.1 or later to be installed in PATH.') - return + except FileNotFoundError: + no_arv_copy = True + else: + no_arv_copy = result.returncode == 2 + + if no_arv_copy: + raise Exception('Copying workflows requires arvados-cwl-runner 2.7.1 or later to be installed in PATH.') + elif result.returncode != 0: + raise Exception('There was an error getting Keep dependencies from workflow using arvados-cwl-runner --print-keep-deps') locations = json.loads(result.stdout)