Bug 1435141 - NoMethodError Nil actioncable / pubsub_adapter
Summary: NoMethodError Nil actioncable / pubsub_adapter
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: Appliance
Version: 5.7.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: GA
: 5.8.0
Assignee: Nick Carboni
QA Contact: luke couzens
URL:
Whiteboard: black:upgrade:migration
: 1435052 (view as bug list)
Depends On:
Blocks: 1443563
TreeView+ depends on / blocked
 
Reported: 2017-03-23 09:15 UTC by Gellert Kis
Modified: 2020-07-16 09:20 UTC (History)
10 users (show)

Fixed In Version: 5.8.0.12
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1443563 (view as bug list)
Environment:
Last Closed: 2017-05-31 14:43:39 UTC
Category: ---
Cloudforms Team: ---
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2017:1367 normal SHIPPED_LIVE Moderate: CFME 5.8.0 security, bug, and enhancement update 2017-05-31 18:16:03 UTC

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. ***


Note You need to log in before you can comment on or make changes to this bug.