Uploaded image for project: 'Satellite'
  1. Satellite
  2. SAT-30124

Failed to import manifest if it includes future subscription

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Undefined Undefined
    • None
    • 6.16.0
    • None
    • False
    • Hide

      None

      Show
      None
    • False
    • 0
    • Moderate
    • None

      Description of problem:

      Satellite failed to index CP pools to the database if the imported subscriptions contain future date.

      rb(main):012:0> Katello::Subscription.import_all
      irb(main):013:0> Katello::Pool.import_all
      Traceback (most recent call last):
             13: from lib/tasks/console.rake:5:in `block in <top (required)>'
             12: from (irb):13
             11: from katello (4.14.0.4) app/models/katello/glue/candlepin/candlepin_object.rb:51:in `import_all'
             10: from katello (4.14.0.4) app/models/katello/glue/candlepin/candlepin_object.rb:53:in `block in import_all'
              9: from katello (4.14.0.4) app/models/katello/glue/candlepin/pool.rb:62:in `import_candlepin_records'
              8: from katello (4.14.0.4) app/models/katello/glue/candlepin/candlepin_object.rb:16:in `import_candlepin_records'
              7: from katello (4.14.0.4) app/models/katello/glue/candlepin/candlepin_object.rb:16:in `each'
              6: from katello (4.14.0.4) app/models/katello/glue/candlepin/candlepin_object.rb:17:in `block in import_candlepin_records'
              5: from katello (4.14.0.4) app/models/katello/glue/candlepin/pool.rb:72:in `import_candlepin_record'
              4: from katello (4.14.0.4) app/models/katello/glue/candlepin/candlepin_object.rb:30:in `import_candlepin_record'
              3: from katello (4.14.0.4) app/lib/katello/util/support.rb:97:in `active_record_retry'
              2: from katello (4.14.0.4) app/models/katello/glue/candlepin/candlepin_object.rb:31:in `block in import_candlepin_record'
              1: from katello (4.14.0.4) app/lib/katello/lazy_accessor.rb:67:in `save!'
      ActiveRecord::RecordInvalid (Validation failed: Subscription can't be blank)

       

      How reproducible:

      Easy

       

      Is this issue a regression from an earlier version:

      Yes

       

      Steps to Reproduce:

      1. Create a manifest and add at least one subscription with future date.

      2. Export the manifest and import to the Satellite.

      Actual behavior:
      Import task failed with "ActiveRecord::RecordInvalid (Validation failed: Subscription can't be blank)" error.

      Expected behavior:{}

      No error.

       

      Business Impact / Additional info:

      There is a new parameter for getProducts API introduced since Candlepin 4.4.16 (Satellite 6.16) called "active" which by default exclude all inactive products.

      See the API documentation below:

      https://petstore.swagger.io/?url=https://raw.githubusercontent.com/candlepin/candlepin/candlepin-4.4-HOTFIX/api/candlepin-api-spec.yaml#/products/getProducts

      So I think the possible solution is to set the "active=include" when Katello is calling the API to fetch all products.

       

       

              Unassigned Unassigned
              rhn-support-hyu Hao Chang Yu
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: