Explanation of repo download policies

Perhaps my google-fu is failing me but can anyone point me to a document
about the repo download policies? I gather:

immediate - download files on sync
on_demand - download when a client requests a file the first time
background - doesn't immediate technically happen "in the background"

Also what are the intended use cases for these?
What about trade offs?
If I can afford the space is it worth it to do immediate even if I end up
downloading packages I'll never use? (consider an "updates" repo which
might have 5 versions of some package).

What are people using for CentOS/EPEL?

Thanks,
-Alan

Hi Alan,

> immediate - download files on sync
> on_demand - download when a client requests a file the first time
> background - doesn't immediate technically happen "in the background"

I believe you are correct in your assessment here. In my opinion the trade offs would be:

immediate - requires more disk space for packages that you may never install/update
on_demand - potential delay the first time a package is requested, problems if the upstream happens to be down/corrupted when you need the package
background - same issue as immediate plus a bit more work to have confidence in the current state of your product repos

I use on_demand for my products (a full suite of CentOS 6/7, OEL 6/7, EPEL 6/7, etc) and have been happy with it. I like to keep my Katello server as small as I can because it is a VM, the current backup strategies aren't ideal, so snapshots are used a lot.

Regards,

j