Bug 1435141

Summary: NoMethodError Nil actioncable / pubsub_adapter
Product: Red Hat CloudForms Management Engine Reporter: Gellert Kis <gekis>
Component: ApplianceAssignee: Nick Carboni <ncarboni>
Status: CLOSED ERRATA QA Contact: luke couzens <lcouzens>
Severity: high Docs Contact:
Priority: high    
Version: 5.7.0CC: abellott, cpelland, dajo, jhardy, ncarboni, obarenbo, rspagnol, simaishi, slukasik, tachoi
Target Milestone: GAKeywords: ZStream
Target Release: 5.8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: black:upgrade:migration
Fixed In Version: 5.8.0.12 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1443563 (view as bug list) Environment:
Last Closed: 2017-05-31 14:43:39 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: 1443563    

Comment 6 Gregg Tanzillo 2017-03-23 21:44:12 UTC
The error referenced in the BZ description is due to a missing config file for ActionCable. However, it is not the cause of the Ui worker becoming unavailable but is should be addressed by copying config/cable.yml.sample to config/cable.yml under /var/www/miq.

For the issue of the UI becoming unavailable we have determined from the logs that the single UI worker is using up all of its puma threads (there are 5 by default) servicing long running http requests. When this happens, Apache's built in load balancer considers EVM to be unresponsive it marks it as unavailable. Since there are no additional UI workers available, Apache can no longer forward requests to EVM.

To address this, a second UI worker should be added to this appliance.

Comment 8 Šimon Lukašík 2017-03-24 15:00:16 UTC
Analysis
--------

Developers use `bin/update` or `bin/setup` to get cable.yml that includes

    ManageIQ::Environment.ensure_config_files

which does the thing. I am afraid we don't run `bin/update` during upgrade process.

The ensure_config_files brings in the certs/v2_key, config/cable.yml and config/database.yml

We have different means to bring the cert and db.yml in so nobody noticed we need extra productization steps for cable.yml.

Currently, the config files are not owned by any rpm. In an old-school ideal world, all these files would be owned by RPM and marked as configuration files. That way, they are not changed by update, but system knows that they are owned by the application.

Comment 9 Nick Carboni 2017-04-18 17:28:52 UTC
This looks like it would be a 5.6 -> 5.7 upgrade issue. I'll look into it.

Comment 11 Nick Carboni 2017-04-18 18:04:31 UTC
This is an issue when upgrading to 5.7 and also 5.8

Adding the backport flags.

Comment 12 Nick Carboni 2017-04-18 18:06:44 UTC
To test this you need to upgrade an appliance from 5.6 up through 5.7 and 5.8.

5.7 and 5.8 deploys will have the file there on first boot because it is copied in the kickstart, but upgraded installations will have this issue.

Comment 14 luke couzens 2017-05-24 20:47:01 UTC
Verified in 5.8.0.16

Comment 16 errata-xmlrpc 2017-05-31 14:43:39 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-2017:1367

Comment 17 Dan Clarizio 2017-06-08 13:54:51 UTC
*** Bug 1435052 has been marked as a duplicate of this bug. ***