Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1566488 - CFME can not be installed in Openshift as /etc/container-environment doesn't exist in the cfme-openshift-httpd image
CFME can not be installed in Openshift as /etc/container-environment doesn't ...
Status: CLOSED ERRATA
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: cfme-openshift-httpd (Show other bugs)
5.9.0
Unspecified Unspecified
high Severity high
: GA
: 5.9.2
Assigned To: abellott
juwatts
: ZStream
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2018-04-12 08:20 EDT by Alexis Solanas
Modified: 2018-10-09 14:28 EDT (History)
9 users (show)

See Also:
Fixed In Version: 5.9.2.3
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2018-05-09 09:50:58 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: CFME Core
abellott: needinfo-


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:1329 normal SHIPPED_LIVE CloudForms 4.6.2 images for OpenShift bug fix and enhancement update 2018-05-07 21:51:48 EDT

  None (edit)
Description Alexis Solanas 2018-04-12 08:20:18 EDT
Description of problem:

 Cloudforms installation on Openshift can not be completed.
 The Cloudforms http pod fails to start because the /etc/systemd/system/httpd.service.d/environment.conf system unit doesn't meet "ConditionPathExists" in the cloudforms46/cfme-openshift-httpd container image


 # /usr/lib/systemd/system/httpd.service                                                                                                                                                                              
[Unit]                                               
Description=The Apache HTTP Server                   
After=network.target remote-fs.target nss-lookup.target                                                   
Documentation=man:httpd(8)                           
Documentation=man:apachectl(8)                                                                            
                                                                                                          
[Service]                                                                                                 
Type=notify                                                                                               
EnvironmentFile=/etc/sysconfig/httpd                                                                      
ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND                                                           
ExecReload=/usr/sbin/httpd $OPTIONS -k graceful      
ExecStop=/bin/kill -WINCH ${MAINPID}
# We want systemd to give httpd some time to finish gracefully, but still want
# it to kill httpd after TimeoutStopSec if something went wrong during the
# graceful stop. Normally, Systemd sends SIGTERM signal right after the
# ExecStop, which would kill httpd. We are sending useless SIGCONT here to give
# httpd time to finish.
KillSignal=SIGCONT
PrivateTmp=true

[Install]
WantedBy=multi-user.target

# /etc/systemd/system/httpd.service.d/environment.conf
[Unit]
After=initialize-httpd-auth.service
ConditionPathExists=/etc/container-environment   <------ this file doesn't exist
[Service]
EnvironmentFile=/etc/container-environment



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

 Openshift 3.9
 CFME 5.9


How reproducible:

 Always

Steps to Reproduce:

1. Install OpenShift cluster
2. Follow steps in the Cloudforms installation guide: https://access.redhat.com/documentation/en-us/red_hat_cloudforms/4.6/html-single/installing_red_hat_cloudforms_on_openshift_container_platform/index


Actual results:

 httpd-1-deploy pod fails as the httpd-1 is never ready
 Cloudforms is not installed/operational


Expected results:

 httpd service is started correctly in the httpd pod


Additional info:

 Issue regarding the "ConditionPathExists" is mentioned here: https://github.com/ManageIQ/container-httpd/issues/18
Comment 4 abellott 2018-04-17 10:11:28 EDT
This will be fixed with https://github.com/ManageIQ/container-httpd/pull/34
initialize-httpd-auth is the dependent service for httpd, and it now properly waits for the container-environment file to present before proceeding, thus guaranteeing httpd service startup.

Tested on OpenShift 3.9 as well as 3.6 including auth config maps enabling external authentication in the httpd pod.
Comment 7 juwatts 2018-04-27 10:18:04 EDT
Successfully installed podified CFME 5.9.2.3 on OpenShift 3.7. 

[root@env-ocp-master-v2 5_9_2_3]# oc get pod
NAME                 READY     STATUS    RESTARTS   AGE
cloudforms-0         1/1       Running   0          7m
httpd-1-scpwc        1/1       Running   0          7m
memcached-1-8mtmc    1/1       Running   0          7m
postgresql-1-s8thr   1/1       Running   0          7m
[root@env-ocp-master-v2 5_9_2_3]#
Comment 10 Yuri Rudman 2018-05-10 10:12:14 EDT
*** Bug 1573654 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.