Description of problem: Bind is slowed by assembling the list of gpg keys for large repos. Version-Release number of selected component (if applicable): 0.151 How reproducible: Always Steps to Reproduce: 1. Create a large repo 6k packages 2. Bind the repo 3. Actual results: Performance degrades with the size of the repo. Expected results: Very fast regardless of the repo size. Additional info: KeyStore.keys_and_contents() uses KeyStore.keyfiles() which is designed to manage gpg link to published area and iterates the gpg key storage directory in the repo. It should be using the general KeyStore.list() which iterates the published keys. keys_and_contents() should be updated to use list() and then read the key content. I'll update the code comments to be clearer.
Fixed. a4eef6b0d5427c0a89516ca53efe1a9f4e5ab179 Added missing unit test for KeyStore as well.
build: 0.162
Fixed in build 0.163.
verified [root@10 ~]# time pulp-client consumer bind --repoid=f15 Successfully subscribed consumer [pulp-client] to repo [f15] real 0m2.874s user 0m0.307s sys 0m0.076s [root@10 ~]# [root@10 ~]# time pulp-client consumer bind --repoid=f15-updates Successfully subscribed consumer [pulp-client] to repo [f15-updates] real 0m3.117s user 0m0.291s sys 0m0.079s [root@10 ~]# rpm -q pulp package pulp is not installed [root@10 ~]# rpm -q pulp-client pulp-client-0.0.186-1.fc14.noarch [root@preethi ~]# time pulp-admin consumer bind --id=pulp-client --repoid=f15-updates Successfully subscribed consumer [pulp-client] to repo [f15-updates] real 0m2.053s user 0m0.360s sys 0m0.067s [root@preethi ~]# time pulp-admin consumer bind --id=pulp-client --repoid=f15 Successfully subscribed consumer [pulp-client] to repo [f15] real 0m1.848s user 0m0.359s sys 0m0.070s
Closing with Community Release 15 pulp-0.0.223-4.