Page MenuHomePhabricator

improve error handling in toolforge-cli
Closed, ResolvedPublic

Description

the commands below:

toolforge build start https://github.com/david-caro/wm-lol -n python -t snap
toolforge build start https://github.com/david-caro/wm-lol -n python -t snap --builder-image toolsbeta-harbor.wmcloud.org/toolforge/heroku-builder-classic:22
toolforge build show dskdksdks

All error out with an exception like this:

Traceback (most recent call last):
  File "/usr/bin/toolforge", line 8, in <module>
    sys.exit(main())
  File "/usr/lib/python3/dist-packages/toolforge_cli/cli.py", line 693, in main
    toolforge()
  File "/home/raymond/.local/lib/python3.8/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/home/raymond/.local/lib/python3.8/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/home/raymond/.local/lib/python3.8/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/raymond/.local/lib/python3.8/site-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/raymond/.local/lib/python3.8/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/raymond/.local/lib/python3.8/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/toolforge_cli/cli.py", line 350, in wrapper
    return func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/toolforge_cli/cli.py", line 445, in build_start
    response = _execute_k8s_client_method(method=k8s_client.create_object, kwargs=method_kwargs)
  File "/usr/lib/python3/dist-packages/toolforge_cli/cli.py", line 26, in _execute_k8s_client_method
    return method(**kwargs)
  File "/usr/lib/python3/dist-packages/toolforge_cli/k8sclient.py", line 206, in create_object
    return self._post(
  File "/usr/lib/python3/dist-packages/toolforge_cli/k8sclient.py", line 133, in _post
    raise Exception(f"Bad request: {response.text}")
Exception: Bad request: {"kind":"Status","apiVersion":"v1","metadata":{},"status":"Failure","message":"admission webhook \"buildpack-admission.tools.wmcloud.org\" denied the request: Harbor domain (gotten tools-harbor.wmcloud.org/minikube-user/python:snap) not matching AllowedDomains (expected ^(https?://)?host.minikube.internal|192.168.188.128/minikube-user/) nor the user (gotten minikube-user) matches any of the system users (expected []).","code":400}

Or something similar. These should be handled more gracefully

Event Timeline

Raymond_Ndibe changed the task status from Open to In Progress.Apr 6 2023, 5:27 AM

Change 906142 had a related patch set uploaded (by Raymond Ndibe; author: Raymond Ndibe):

[cloud/toolforge/toolforge-cli@main] toolforge-cli: improve error handling of _execute_k8s_client_method

https://gerrit.wikimedia.org/r/906142

Change 906142 merged by jenkins-bot:

[cloud/toolforge/toolforge-cli@main] toolforge-cli: improve error handling of _execute_k8s_client_method

https://gerrit.wikimedia.org/r/906142