Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.
If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!
A 500 error occurred in d: Could not find a part of the path '/var/proget/packages/.docker/F1
-
fresh installed proget free on as docker container
trying to push a imagecommands
❯ docker push localhost:8082/d/alpine The push refers to repository [localhost:8082/d/alpine] ace0eda3e3be: Layer already exists received unexpected HTTP status: 500 Internal Server Error
proget log
proget | Request starting HTTP/1.1 PUT http://localhost:8082/v2/d/alpine/manifests/latest application/vnd.docker.distribution.manifest.v2+json 528 proget | A 500 error occurred in d: Could not find a part of the path '/var/proget/packages/.docker/F1'.
found in settings of feed the following storage path:
/var/proget/packages/.docker/common
docker compose file
version: "2.4" services: proget: image: proget.inedo.com/productimages/inedo/proget:5.3.15 mem_limit: "2g" memswap_limit: "2g" restart: unless-stopped container_name: proget environment: SQL_CONNECTION_STRING: Data Source=mssql; Initial Catalog=proget; User ID=proget; Password=proget volumes: - proget-packages:/var/proget/packages ports: - 8082:80/tcp networks: - mssql - default volumes: proget-packages: networks: mssql: external: true
Workaround manually create the missing folder
-
Hi @viceice,
How many docker feeds do you have configured on the fresh ProGet instance? I have seen one other user who has seen a similar issue, but it only happened on the one feed and manually creating the folder has resolved it. Any other docker feeds that were created did not seem to have the issue. Also, how did create the folder? Did you create it from within the ProGet container?
Thanks,
Rich
-
I've installed a fresh proget instance and added a single docker feed.
Yes, I've used
docker exec proget mkdir /var/proget/packages/.docker/F1
to create folder.
-
Hi @viceice,
Thanks for the information. Let me dig into this a bit further and let me work on recreating it. Hang tight!
Thanks,
Rich
-
thanks, this is low prio, as there is a simple workaround.
-
Ok, next issue with a new nuget feed:
proget | Unable to open file VisualOn.NCrontab.Advanced/VisualOn.NCrontab.Advanced.2.0.0.nupkg: System.IO.DirectoryNotFoundException: Could not find a part of the path '/var/proget/packages/.nugetv2/F3'. proget | at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound) proget | at System.IO.Enumeration.FileSystemEnumerator`1.Init() proget | at System.IO.Enumeration.FileSystemEnumerator`1..ctor(String directory, Boolean isNormalized, EnumerationOptions options) proget | at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized) proget | at System.IO.Enumeration.FileSystemEnumerableFactory.FileSystemInfos(String directory, String expression, EnumerationOptions options, Boolean isNormalized) proget | at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options) proget | at System.IO.DirectoryInfo.EnumerateFileSystemInfos() proget | at Inedo.ProGet.Extensions.FileSystems.DirectoryFileSystem.ListContentsAsync(String path) in C:\InedoAgent\BuildMasterTemp\192.168.44.60\Temp\_E75101\Src\ProGetCoreEx\Extensions\FileSystems\DirectoryFileSystem.cs:line 77 proget | at Inedo.ProGet.Extensions.FileSystems.CaseInsensitiveFileSystem.ListItemsInternalAsync(String path) proget | at Inedo.ProGet.Extensions.FileSystems.CaseInsensitiveFileSystem.<>c__DisplayClass12_0.<<OpenFileAsync>g__getAllMatchesAsync|0>d.MoveNext() in C:\InedoAgent\BuildMasterTemp\192.168.44.60\Temp\_E75101\Src\ProGetCoreEx\Extensions\FileSystems\CaseInsensitiveFileSystem.cs:line 212 proget | --- End of stack trace from previous location where exception was thrown ---
Workaround again: create directory manually
docker exec -t proget mkdir -p /var/proget/packages/.nugetv2/F3
-
Hi @viceice,
Thanks for sending this over. I will be debugging this issue more this week.
Thanks,
Rich
-
Got the same issue ish
If I do this, I notice that the proget folder never gets populated with packages.
I tired using "D:\data\proget\packages:/var/proget/packages" as well, but the volume does not seem to attach itself.The disk is formatted with NTFS if that does matter.
$ProGetPackageLocationHost = "D:\data\proget\:/var/proget/" docker run -d -p 8585:80 --net=sql -v ${ProGetPackageLocationHost} --hostname proget --name=proget-server --restart=unless-stopped -e SQL_CONNECTION_STRING='Server=sql2019;Database=ProGet;User ID=user;Password=password' proget.inedo.com/productimages/inedo/proget:5.3.16
I get errors like these:
Unable to open file wavosaur/wavosaur.1.7.0.0.nupkg: System.IO.DirectoryNotFoundException: Could not find a part of the path '/var/proget/packages/.nugetv2/F1'. at System.IO.Enumeration.FileSystemEnumerator`1.CreateDirectoryHandle(String path, Boolean ignoreNotFound) at System.IO.Enumeration.FileSystemEnumerator`1.Init() at System.IO.Enumeration.FileSystemEnumerator`1..ctor(String directory, Boolean isNormalized, EnumerationOptions options) at System.IO.Enumeration.FileSystemEnumerable`1..ctor(String directory, FindTransform transform, EnumerationOptions options, Boolean isNormalized) at System.IO.Enumeration.FileSystemEnumerableFactory.FileSystemInfos(String directory, String expression, EnumerationOptions options, Boolean isNormalized) at System.IO.DirectoryInfo.InternalEnumerateInfos(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options) at System.IO.DirectoryInfo.EnumerateFileSystemInfos() at Inedo.ProGet.Extensions.FileSystems.DirectoryFileSystem.ListContentsAsync(String path) in C:\InedoAgent\BuildMasterTemp\192.168.44.60\Temp\_E79286\Src\ProGetCoreEx\Extensions\FileSystems\DirectoryFileSystem.cs:line 77 at Inedo.ProGet.Extensions.FileSystems.CaseInsensitiveFileSystem.ListItemsInternalAsync(String path) at Inedo.ProGet.Extensions.FileSystems.CaseInsensitiveFileSystem.<>c__DisplayClass12_0.<<OpenFileAsync>g__getAllMatchesAsync|0>d.MoveNext() in C:\InedoAgent\BuildMasterTemp\192.168.44.60\Temp\_E79286\Src\ProGetCoreEx\Extensions\FileSystems\CaseInsensitiveFileSystem.cs:line 212 --- End of stack trace from previous location where exception was thrown --- at Inedo.ProGet.Extensions.FileSystems.CaseInsensitiveFileSystem.<>c__DisplayClass12_0.<<OpenFileAsync>g__getCurrentAsync|1>d.MoveNext() in C:\InedoAgent\BuildMasterTemp\192.168.44.60\Temp\_E79286\Src\ProGetCoreEx\Extensions\FileSystems\CaseInsensitiveFileSystem.cs:line 233 --- End of stack trace from previous location where exception was thrown --- at Inedo.ProGet.Extensions.FileSystems.CaseInsensitiveFileSystem.OpenFileAsync(String fileName, FileMode mode, FileAccess access, FileShare share, Boolean requireRandomAccess) in C:\InedoAgent\BuildMasterTemp\192.168.44.60\Temp\_E79286\Src\ProGetCoreEx\Extensions\FileSystems\CaseInsensitiveFileSystem.cs:line 183 at Inedo.ProGet.Extensibility.PackageStores.FileSystemPackageStore.TryOpenStreamAsync(String fileName, FileMode fileMode, FileAccess fileAccess, FileShare fileShare, Int32 retryCount, Boolean requireSeek) in C:\InedoAgent\BuildMasterTemp\192.168.44.60\Temp\_E79286\Src\ProGetCoreEx\Extensibility\PackageStores\FileSystemPackageStore.cs:line 87
-
The current workaround is to manually create the feed folder. For example
/var/proget/packages/.nugetv2/F1
. This issue only happens when it is the first feed of that package type. We are still looking into the cause of the issue. It is only a problem with the docker image.Thanks,
Rich
-
I tried creating the folder on the host side, but that didn't work.
Will try it from the docker cli side as well
-
I have found that sometimes I will run into permission errors when created the folder on the host side when using WSL or WSL2. Sometimes if I create the folder on the host side, I end up having to manually
chmod
the folder inside the container. I have found different Linux OSes and Versions will vary based on this as well.Thanks,
Rich
-
Hi @harald-s-hanssen_2554 and @viceice,
I was able to finally track down this issue. It seems to only affect ProGet running on Linux (Docker) when attempting to look for existing packages prior to adding a package or image. I have created a ticket, PG-1852, to track this fix. It will be released this Friday, November 20, 2020, in ProGet 5.3.17. Thanks for all the help in troubleshooting this!
Thanks,
Rich
-
@rhessinger great :)