Bugzilla (bugzilla.redhat.com) will be under maintenance for infrastructure upgrades and will not be available on July 31st between 12:30 AM - 05:30 AM UTC. We appreciate your understanding and patience. You can follow status.redhat.com for details.
Bug 1566488 - CFME can not be installed in Openshift as /etc/container-environment doesn't exist in the cfme-openshift-httpd image
Summary: CFME can not be installed in Openshift as /etc/container-environment doesn't ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat CloudForms Management Engine
Classification: Red Hat
Component: cfme-openshift-httpd
Version: 5.9.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: GA
: 5.9.2
Assignee: abellott
QA Contact: juwatts
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-04-12 12:20 UTC by Alexis Solanas
Modified: 2021-06-10 15:47 UTC (History)
9 users (show)

Fixed In Version: 5.9.2.3
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-05-09 13:50:58 UTC
Category: ---
Cloudforms Team: CFME Core
Target Upstream Version:
abellott: needinfo-


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:1329 0 normal SHIPPED_LIVE CloudForms 4.6.2 images for OpenShift bug fix and enhancement update 2018-05-08 01:51:48 UTC

Description Alexis Solanas 2018-04-12 12:20:18 UTC
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 14:11:28 UTC
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 14:18:04 UTC
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 14:12:14 UTC
*** 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.