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
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.
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]#
*** Bug 1573654 has been marked as a duplicate of this bug. ***