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?