Project

General

Profile

Bug #24064

Upstream Subscriptions API/GET is returning upstream id twice and missing local katello id

Added by John Mitsch about 3 years ago. Updated about 3 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Subscriptions
Target version:
Difficulty:
Triaged:
Yes
Bugzilla link:
Fixed in Releases:
Found in Releases:

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=1585425

Description of problem:

When doing a GET request to the /upstream_subscriptions API the result contains candlepin id twice and misses the local katello id (which is important as is the only local reference to perform other operations like PUT, POST and DELETE)

How reproducible:

Always

Steps to Reproduce:

curl --request GET \
--url 'https://FQDN:443/katello/api/v2/organizations/1/upstream_subscriptions?page=1&per_page=4&sort_by=quantity' \
--header 'authorization: Basic YWRtaW46Y2hhbmdlbWU=' \
--header 'content-type: application/json' \
--header 'verify: false' \

Actual results:

result contains upstream ID twice

{
"id": "8a85f98c60f009560160f0465cde1ac5", # This is the candlepin id
"pool_id": "8a85f98c60f009560160f0465cde1ac5", # This is the candlepin id repeated
"quantity": 1200,
...
}

Expected results:

pool_id should be the local katello subscription id, and the id should be the candlepin upstream id.

{
"id": "8a85f98c60f009560160f0465cde1ac5", # This is the candlepin id
"pool_id": 6, # This should be the local katello subscription id
"quantity": 1200,
...
}

Additional info:

The problem seems to be related to the id mappings here https://github.com/Katello/katello/commit/023da41db131d3b294b2c11d0b6b68da752f2594

Associated revisions

Revision b3efb0eb (diff)
Added by John Mitsch about 3 years ago

Fixes #24064 - Update upstream subs API response id

and always return local pool ids on index call.

This changes the index GET response for
/katello/api/v2/organizations/$ORG/upstream_subscriptions.
The `pool_id` attribute is removed since it is redundant, the
id parameter will return the candlepin ID, so it was duplicating data.

Local pool ids are also always returned on an index call. Since
upstream sub information is being returned to us when we import
sub data from candlepin locally, its trivial to import this into
our database. Having this info in our database means we can match
the upstream subscriptions to local pool ids during the index call
to /upstream_subscriptions without adding much complexity to the
call.

History

#1 Updated by John Mitsch about 3 years ago

  • Description updated (diff)

#2 Updated by Andrew Kofink about 3 years ago

  • Legacy Backlogs Release (now unused) set to 338

#3 Updated by The Foreman Bot about 3 years ago

  • Status changed from New to Ready For Testing
  • Pull request https://github.com/Katello/katello/pull/7482 added

#4 Updated by Brad Buckingham about 3 years ago

  • Triaged set to No
  • Target version changed from 1.3.1 to Katello 3.7.0

#5 Updated by John Mitsch about 3 years ago

  • % Done changed from 0 to 100
  • Status changed from Ready For Testing to Closed

Also available in: Atom PDF