-
Notifications
You must be signed in to change notification settings - Fork 77
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
Packages from remote unavailable #378
Comments
If you can run
I just want to clarify that these are the actual package names and not pseudo-example names correct? Is this is the
Assuming that you synced
If you are only using
If there is no new repository version after the sync task completes, then that means the sync task failed. Use Also,
You are correct about the docs being wrong, if you could file issues for documentation errors or confusing parts that you find, that would be helpful. A little bit on syncing policy: @fish-face Hope this helps. |
OK, the
I assume that is something to do with the large size of PyPI, though 16.7 MB for a memory resource seems small - maybe you know off the top of your head if this could be, say, something tuned very small on the postgres server in the docker image, or something to that effect. For more information, we didn't want to specify the exact packages in case the package we wish to host a custom version of incorporates a new package and then stops being ugpradeable without manual intervention, but I guess that is not really possible... Ideally there'd be some way to specify a remote as being "includes every (transitive) dependency" or "pass unhandled requests on to here". The reason this is an issue is that As for the confusion here, perhaps you could advise now: in my mind there is a UX bug here because the failure of the task is not notified through the CLI, even though it waits for the task - I can file a bug against The above probably makes the following redundant, but just in case it is not, I include it to not waste time: $ pulp status
{
"versions": [
{
"component": "core",
"version": "3.12.2"
},
{
"component": "python",
"version": "3.2.0"
},
...
}
|
As far as I know that error means that the directory holding the postgres database ran out of space, not sure what its default value is for the docker image if there is one (I'm pretty sure you pass in which directory you want to use to store the database).
This is interesting. What version of I know syncing all of PyPI takes a while, but not finishing after a month is kind of worrisome. If you can view the task, there should be a progress report with the number of package metadatas downloaded, artifacts downloaded, and content associated. For syncing all of PyPI the number of metadatas downloaded should be around 300,000, and the number of artifacts and contents associated should be around 4.2 million.
This is a pretty common issue with pip. I think specifying the exact packages could still be more useful then syncing all of PyPI because you can specify to not sync newer versions of a package using version specifiers on your includes and excludes statements. However, having Pulp use multiple indexes as a fallback is a useful feature and something we could add without much change to
No need to file a bug since it is already being fixed: pulp/pulp-cli#258. Currently the CLI waits 2 mins before it stops waiting on a task, but some tasks will inevitably run longer then 2 mins, so it was confusing why the CLI stopped waiting before the task completed. Next release of the CLI will allow you to wait indefinitely for a task to complete or properly warn the user if the task is taking longer than the timeout. |
Turns out it was a
I misremembered the error message; it is indeed the
Another oversight on my part, these tasks are also in the
Are you suggesting modifying the filter on the remote when building our package? That could work actually, though it could be a little fiddly to get working initially...
Ah, I see - my quick search didn't find anything - fair enough :) |
It's hard to tell what is happening. You can find a list of all the known tasking issues here and maybe one of them is similar to what you are experiencing. For upcoming pulpcore 3.14 we have redesigned the tasking system to solve all these problems.
Looking at https://pypi.org/stats/ you need at least 10 TB of storage for the artifacts. Also, the postgres database will need a hefty amount of storage to contain all the metadata for each package. I think all of PyPI metadata is around 30 GB.
Yes. If all of the requirements for your |
I'm not sure if this is an issue with the documentation, my method, or a bug. This started as an issue seen on our local pulp repository running a slightly older version; I've now tested it on the latest docker images and am still having no joy.
I have a package,
package
with a dependency ondependency
, available in PyPI and want to be able to installpackage
like this:$ pip install --index-url https://pulp/pulp/content/foo/simple/ package
What happens is an error something like this:
Note that
pip
finds (and downloads)package
successfully - it's only the dependencies (which are not in the repositoryfoo
) which cause an issue.The documentation here is not especially clear. My understanding is that it should be sufficient to perform the following:
Once the task completes, I notice that no new repository version is created. Nevertheless, something happened: if I inspect the docker volumes, they now have information from the index. I see that the the remote has been assigned to the repository (I also tried to do this by hand, but the docs say the
sync
does it):and here is the repository version:
(There are 2 things present because I added a second version of the package to see if one had to have the remote already assigned to the repository when adding a new content unit for it to work)
I shall skip the response for the remote since it is long, but it has
excludes: ["package"]
andpolicy: "on_demand"
as I expected.Maybe there is some issue with the way I have created the remote, or something else?
By the way, there is a definite documentation bug regarding the
policy
- the description is inconsistent on possible values. There is a common issue throughout the auto-generated API documentation where only the types are included. Often it is not clear without already being fully familiar with the system and API what object apulp_href
refers to, since all objects have hrefs. In this specific case, the meaning of the different policies is not explained beyond the names of the enum, but there are many others.The text was updated successfully, but these errors were encountered: