Bug 1387776 - Unable to view activation keys in satellite web-ui as well as in hammer since upgrade
Unable to view activation keys in satellite web-ui as well as in hammer since...
Status: CLOSED ERRATA
Product: Red Hat Satellite 6
Classification: Red Hat
Component: Activation Keys (Show other bugs)
6.2.2
All Linux
medium Severity medium (vote)
: 6.2.8
: --
Assigned To: Justin Sherrill
Lukas Pramuk
: Triaged
Depends On:
Blocks: 1417112
  Show dependency treegraph
 
Reported: 2016-10-21 16:43 EDT by Prashant Waghmare
Modified: 2018-02-02 05:38 EST (History)
11 users (show)

See Also:
Fixed In Version: rubygem-katello-3.0.0.98-1
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1417112 (view as bug list)
Environment:
Last Closed: 2017-03-06 03:29:45 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Knowledge Base (Article) 2861931 None None None 2017-01-16 15:19 EST
Foreman Issue Tracker 16931 None None None 2016-10-26 11:02 EDT
Red Hat Product Errata RHBA-2017:0447 normal SHIPPED_LIVE Satellite 6.2.8 Async Bug Release 2017-03-06 08:23:41 EST

  None (edit)
Description Prashant Waghmare 2016-10-21 16:43:59 EDT
Description of problem:

Unable to view activation keys in satellite web-ui since upgrade

Version-Release number of selected component (if applicable):

Satellite 6.2.2

How reproducible:

Always

Steps to Reproduce:

1. After upgrade to satellite 6.2 unable to view activation keys

2.$ sudo hammer activation-key list --organization Test
undefined method `products' for nil:NilClass

3.

Actual results:

After upgrade to satellite 6.2 unable to view activation keys

Expected results:

After upgrade to satellite 6.2 should be able to view activation keys

Additional info:

After application of following patch, this issue got resolved, and cu is able to view the activation keys in satellite web-ui

 PR: https://github.com/Katello/katello/pull/6396 which is for patch : https://patch-diff.githubusercontent.com/raw/Katello/katello/pull/6396.patch

# find / -name activation_key.rb | grep katello

then among the out-put you got in above command, select the following path from it:

a) vi /opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.0.0.*/app/models/katello/activation_key.rb

@@ -98,7 +98,11 @@ def products
       if cp_pools
         pools = cp_pools.collect { |cp_pool| Pool.find_by(:cp_id => cp_pool['id']) }
         pools.each do |pool|
(-)          all_products << pool.subscription.products
(+)          if pool.subscription
(+)            all_products << pool.subscription.products
(+)          else
(+)            Rails.logger.error("Pool #{pool.id} is missing its subscription id.")
(+)          end
         end
       end
       all_products.flatten!

Note: Sign (-) indicates comment the concern line and (+) sign indicates add the concern line.
Comment 2 Bryan Kearney 2016-10-26 12:20:17 EDT
Upstream bug assigned to jsherril@redhat.com
Comment 3 Bryan Kearney 2016-10-26 12:20:20 EDT
Upstream bug assigned to jsherril@redhat.com
Comment 4 Bryan Kearney 2016-10-31 12:20:22 EDT
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/16931 has been resolved.
Comment 14 Lukas Pramuk 2017-02-01 09:06:19 EST
What is reproducer here?
I just upgraded 6.1.11 to 6.2.7 and activation-keys remain present.
What kind of AKs it has to be to reproduce?
Comment 15 Andrew Kofink 2017-02-01 10:48:25 EST
Lukas,

I believe you have to have to have repositories that are no longer supported with a valid subscription (i.e. delete your manifest) on the activation key. Re-flag needinfo if this doesn't work.
Comment 16 Lukas Pramuk 2017-02-08 04:27:51 EST
Andrew,

yet before the upgrade I deleted a manifest, but still no luck reproducing this issue - AKs after the upgrade are all visible. (I associated 3 AKs to different subs in the manifest - 1 to all, 1 to employee only, 1 to atomic only)
Comment 17 Andrew Kofink 2017-02-08 11:29:07 EST
Lukas,

I see what you're saying (just tried it on 6.2.7). One way to definitely reproduce this issue is to remove the relationship manually:

```
foreman-rake console
User.current = User.find_by(login: 'admin')
ak = Katello::ActivationKey.find(1)
pools = ak.get_key_pools.collect { |cp_pool| Katello::Pool.find_by(:cp_id => cp_pool['id']) }
pools.first.subscription_id = nil
pools.first.save
```

hammer activation-key list --organization-id 1
Comment 18 Andrew Kofink 2017-02-16 10:34:12 EST
On 6.1.z, you would need to change the find_by calls to find_by_<field>, like this:

```
foreman-rake console
User.current = User.find_by_login('admin')
ak = Katello::ActivationKey.find(1)
pools = ak.get_key_pools.collect { |cp_pool| Katello::Pool.find_by_cp_id( cp_pool['id']) }
pools.first.subscription_id = nil
pools.first.save
```
Comment 21 Lukas Pramuk 2017-02-20 08:07:44 EST
VERIFIED.

@satellite-6.2.8-1.0.el7sat.noarch
tfm-rubygem-katello-3.0.0.102-1.el7sat.noarch

by this manual reproducer:

1. @Sat6.2.2 create AK and associate with subscription(s)

# hammer --csv activation-key list --organization-id 1
ID,Name,Host Limit,Lifecycle Environment,Content View                                                                   1,AK_1,0 of Unlimited,Library,CV_1


2. Simulate broken relationship of AK with subscription
# foreman-rake console
...
irb(main):001:0> User.current = User.find_by(login: 'admin')
...
irb(main):002:0> ak = Katello::ActivationKey.find(1)
...
irb(main):003:0> pools = ak.get_key_pools.collect { |cp_pool| Katello::Pool.find_by(:cp_id => cp_pool['id']) }
...
irb(main):004:0> pools.first.subscription_id = nil
=> nil
irb(main):005:0> pools.first.save
=> true


3. Try to list AKs
# hammer activation-key list --organization-id 1 
undefined method `products' for nil:NilClass

@UI: /activation_keys page is now loading forever


4. Upgrade to 6.2.8
# yum upgrade
...
# satellite-installer --upgrade
...
Upgrade completed!

5. List AKs
# hammer --csv activation-key list --organization-id 1
ID,Name,Host Limit,Lifecycle Environment,Content View                                                                   1,AK_1,0 of Unlimited,Library,CV_1

@UI: /activation_keys page loads successfully
Comment 23 errata-xmlrpc 2017-03-06 03:29:45 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:0447

Note You need to log in before you can comment on or make changes to this bug.