TAO API Bare Metal Install - 401 API response from TAO AutoML notebook

Please provide the following information when requesting support.

• Hardware (T4/V100/Xavier/Nano/etc) AMD64 Ubuntu 20.04, (2) RTX 3080TIs
two user accounts (one machine):
- jay: miniconda, jupyter notebook
- ubuntu: TAO API bare metal installation
• Network Type (Detectnet_v2/Faster_rcnn/Yolo_v4/LPRnet/Mask_rcnn/Classification/etc):
Jupyter Notebook accessing TAO API
notebook: tao-getting-started_v4.0.2/notebooks/tao_api_starter_kit/api/automl/object_detection.ipynb

• TLT Version (Please run “tlt info --verbose” and share “docker_tag” here)
• Training spec file(If have, please share here)
• How to reproduce the issue ? (This is for errors. Please share the command line and the detailed log here.)

user == ubuntu
TAO API Bare Metal installed under user: ubuntu
install ran fine

hostname -i
127.0.1.1
kubectl get service ingress-nginx-controller -o jsonpath='{.spec.ports[0].nodePort}'
32080
kubectl get pods
NAME                                               READY   STATUS    RESTARTS        AGE
ingress-nginx-controller-5ff6555d5d-n8mtq          1/1     Running   1 (2m23s ago)   6m59s
nfs-subdir-external-provisioner-5f9cbb4554-fzwsz   1/1     Running   1 (2m23s ago)   6m54s
nvidia-smi-5950x                                   1/1     Running   1 (2m23s ago)   6m51s
tao-toolkit-api-app-pod-54c9c75fbc-kgfgp           1/1     Running   1 (2m23s ago)   6m49s
tao-toolkit-api-workflow-pod-55b9bfc948-ncw5c      1/1     Running   1 (2m23s ago)   6m49s
ubuntu@5950X:/project/tao/tao-getting-started_v4.0.2/setup/quickstart_api_bare_metal$ head tao-toolkit-api-ansible-values.yml 
ngc_api_key: ...NjVl
ngc_email: jay.duff@cfacorp.com
api_chart: https://helm.ngc.nvidia.com/nvidia/tao/charts/tao-toolkit-api-4.0.2.tgz
api_values: ./tao-toolkit-api-helm-values.yml
cluster_name: mycluster

so the API is cluster is running under user: ubuntu

same machine, user == jay; notebook running under user: jay
I’m running miniconda, and the AutoML/Object Detection Jupyter Notebook

ngc config current
[{
   "key": "apikey",
   "source": "user settings file",
   "value": "********************************************************************************NjVl"
},{
   "key": "format_type",
   "source": "user settings file",
   "value": "json"
},{
   "key": "org",
   "source": "user settings file",
   "value": "gyvjgt0njb8z"
}]

in the Object Detection notebook,

my environment values cell:

model_name = "detectnet_v2"
workdir = "/project/tao/workdir_object_detection/"
host_url = "http://127.0.1.1:32080"
ngc_api_key = "...NjVl"
dataset_to_be_used = "default"

connection cell:

# Exchange NGC_API_KEY for JWT
response = requests.get(f"{host_url}/api/v1/login/{ngc_api_key}")
print (f'response: {response}')
print (f"{host_url}/api/v1/login/{ngc_api_key}")
user_id = response.json()["user_id"]
print("User ID",user_id)
token = response.json()["token"]
print("JWT",token)

# Set base URL
base_url = f"{host_url}/api/v1/user/{user_id}"
print("API Calls will be forwarded to",base_url)

headers = {"Authorization": f"Bearer {token}"}

Problem - I’m accessing the API from the notebook but I get an authorization error.
generated url: http://127.0.1.1:32080/api/v1/login/...NjVl
response: <Response [401]>

disclosure

  • I generated a new key (…NjVl)
  • I updated ngc config set
  • I updated tao ansible settings
  • I got a 401 error
  • I uninstalled. (bash setup.sh uninstall)
  • I re-installed (bash setup.sh install)
  • I abbreviated the API keys above (…NjVl) and verified I set them all (but I must be missing one)
  • but I can’t shake the authorization failure

what am I missing?

There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks

Sorry for inconvenient. It is a known issue since last week.
Please refer to the workaround in Tao Toolkit API cannot login and got 401 unauthorized - #3 by Morganh

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.