Bug 1187820

Summary: Synchronization of repos broken in current compose due to missing branding changes
Product: Red Hat Satellite Reporter: Og Maciel <omaciel>
Component: UsabilityAssignee: Katello Bug Bin <katello-bugs>
Status: CLOSED ERRATA QA Contact: Og Maciel <omaciel>
Severity: high Docs Contact:
Priority: unspecified    
Version: NightlyCC: bbuckingham, erezende, jaudet, stbenjam, sthirugn
Target Milestone: Unspecified   
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-12 05:23:19 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:
Bug Depends On:    
Bug Blocks: 1130651, 1188301    
Attachments:
Description Flags
Failed sync
none
Sync process error
none
Mail Preference none

Description Og Maciel 2015-01-30 22:07:34 UTC
Created attachment 986301 [details]
Failed sync

Description of problem:

I started receiving errors for my Red Hat product synchronizations, showing the following error:

  Actions::Katello::Repository::ErrataMail - NoMethodError: undefined method `deliver' for nil:NilClass

Turns out that my user was subscribed to all the available mail notifications but my system was not configured to send emails. I believe we have a usability issue here because if we're required to configure our systems to properly handle sending out emails (which makes sense), then the web ui should make that clear. Perhaps we should also not fail the sync process because of this, and alert the user somehow to finish configuring the mail server?

Bonus points for letting me provide the mail server (smtp) information via the installer!

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

* candlepin-0.9.38-1.el7.noarch
* candlepin-common-1.0.18-1.el7.noarch
* candlepin-guice-3.0-2_redhat_1.el7.noarch
* candlepin-scl-1-5.el7.noarch
* candlepin-scl-quartz-2.1.5-6.el7.noarch
* candlepin-scl-rhino-1.7R3-3.el7.noarch
* candlepin-scl-runtime-1-5.el7.noarch
* candlepin-selinux-0.9.38-1.el7.noarch
* candlepin-tomcat-0.9.38-1.el7.noarch
* elasticsearch-0.90.10-6.el7sat.noarch
* foreman-1.7.2.1-1.el7sat.noarch
* foreman-compute-1.7.2.1-1.el7sat.noarch
* foreman-gce-1.7.2.1-1.el7sat.noarch
* foreman-libvirt-1.7.2.1-1.el7sat.noarch
* foreman-ovirt-1.7.2.1-1.el7sat.noarch
* foreman-postgresql-1.7.2.1-1.el7sat.noarch
* foreman-proxy-1.7.2.1-1.el7sat.noarch
* foreman-selinux-1.7.2.2-1.el7sat.noarch
* foreman-vmware-1.7.2.1-1.el7sat.noarch
* katello-2.2.0.2-1.el7sat.noarch
* katello-certs-tools-2.2.1-1.el7sat.noarch
* katello-common-2.2.0.2-1.el7sat.noarch
* katello-default-ca-1.0-1.noarch
* katello-installer-2.2.0.3-1.el7sat.noarch
* katello-installer-base-2.2.0.3-1.el7sat.noarch
* katello-server-ca-1.0-1.noarch
* openldap-2.4.39-6.el7.x86_64
* pulp-docker-plugins-0.2.1-0.2.beta.el7.noarch
* pulp-katello-0.3-4.el7sat.noarch
* pulp-nodes-common-2.5.0-0.7.beta.el7.noarch
* pulp-nodes-parent-2.5.0-0.7.beta.el7.noarch
* pulp-puppet-plugins-2.5.0-0.7.beta.el7sat.noarch
* pulp-puppet-tools-2.5.0-0.7.beta.el7sat.noarch
* pulp-rpm-plugins-2.5.0-0.7.beta.el7.noarch
* pulp-selinux-2.5.0-0.7.beta.el7.noarch
* pulp-server-2.5.0-0.7.beta.el7.noarch
* python-ldap-2.4.15-2.el7.x86_64
* ruby193-rubygem-ldap_fluff-0.3.2-1.el7.noarch
* ruby193-rubygem-net-ldap-0.3.1-3.el7sat.noarch
* ruby193-rubygem-runcible-1.3.0-1.el7.noarch
* rubygem-hammer_cli-0.1.4.3-1.el7sat.noarch
* rubygem-hammer_cli_foreman-0.1.4.3-1.el7sat.noarch
* rubygem-hammer_cli_foreman_bootdisk-0.1.2.4-1.el7.noarch
* rubygem-hammer_cli_foreman_tasks-0.0.3.1-1.el7.noarch
* rubygem-hammer_cli_gutterball-0.0.1.1-1.el7sat.noarch
* rubygem-hammer_cli_import-0.10.6-1.el7sat.noarch
* rubygem-hammer_cli_katello-0.0.7.1-1.el7sat.noarch

How reproducible:


Steps to Reproduce:
1. Install latest code
2. Select your user account and subscribe to all Mail Preferences options
3. Synchronize real Red Hat content, something that would trigger the email notifications (perhaps something with errata?)

Actual results:

The sync process will fail (see attached screenshot)


Expected results:


Additional info:

Comment 1 Og Maciel 2015-01-30 22:08:47 UTC
Created attachment 986302 [details]
Sync process error

/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0/app/lib/actions/katello/repository/errata_mail.rb:24:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/action.rb:443:in `block (3 levels) in execute_run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/middleware/stack.rb:26:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/action/progress.rb:30:in `with_progress_calculation'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/action/progress.rb:16:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/middleware/stack.rb:26:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/middleware.rb:16:in `pass'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0/app/lib/actions/middleware/keep_locale.rb:23:in `block in run'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0/app/lib/actions/middleware/keep_locale.rb:34:in `with_locale'
/opt/rh/ruby193/root/usr/share/gems/gems/katello-2.2.0/app/lib/actions/middleware/keep_locale.rb:23:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/middleware/stack.rb:22:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/middleware/world.rb:30:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/action.rb:442:in `block (2 levels) in execute_run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/action.rb:441:in `catch'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/action.rb:441:in `block in execute_run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/action.rb:365:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/action.rb:365:in `block in with_error_handling'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/action.rb:365:in `catch'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/action.rb:365:in `with_error_handling'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/action.rb:436:in `execute_run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/action.rb:230:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:9:in `block (2 levels) in execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/execution_plan/steps/abstract.rb:152:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/execution_plan/steps/abstract.rb:152:in `with_meta_calculation'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:8:in `block in execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:22:in `open_action'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/execution_plan/steps/abstract_flow_step.rb:7:in `execute'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/executors/parallel/worker.rb:20:in `block in on_message'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:859:in `block in assigns'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:858:in `tap'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:858:in `assigns'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:138:in `match_value'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:116:in `block in match'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:115:in `each'
/opt/rh/ruby193/root/usr/share/gems/gems/algebrick-0.4.0/lib/algebrick.rb:115:in `match'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/executors/parallel/worker.rb:17:in `on_message'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/micro_actor.rb:82:in `on_envelope'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/micro_actor.rb:72:in `receive'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/micro_actor.rb:99:in `block (2 levels) in run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/micro_actor.rb:99:in `loop'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/micro_actor.rb:99:in `block in run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/micro_actor.rb:99:in `catch'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/micro_actor.rb:99:in `run'
/opt/rh/ruby193/root/usr/share/gems/gems/dynflow-0.7.3/lib/dynflow/micro_actor.rb:13:in `block in initialize'
/opt/rh/ruby193/root/usr/share/gems/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `call'
/opt/rh/ruby193/root/usr/share/gems/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'

