harris-chris / Jot.jl

Streamlines the creation and management of AWS Lambda functions written in Julia
MIT License
41 stars 6 forks source link

ERROR: Unable to locate created local image #22

Closed jennya-alexeyeva closed 2 years ago

jennya-alexeyeva commented 2 years ago

Hello, I apologize if this is a trivial question, but I'm very new to both Julia and Docker, and I'm running into an issue when following the tutorial in the README. I'm importing the package, writing to the file, and creating the responder, but when I try to create the image from the responder, I get an error that says "fatal: not a git repository (or any of the parent directories): .git" Julia then goes through the process of making the file with no other issue until it reaches the end and shows an "ERROR: Unable to locate created local image" message. I've tracked this error down to the get_commit method in Jot.jl, but I'm not sure what's wrong with it, or if I'm doing something wrong. I've tried running it from inside a Github repo, but that didn't work.

Any advice/suggestions for how to resolve this would be great. Thank you very much in advance!

harris-chris commented 2 years ago

Hey! It's not a trivial question and it sounds like a bug, so thanks for bringing it to my attention. The fatal: not a git repository error I think is a red herring, you can probably ignore that. It should be able to find the created image though. Could you first of all try going into the Julia REPL and enter

using Jot
get_all_local_images()

That should return a list of the already-existing local images on your machine - something like

4-element Vector{LocalImage}:
 LocalImage("2021-08-03 12:02:13 +0900 JST", "<none>", "86c1628a440a", "000000000000.dkr.ecr.ap-northeast-1.amazonaws.com/jot_test_4_package", "713MB", "latest", true)
 LocalImage("2021-08-03 11:59:40 +0900 JST", "<none>", "efee0771adef", "000000000000.dkr.ecr.ap-northeast-1.amazonaws.com/jottest3", "713MB", "latest", true)

If there's no problem there, then please try the following:

  1. I've just added some clearer error output for create_local_image, so please update to the latest version of Jot by going into the Julia REPL, going into the Pkg REPL (just press ] in the Julia REPL to enter the Pkg REPL) and type update Jot.
  2. Then try the same command that you were having problems with (I guess create_local_image) with debug information on. To turn debug on, enter JULIA_DEBUG=Jot in the Julia REPL.
  3. This might produce quite a lot of output, but the only bit that's relevant is for lines 266, 269 and 272 of create_local_image, which shows the values of the variables id_fname, full_str and image_id. Could you please let me know what those show? NB - this output will have your AWS ID number in it so probably best to replace that with zeros rather than have it in the public domain, as I've done in the example output above.
jennya-alexeyeva commented 2 years ago

Thank you for getting back to me! Running get_all_local_images command just returned an empty vector. The weird thing is that I have the Docker Desktop app and I can see the image that was just made with the correct image ID (it matches the output of "Unable to locate created local image with image ID " and the name 000000000000.dkr.ecr.us-east-1.amazonaws.com/increment-vector.

harris-chris commented 2 years ago

That is odd. Would you mind opening a terminal and entering docker image ls, and letting me know what output you get?

jennya-alexeyeva commented 2 years ago
REPOSITORY TAG IMAGE ID CREATED SIZE
000000000000.dkr.ecr.us-east-1.amazonaws.com/increment-vector latest 7e24ce551073 24 seconds ago 714MB

After some experimentation, I did make a pull request with what I think the issue is, and that seemed to work for me.

harris-chris commented 2 years ago

Yes, thank you very much for that, I just saw it. I think you're right, it must be the is_jot_generated function that's causing the problem. I wonder if it's an issue with the Docker CLI having changed - could I check which version of the Docker CLI you're using? I'll check your version is also working on my machine and then merge it in later today.

jennya-alexeyeva commented 2 years ago

Thank you! I have Docker version 20.10.8.