{"push_id":1388731113,"size":373,"distinct_size":365,"ref":"refs/heads/master","head":"1e17400fa9298f2bdb98707b4ac4ccb1d30bc8f4","before":"b0858e6915a3bda46800ab1fe4e15b48e6336ae1","commits":[{"sha":"3184e2b2ee678f051ae13e48f5f1dfe3a1b10659","author":{"name":"Ondrej Prazak","email":"2817ae1d71cee1e98b3b6676ae70a123b0f8868d@redhat.com"},"message":"Fixes #14523 - Prevent table from disappearing on sort","distinct":true,"url":"https://api.github.com/repos/tbrisker/katello/commits/3184e2b2ee678f051ae13e48f5f1dfe3a1b10659"},{"sha":"59b43952ee3fbaabc48da6542220dac7c8fc0de4","author":{"name":"Zach Huntington-Meath","email":"86b6c48946102d2be28ccafa2557b7aabcf674c1@redhat.com"},"message":"Fixes #15204 - Reformat Sync Plan start date to work with hammer.","distinct":false,"url":"https://api.github.com/repos/tbrisker/katello/commits/59b43952ee3fbaabc48da6542220dac7c8fc0de4"},{"sha":"a89f1f0c7bb90290c8796282076afae26dc5df7e","author":{"name":"Tom McKay","email":"05cc24545e760db4188aded68942bb15e5df679c@redhat.com"},"message":"fixes #15207 - handle removed subscriptions","distinct":true,"url":"https://api.github.com/repos/tbrisker/katello/commits/a89f1f0c7bb90290c8796282076afae26dc5df7e"},{"sha":"b229a4bd190769cd1166d6c5e020cb3faee9b8d1","author":{"name":"Brad Buckingham","email":"7a91230b3d074560bac59628b33aa6dcf80132db@redhat.com"},"message":"Merge pull request #6069 from zjhuntin/fix_sync_plan\n\nFixes #15204- Reformat Sync Plan start date to work with hammer.","distinct":false,"url":"https://api.github.com/repos/tbrisker/katello/commits/b229a4bd190769cd1166d6c5e020cb3faee9b8d1"},{"sha":"a766d9d709ecfedf2b89cafbaf576a254abf3feb","author":{"name":"Chris Duryee","email":"ae07216463e4f1265d88348d542c15bc3e1b423b@redhat.com"},"message":"Fixes #15233 - add index to `katello_repository_rpms`\n\nThe CVV page was calling\n`/katello/api/v2/content_view_versions?content_view_id=<id>`, which includes,\namong other things, a package count for all repos in each CVV.\n\nThis is found via the following query:\n\n```sql\nSELECT Count(*)\nFROM   \"katello_rpms\"\n       INNER JOIN \"katello_repository_rpms\"\n               ON \"katello_repository_rpms\".\"rpm_id\" = \"katello_rpms\".\"id\"\nWHERE  \"katello_repository_rpms\".\"repository_id\" IN (SELECT\n       \"katello_repositories\".\"id\"\n                                                     FROM\n       \"katello_repositories\"\n                                                     WHERE\n              \"katello_repositories\".\"content_view_version_id\" = $1\n              AND ( environment_id IS NULL ))\n```\n\nThis query induced a sequential scan on `katello_repository_rpms` (see\nhttps://explain.depesz.com/s/sMy).\n\nThere was an index for `repository_id, rpm_id` for the table, but not just\n`repository_id`. This patch adds a migration to create the index.\n\nTimes per-query should be reduced from 300+ msec to 20-30 msec. The explain\nplan with the index is available at https://explain.depesz.com/s/epd9.\n\n_NOTE_: when testing, you will need to ensure `katello_repository_rpms` has\nenough rows for the profiler to prefer the index over a seq scan. I used an\nexisting DB that was a shade under 4 million rows for the table. If the table\nis too small, both explain plans (with and without the index) will look the\nsame.","distinct":false,"url":"https://api.github.com/repos/tbrisker/katello/commits/a766d9d709ecfedf2b89cafbaf576a254abf3feb"},{"sha":"f940aab08dab591e1b3df5bb214a05bc38b738b4","author":{"name":"Chris Duryee","email":"ae07216463e4f1265d88348d542c15bc3e1b423b@redhat.com"},"message":"Refs #14950 - rubocop fixups\n\nThere were four small issues fixed by this patch.","distinct":false,"url":"https://api.github.com/repos/tbrisker/katello/commits/f940aab08dab591e1b3df5bb214a05bc38b738b4"},{"sha":"44fdafba11c7eeeae75c122cbc933769b1d5cdb2","author":{"name":"Chris Duryee","email":"ae07216463e4f1265d88348d542c15bc3e1b423b@redhat.com"},"message":"Merge pull request #6086 from beav/new_index\n\nFixes #15233 - add index to `katello_repository_rpms`","distinct":false,"url":"https://api.github.com/repos/tbrisker/katello/commits/44fdafba11c7eeeae75c122cbc933769b1d5cdb2"},{"sha":"5d55334096bbf82c7dcb2e7aa4ae098122c24c50","author":{"name":"Shimon Shtein","email":"acc511deb13456c8dd5823df35ee93637b26642e@redhat.com"},"message":"Fixes #15236 - Use alias_method_chain for permissions (#6087)","distinct":false,"url":"https://api.github.com/repos/tbrisker/katello/commits/5d55334096bbf82c7dcb2e7aa4ae098122c24c50"},{"sha":"c303934c87682461237e7041342cfb8ed3b37fa6","author":{"name":"Brad Buckingham","email":"7a91230b3d074560bac59628b33aa6dcf80132db@redhat.com"},"message":"fixes #15239 - fix content host and system migration errors\n\nDuring testing of PR 6066, additional errors were found with the\nmigrations after the PR was merged.  This commit is to address those\nerrors.\n\nReferences:\nhttps://github.com/Katello/katello/pull/6066#issuecomment-222348357\nhttps://github.com/Katello/katello/pull/6066#issuecomment-222349268","distinct":false,"url":"https://api.github.com/repos/tbrisker/katello/commits/c303934c87682461237e7041342cfb8ed3b37fa6"},{"sha":"909ef2a11864e4f89d7a33b6a3840004c4753f77","author":{"name":"Brad Buckingham","email":"7a91230b3d074560bac59628b33aa6dcf80132db@redhat.com"},"message":"Merge pull request #6090 from bbuckingham/issue-15239\n\nfixes #15239 - fix content host and system migration errors","distinct":false,"url":"https://api.github.com/repos/tbrisker/katello/commits/909ef2a11864e4f89d7a33b6a3840004c4753f77"},{"sha":"6dcfd4d9d817a5c4e8c9f594a74b696c281fab2c","author":{"name":"Brad Buckingham","email":"7a91230b3d074560bac59628b33aa6dcf80132db@redhat.com"},"message":"fixes #15255 - fix additional migrate_content_hosts errors\n\nThis commit fixes 2 errors observed while executing the migration:\n\nError 1:\nuninitialized constant\nMigrateContentHosts::SmartProxy::MigrateContentHosts::ContentHost\n\nError 2:\ncan't modify frozen Hash\n\nSee redmine for more details.","distinct":true,"url":"https://api.github.com/repos/tbrisker/katello/commits/6dcfd4d9d817a5c4e8c9f594a74b696c281fab2c"},{"sha":"0fa22f009907753697645e2f14bf872e572f54df","author":{"name":"Brad Buckingham","email":"7a91230b3d074560bac59628b33aa6dcf80132db@redhat.com"},"message":"Merge pull request #6092 from bbuckingham/issue-15255\n\nfixes #15255 - fix additional migrate_content_hosts migration errors","distinct":true,"url":"https://api.github.com/repos/tbrisker/katello/commits/0fa22f009907753697645e2f14bf872e572f54df"},{"sha":"4667141bff31d8781600a19977f1d529e0218b5b","author":{"name":"Chris Duryee","email":"ae07216463e4f1265d88348d542c15bc3e1b423b@redhat.com"},"message":"Fixes #15253 - do not do `DISTINCT` on katello_errata.*\n\nThe erratum model obj has a query to find all errata that are applicable to\nhosts. At the end of the query, it does a `DISTINCT` to make sure there aren't\nduplicate errata that may have been listed from the join. For example:\n\n```sql\n SELECT DISTINCT \"katello_errata\".*\n FROM \"katello_errata\"\n   INNER JOIN \"katello_content_facet_errata\" ON \"katello_content_facet_errata\".\"erratum_id\" = \"katello_errata\".\"id\"\n   INNER JOIN \"katello_content_facet_errata\" \"content_facet_errata_katello_errata_join\" ON \"content_facet_errata_katello_errata_join\".\"erratum_id\" = \"katello_errata\".\"id\"\n   INNER JOIN \"katello_content_facets\" ON \"katello_content_facets\".\"id\" = \"content_facet_errata_katello_errata_join\".\"content_facet_id\"\n WHERE \"katello_content_facets\".\"host_id\" IN\n (\n        SELECT \"hosts\".\"id\"\n        FROM   \"hosts\"\n        WHERE  \"hosts\".\"type\"            IN ('Host::Managed')\n        AND    \"hosts\".\"organization_id\" IN (1))\n ORDER BY updated DESC\n limit 6;\n```\n\nThe `DISTINCT \"katello_errata\".*` causes issues when the number of hosts * the\nnumber of errata is over about 100K, since it attempts to sort by every col, as\nseen in this explain plan:\n\n```\n         ->  Sort  (cost=50522.02..50628.22 rows=42483 width=1269) (actual time=63211.686..79656.391 rows=42483 loops=1)\n               Sort Key: katello_errata.updated, katello_errata.id, katello_errata.uuid, katello_errata.errata_id,\n                         katello_errata.created_at, katello_errata.updated_at, katello_errata.issued,\n                         katello_errata.errata_type, katello_errata.severity, katello_errata.title,\n                         katello_errata.solution, katello_errata.description, katello_errata.summary,\n                         katello_errata.reboot_suggested\n               Sort Method: external merge  Disk: 36304kB\n\n```\n\nThis can take upwards of 80 seconds on a strong system, and can take multiple\nminutes on a development VM.\n\nWe do not need to check for uniqueness on every column, since katello_errata\nalready has a surrogate PK. However, we can't do `DISTINCT` on the ID, and then\nan `ORDER BY` on the updated time, since that's two different sorts. Instead,\nwe can sort by the updated time, and then sort by ID. That way, the cols on\n`DISTINCT` and `ORDER BY` match.","distinct":true,"url":"https://api.github.com/repos/tbrisker/katello/commits/4667141bff31d8781600a19977f1d529e0218b5b"},{"sha":"0ed008c0f7b3cff848bbe369acfa26ff69ad4181","author":{"name":"Brad Buckingham","email":"7a91230b3d074560bac59628b33aa6dcf80132db@redhat.com"},"message":"fixes #15260 - migrate_content_host: update create_content_facet\n\nThis commit updates the 'create_content_facet' so that the caller\ncan include an argument which will cause it to only associate\nlifecycle environment and content view with the facet created.\n\nThis is needed to handle the case where the content facet is\ncreated for a host; however, the legacy system will be immediately\nunregistered/destroyed.  With this change, when the host\nre-registers after the migration is completed, no errors will\nbe generated (e.g. 404 on delete of pulp consumer).","distinct":true,"url":"https://api.github.com/repos/tbrisker/katello/commits/0ed008c0f7b3cff848bbe369acfa26ff69ad4181"},{"sha":"36e99e98ba63dad0b682786946cd4087bc0c7c2e","author":{"name":"Ivan Necas","email":"4146251cddbfa61bf2118072f93bb6cf8cb1e2a7@redhat.com"},"message":"Fixes #15144 - update dependencies on foreman-tasks (#6088)\n\nChange 28cb3ef requires https://github.com/theforeman/foreman-tasks\\\r\n/commit/22d5999950c15f73dd06c49e88bf7af7eda3e29e","distinct":true,"url":"https://api.github.com/repos/tbrisker/katello/commits/36e99e98ba63dad0b682786946cd4087bc0c7c2e"},{"sha":"6f23960c35de38416671d5d21c8065075d32a460","author":{"name":"Brad Buckingham","email":"7a91230b3d074560bac59628b33aa6dcf80132db@redhat.com"},"message":"Merge pull request #6095 from bbuckingham/issue-15260\n\nfixes #15260 - migrate_content_host: support env/view only on content facet","distinct":true,"url":"https://api.github.com/repos/tbrisker/katello/commits/6f23960c35de38416671d5d21c8065075d32a460"},{"sha":"16d3a1cb328dd7609fa593f8ea137d12033ee664","author":{"name":"Zachary Huntington-Meath","email":"86b6c48946102d2be28ccafa2557b7aabcf674c1@redhat.com"},"message":"Fixes #15221 - Fixes some organization select issues. (#6085)\n\nMade redirection from organization selection an absolute path.\r\n\r\nFixed test issues.","distinct":true,"url":"https://api.github.com/repos/tbrisker/katello/commits/16d3a1cb328dd7609fa593f8ea137d12033ee664"},{"sha":"78bb525a7814b94680233f7baeb465945fbdff56","author":{"name":"Tom McKay","email":"05cc24545e760db4188aded68942bb15e5df679c@redhat.com"},"message":"fixes #15197 - find hypervisors by uuid before name","distinct":true,"url":"https://api.github.com/repos/tbrisker/katello/commits/78bb525a7814b94680233f7baeb465945fbdff56"},{"sha":"bb7362231f550310181495c5026b1192bdc4179d","author":{"name":"Andrew Kofink","email":"030e9845066455be45e006172697d735c263945c@gmail.com"},"message":"Fixes #15162 - Host collections can be removed (#6063)\n\nAllow the last host collection to be removed from an activation key.\r\n\r\nThis issue is caused by the deep_munge method in Rails 4. We use our API\r\nto GET a record, update a collection of children, then PUT the updated\r\nrecord to the API in order to update the DB. If the collection of\r\nchildren is empty, deep munge in conjunction with strong parameters,\r\ntranslates the empty array into nil, and the collection of children\r\nremains unchanged.\r\n\r\nThis fix is a workaround and should be removed when upgrading Foretello\r\nto Rails 5. I made a comment containing \"Rails 5\" so it can be addressed\r\nduring the upgrade with a global find.\r\n\r\nAdd a test for removing all host collections from an activation key.","distinct":true,"url":"https://api.github.com/repos/tbrisker/katello/commits/bb7362231f550310181495c5026b1192bdc4179d"},{"sha":"ec8e75b4aa5c5d1c6f4539871f09d565cc4341fe","author":{"name":"David Davis","email":"e7c78daeb62915be517bcb764d5fccc2d6a9068f@users.noreply.github.com"},"message":"Fixes #15168 - Clean up view_params (#6064)","distinct":true,"url":"https://api.github.com/repos/tbrisker/katello/commits/ec8e75b4aa5c5d1c6f4539871f09d565cc4341fe"}]}
{"actor":{"display_login":"tbrisker"}}