Bug 1934086

Summary: pulp3: Redefine dynflow step statuses "waiting for Pulp to .."
Product: Red Hat Satellite Reporter: Pavel Moravec <pmoravec>
Component: RepositoriesAssignee: Ryan Verdile <rverdile>
Status: CLOSED ERRATA QA Contact: sganar
Severity: medium Docs Contact:
Priority: low    
Version: 6.9.0CC: aruzicka, ktordeur, sganar, zhunting
Target Milestone: 6.10.0Keywords: Triaged
Target Release: Unused   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: tfm-rubygem-katello-4.1.1.17-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-16 14:10:12 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Pavel Moravec 2021-03-02 13:39:11 UTC
Description of problem:
Playing with pulp-3 on Sat6.9-beta, I noticed a CV publish was pending on Actions::Pulp3::Repository::MultiCopyContent for a long time. So far so good, but the dynflow step status was changing from "waiting for Pulp to start the task" and "initiating Pulp task" and "waiting for Pulp to finish the task" quite randomly / quite confusingly to an end user.

While I understand the dynflow step consists of multiple pulp tasks that are sequentially executed with some delays in between, it is bizzare to watch the dynflow step status evolving in time like:

- "initiating Pulp task"
- "waiting for Pulp to start the task"
- "waiting for Pulp to finish the task"
- "waiting for Pulp to start the task"  - again? again starting _the_ task..? how many times yet..?

Could we add there some better text, i.e. 

"waiting for Pulp to [start|finish] the task add_and_remove (79a2dd3d)"

(but that sounds too long string..?)

Simply have there less confusing string that evolves over time, to show some progress being made.


Version-Release number of selected component (if applicable):
Sat6.9 beta
- tfm-rubygem-katello-3.18.1.3-1.el7sat.noarch


How reproducible:
100%


Steps to Reproduce:
1. Have a CV with several repos, some filters and "Solve Dependencies" enabled
2. Publish the CV
3. Regularly check the publish task details in dynflow


Actual results:
Actions::Pulp3::Repository::MultiCopyContent will take a longer time (that is ok), but the information "waiting on pulp to start/finish the task" is confusingly "evolving".


Expected results:
Some better-shaped text showing some progress (and no "regression") is made.


Additional info:
I guess the change should be here:

/opt/theforeman/tfm/root/usr/share/gems/gems/katello-3.18.1.3/app/lib/actions/pulp3/abstract_async_task.rb :

      def humanized_state
        case state
        when :running
          if self.combined_tasks.empty?
            _("initiating Pulp task")
          else
            _("checking Pulp task status")
          end
        when :suspended
          if combined_tasks.any?(&:started?)          ### <-- fine-tune this
            _("waiting for Pulp to finish the task")
          else
            _("waiting for Pulp to start the task")
          end
        else
          super
        end
      end

Comment 1 Adam Ruzicka 2021-03-02 13:46:06 UTC
Moving to repositories. The infrastructure for implementing this is present in tasks, but how it is used from katello needs to be changed there

Comment 4 sganar 2021-10-13 09:22:57 UTC
Verified.

Tested on Satellite 6.10.0 Snap 22.0

Steps followed: 
1. Have a CV with several repos, some filters and "Solve Dependencies" enabled
2. Publish the CV
3. Regularly check the publish task details in dynflow


Observation: 

Showing better info for example: "waiting for Pulp to start the task general_update (ID: e3055bd8d0d7)" as expected.

Comment 7 errata-xmlrpc 2021-11-16 14:10:12 UTC
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 (Moderate: Satellite 6.10 Release), 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/RHSA-2021:4702