Comment 2 Og Maciel 2015-01-30 22:09:34 UTC
Created attachment 986303 [details]
Mail Preference

Comment 5 Stephen Benjamin 2015-01-30 22:45:23 UTC
The specific error your seeing here was caused by my incomplete branding change for Satellite, however I take the point to make config of email easier.

Comment 7 Stephen Benjamin 2015-01-30 22:47:50 UTC
Branding issue being addressed in BZ1161809.  Leaving this one for addressing installability.

Comment 8 jaudet 2015-02-04 20:35:20 UTC
+1 to fixing this. I encountered this bug while attempting to sync several repositories and make that content available to hosts via a content view. Unfortunately, both the act of syncing content and the act of publishing a content view failed due to this bug. Even after disabling email alerts, I am unable to publish brand new content views.

Comment 9 Elyézer Rezende 2015-02-04 21:15:13 UTC
Syncing docker repositories also fails with the exception:

NoMethodError: undefined method `deliver' for nil:NilClass


With that said, this bug is affecting docker repositories synchronization too.

Comment 12 Og Maciel 2015-03-06 18:37:33 UTC
Verified on Satellite-6.1.0-RHEL-6-20150303.0

Comment 13 Bryan Kearney 2015-08-11 13:28:05 UTC
This bug is slated to be released with Satellite 6.1.

Comment 14 errata-xmlrpc 2015-08-12 05:23:19 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, 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-2015:1592