Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

C2d docker some fixes #758

Merged
merged 3 commits into from
Nov 21, 2024
Merged

Conversation

FilipMasar
Copy link
Collaborator

Changes proposed in this PR:

  • increase maxJobDuration - 30 seconds was not enough when I run it in debugger
  • ensure the image pull completion
  • fix entrypoint when creating container

Copy link
Contributor

@paulo-ocean paulo-ocean left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just a couple of questions, by curiosity...
why are we opening a PR on another draft PR in progress? :-)
Why this?
containerInfo.Entrypoint = newEntrypoint.split(' ') (have we tested the change? Are we sure it works the same?)

Why the 10 minutes for the free compute? Isn't that too much ? The initial idea was 30 secs, maybe something in between?
Regarding the image pull there are other open issues for it... including image checking on the registry

tkx

@jamiehewitt15
Copy link
Member

why are we opening a PR on another draft PR in progress? :-)

Yeah, I agree... We need to first focus on getting the initial PR merged before improving on it in different branches. @FilipMasar I would suggest that you leave comments and suggestions on #705

@FilipMasar
Copy link
Collaborator Author

Hey @paulo-ocean @jamiehewitt15 , thanks for your comments. I spoke with @alex-ocean23 that I was testing this branch, found some issues and he told me that I can open PR. Let me know if something else works better for you. Sometimes its easier to propose a fix than to explain the issue. Feel free to close this PR.

10 minutes - because when I run it with debugger it already timeouted before I got to running algorithm flow. So probably unnecessary change - just for testing. Is this free compute intended to be available in production?

Regarding this containerInfo.Entrypoint = newEntrypoint.split(' ') - without split(' ') it was not working for me. In the docs they say that exec form is preferred

@FilipMasar
Copy link
Collaborator Author

Oh and another thing which might be useful for someone. I am running this on mac, apple silicon with docker desktop. In order for this export DOCKER_SOCKET_PATH='/var/run/docker.sock' to work I had to toggle this setting in docker desktop. Turn it off and on again otherwise docker daemon was not available. Dockerode was not able to connect. Not sure why.
Screenshot 2024-11-21 at 08 35 10

@alexcos20
Copy link
Member

alexcos20 commented Nov 21, 2024

why are we opening a PR on another draft PR in progress? :-)

Because this is nowhere near a Ready PR. The compute flow was not working until two days ago, and getResults ended with uncaught exception in node.

As regarding security, we have no tests yet

Copy link
Member

@alexcos20 alexcos20 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm.

Regarding maxJobDuration, we can leave it 10 mins as long as this is a draft PR.

For production, I think we will have an env var

@alexcos20
Copy link
Member

Regarding this containerInfo.Entrypoint = newEntrypoint.split(' ') - without split(' ') it was not working for me. In the docs they say that exec form is preferred

What version of Docker are you running?

@paulo-ocean
Copy link
Contributor

why are we opening a PR on another draft PR in progress? :-)

Because this is nowhere near a Ready PR. The compute flow was not working until two days ago, and getResults ended with uncaught exception in node.

As regarding security, we have no tests yet

fair enough, its still draft but we're overlapping work here

@paulo-ocean
Copy link
Contributor

Hey @paulo-ocean @jamiehewitt15 , thanks for your comments. I spoke with @alex-ocean23 that I was testing this branch, found some issues and he told me that I can open PR. Let me know if something else works better for you. Sometimes its easier to propose a fix than to explain the issue. Feel free to close this PR.

10 minutes - because when I run it with debugger it already timeouted before I got to running algorithm flow. So probably unnecessary change - just for testing. Is this free compute intended to be available in production?

Regarding this containerInfo.Entrypoint = newEntrypoint.split(' ') - without split(' ') it was not working for me. In the docs they say that exec form is preferred

Ok, but it was working for me

@paulo-ocean
Copy link
Contributor

Hey @paulo-ocean @jamiehewitt15 , thanks for your comments. I spoke with @alex-ocean23 that I was testing this branch, found some issues and he told me that I can open PR. Let me know if something else works better for you. Sometimes its easier to propose a fix than to explain the issue. Feel free to close this PR.
10 minutes - because when I run it with debugger it already timeouted before I got to running algorithm flow. So probably unnecessary change - just for testing. Is this free compute intended to be available in production?
Regarding this containerInfo.Entrypoint = newEntrypoint.split(' ') - without split(' ') it was not working for me. In the docs they say that exec form is preferred

Ok, but it was working for me

@FilipMasar feel free to merge the PR then
btw, i'm curious.. why do we need this syntax?
await new Promise((resolve, reject) => {

@paulo-ocean
Copy link
Contributor

lgtm.

Regarding maxJobDuration, we can leave it 10 mins as long as this is a draft PR.

For production, I think we will have an env var

@alexcos20 @FilipMasar The maxJobDuration is already part of the configuration, 30 seconds is just the default value if nothing else is specified. Now the default is 10 minutes

@jamiehewitt15
Copy link
Member

Because this is nowhere near a Ready PR.

@alexcos20 ok yeah, that's fair enough. Let's just make sure that we don't have the same issues fixed in two different PRs

@paulo-ocean
Copy link
Contributor

paulo-ocean commented Nov 21, 2024

ok, i'm gonna merge the PR. I do have some doubts about some of the changes made here, specially the entrypoint, since we removed the containerId from the path , and that was the only way it worked for me on Linux

@paulo-ocean paulo-ocean merged commit fc358eb into feature/c2d_docker Nov 21, 2024
7 of 8 checks passed
@paulo-ocean paulo-ocean deleted the c2d_docker-some-fixes branch November 21, 2024 09:39
@FilipMasar
Copy link
Collaborator Author

Regarding this containerInfo.Entrypoint = newEntrypoint.split(' ') - without split(' ') it was not working for me. In the docs they say that exec form is preferred

What version of Docker are you running?

Hey, sorry for late response
docker - v27.3.1
docker desktop - 4.35.1

@FilipMasar
Copy link
Collaborator Author

Hey @paulo-ocean @jamiehewitt15 , thanks for your comments. I spoke with @alex-ocean23 that I was testing this branch, found some issues and he told me that I can open PR. Let me know if something else works better for you. Sometimes its easier to propose a fix than to explain the issue. Feel free to close this PR.
10 minutes - because when I run it with debugger it already timeouted before I got to running algorithm flow. So probably unnecessary change - just for testing. Is this free compute intended to be available in production?
Regarding this containerInfo.Entrypoint = newEntrypoint.split(' ') - without split(' ') it was not working for me. In the docs they say that exec form is preferred

Ok, but it was working for me

@FilipMasar feel free to merge the PR then btw, i'm curious.. why do we need this syntax? await new Promise((resolve, reject) => {

The followProgress method uses a callback-based approach to handle the progress of the pull operation. To use it with await, it needs to be wrapped in a Promise

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants