Why aren’t the packages being included from the custom yum repository

package-managementrpmyum

We have a custom yum repository created using createrepo, which is hosted in an Amazon S3 bucket. We're using the yum-s3-iam plugin configured as explained in this blog post. to allow our ec2-instances to gain access to the protected URLs.

However, we can't seem to get yum to respect the packages in our repository on the target server. When running yum repolist, I can see that the repo is found, but both packages in the repo are excluded.

[ec2-user@lysithea ~]$ sudo yum clean all && sudo yum repolist

Loaded plugins: priorities, s3iam, security, update-motd, upgrade-helper
Cleaning repos: amzn-main amzn-updates epel custom-main
Cleaning up Everything
Loaded plugins: priorities, s3iam, security, update-motd, upgrade-helper
amzn-main                                               | 2.1 kB     00:00     
amzn-main/primary_db                                    | 2.1 MB     00:00     
amzn-updates                                            | 2.3 kB     00:00     
amzn-updates/primary_db                                 | 229 kB     00:00     
epel/metalink                                           | 5.9 kB     00:00     
epel                                                    | 4.2 kB     00:00 
epel/primary_db                                         | 4.2 MB     00:00 
514 packages excluded due to repository priority protections
repo id                              repo name                  status
amzn-main                            amzn-main-Base              3,245
amzn-updates                         amzn-updates-Base             254
epel                                 Extra P...              6,639+514
custom-main                          custom-main                   0+2   

Notice that I get a notification for the reason 514 packages were excluded from "epel", but nothing for "custom-main".

Here's the /etc/yum.repo.d/custom-main.repo file's contents:

[custom-main]
name=custom-main
baseurl=http://<redacted>.s3.amazonaws.com/noarch
enabled=1
s3_enabled=1
gpgcheck=0

And here's the repository layout (which is sync'ed with the s3 bucket using s3cmd):

HaximusPrime:yum_repo ajbrown$ tree .
.
└── noarch
    ├── campaign-galleries-0.8.4-01.noarch.rpm
    ├── repodata
    │   ├── filelists.sqlite.bz2
    │   ├── filelists.xml.gz
    │   ├── other.sqlite.bz2
    │   ├── other.xml.gz
    │   ├── primary.sqlite.bz2
    │   ├── primary.xml.gz
    │   └── repomd.xml
    └── splunkforwarder-5.0.2-149561-linux-2.6-x86_64.rpm

We've verified the server can access the repository, and the plugin is configured correctly. In fact, I've added a few different versions of the same RPM to the repo, and observed the yum repo list output change accordingly (0+3, 0+4, and so on).

I've tried repackaging our proprietary RPM with different architectures, but that doesn't seem to make any difference.

Any ideas? Is there any way to force yum to tell me why the packages aren't being included?

Best Answer

The priorities plugin excluded duplicate packages since yum had already selected those package from a higher-priority repository. So yum is already telling you why the packages are not included. To test whether priorities are related to the problem, try running yum with the priorities plugin disabled: sudo yum --disableplugin=priorities clean all

If that is successful, then consider setting a higher priority for your custom-repo, which currently has no priority set.