How is it still up is the task failed?
I literrally connected to it at runtime, and ran poetry install -n
and it worked
into the same docker container running the task?
How to make sure that the python version is correct?
My issue has been resolved going with pip.
@<1523701070390366208:profile|CostlyOstrich36> poetry is installed as part of the bash script of the task.
The init script of the AWS autoscaler only contains three export variables I set.
@<1556812486840160256:profile|SuccessfulRaven86> , did you install poetry inside the EC2 instance or inside the docker? Basically, where do you put the poetry installation bash script - in the 'init script' section of the autoscaler or on the task's 'setup shell script' in execution tab (This is basically the script that runs inside the docker)
It sounds like you're installing poetry on the ec2 instance itself but the experiment runs inside a docker container
I see it's running inside 3.9, so I assume it's correct
but I still had time to go inside the container, export the PATH variables for my poetry and python versions, and run the poetry install command there
Yes, the problem is it's still really hidden (the error, I mean)
How do you explain that it works when I ssh-ed into the same AWS container instance from the autoscaler?
The autoscaler just runs it on an AWS instance, inside a docker container - there's no difference from running it yourself inside a docker container - did you try running it inside a docker container as well?
I guess it makes no sense because of the steps a clearml-agent works...
I also thought about going to pip
mode but not all packages are detected from our poetry.lock file unfortunately so cannot do that.
the autoscaler always uses docker mode
Yes I take the export statements from my bash script of the task
Because I was ssh-ing to it before the fail. When poetry fails, it installs everything using PIP
@<1556812486840160256:profile|SuccessfulRaven86> can you try with -vvv
instead of -v
?
It just allows me to have access to poetry and python installed on hte container
When the task finally failed, I was kicked of from the container
and are you sure these are the same env vars available when the agent does the same?
I think you should try to manually start such a docker container and try to see what fails in the process. Attaching to an existing one has too many differences already
Yes should be correct. Inside the bash script of the task.
@<1556812486840160256:profile|SuccessfulRaven86> , to make things easier to debug, can you try running the agent locally?
This is really extremely hard to debug. I am thinking to create another repo and iterate on the packages to hopefully find the problem, but it will take ages.
Using a pyenv virtual env then exporting LOCALPYTHON env var
Yes indeed, but what about the possibility to do the clone/poetry installation ourself in the init bash script of the task?