bugs i understand are better than ones i dont lol
i see what you are saying I dont thinl there would be anything on my system which might do that i can investigate
SuccessfulKoala55 thanks alot for your help i greatly appreciate it, i think you are right that there is something happening with the request, I did some checking i can get it running on another computer (my non work computer), so i think you are right there must be something happening with my work related computer which is causing this to occur 😕 I'll keep trying to drill down on this issue on my work computer to see what the difference is, but I can atleast proceed now to as i got experiments working on another computer 😄 ! Again thanks a lot for your help SuccessfulKoala55 and AgitatedDove14 i greatly appreciate it!
So the basic authentication header is different for the problematic call 🙂
You basically do this:
In your docker-compose.yaml file, add the following env var to the apiserver service: FLASK_DEBUG: "1" You'll need to restart the server exec into the clearml-apiserver container CD into /opt/clearml/apiserver edit server.py Around line 35 right before call = self._create_api_call(request) , add:log(str(request.method)) log(str(request.headers["Authorization"]))5. Save the file
6. Try running your python code again and than check the clearml-apiserver docker container logs
Failed processing request http://localhost:8008/auth.login : 'Logger' object is not callable
FLASK_DEBUG: "1" -> should 1 be a string or int?
SuccessfulKoala55 do you mean request_handlers.py
Also, if you have an anti-virus or something similar, I would turn that off first and try before going into changing the server's code
We can try and patch the server to print out this info when it receives requests
` from argparse import ArgumentParser
from flask import Flask
from apiserver.config_repo import config
from apiserver.server_init.app_sequence import AppSequence
from apiserver.server_init.request_handlers import RequestHandlers
app = Flask(name, static_url_path="/static")
AppSequence(app).start(request_handlers=RequestHandlers())
=================== MAIN =======================
if name == "main":
p = ArgumentParser(description=doc)
p.add_argument(
"--port", "-p", type=int, default=config.get("apiserver.listen.port")
)
p.add_argument("--ip", "-i", type=str, default=config.get("apiserver.listen.ip"))
p.add_argument(
"--debug", action="store_true", default=config.get("apiserver.debug")
)
p.add_argument(
"--watch", action="store_true", default=config.get("apiserver.watch")
)
args = p.parse_args()
# logging.info("Starting API Server at %s:%s and env '%s'" % (args.ip, args.port, config.env))
app.run(
debug=args.debug,
host=args.ip,
port=args.port,
threaded=True,
use_reloader=args.watch,
) `
This is not a pattern used by ClearML anywhere 😞
And the question is - who intervenes and adds them? 😕
i'm looking at the server.py file and it doesn't have call = self. create_api_call(request)
If you want to try and patch the server code to get some visibility, I can guide you on how 🙂
I hope it can provide some clue for you...
and contains these values:
username: user
password: local-b31829c6bc96dbaa4ab9a98b00abd0e79b7b9c67

