Bug 1378337

Summary: [RHEL73] checking service presence on containerized install didn't work well on RHEL-7.3
Product: OpenShift Container Platform Reporter: Gaoyun Pei <gpei>
Component: InstallerAssignee: Scott Dodson <sdodson>
Status: CLOSED ERRATA QA Contact: Johnny Liu <jialiu>
Severity: high Docs Contact:
Priority: high    
Version: 3.3.0CC: aos-bugs, ghuang, jneedle, jokerman, mmccomas
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openshift-ansible-3.3.27-1.git.0.ef0aac6.el7 Doc Type: Bug Fix
Doc Text:
Previously, the installer would check for service presence by looking for "LoadState=not-found" in the output of `systemctl show` however systemd updates in RHEL 7.3 now return an error rather than output. The installer has been updated to accommodate this behavior change ensuring that installations on RHEL 7.3 work properly.
Story Points: ---
Clone Of:
: 1378755 1379704 (view as bug list) Environment:
Last Closed: 2016-10-03 14:52:50 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: 1375561, 1378755, 1379704    

Description Gaoyun Pei 2016-09-22 07:59:33 UTC
Description of problem:
When running a containerized ocp installation on RHEL-7.3, installer failed at
TASK [etcd : Check for etcd service presence] **********************************
Thursday 22 September 2016  03:10:34 +0000 (0:00:02.139)       0:08:27.900 **** 
fatal: [x.com]: FAILED! => {"changed": false, "cmd": ["systemctl", "show", "etcd.service"], "delta": "0:00:00.015749", "end": "2016-09-21 23:10:36.704930", "failed": true, "rc": 1, "start": "2016-09-21 23:10:36.689181", "stderr": "Unit etcd.service could not be found.", "stdout": "", "stdout_lines": [], "warnings": []}

On a clean RHEL-7.3, run "systemctl show etcd.service"
[root@gpei-test-2 ~]# systemctl show etcd.service
Unit etcd.service could not be found.
[root@gpei-test-2 ~]# echo $?
1
[root@gpei-test-2 yum.repos.d]# rpm -qf /usr/bin/systemctl
systemd-219-30.el7.x86_64


On a clean RHEL-7.2, run "systemctl show etcd.service"
[root@gpei-test ~]# systemctl show etcd.service
Restart=no
...
Names=etcd.service
Description=etcd.service
LoadState=not-found
...
LoadError=org.freedesktop.DBus.Error.FileNotFound "No such file or directory"
Transient=no
[root@gpei-test ~]# echo $?
0
[root@gpei-test ~]# rpm -qf /usr/bin/systemctl
systemd-219-19.el7_2.13.x86_64


Version-Release number of selected component (if applicable):
openshift-ansible-3.3.22-1.git.0.6c888c2.el7.noarch.rpm
systemd-219-30.el7.x86_64


How reproducible:
Always

Steps to Reproduce:
1. Run a containerized installation with standalone etcd host
2.
3.

Actual results:

Expected results:
Should no such error during installation

Additional info:

Comment 1 Gaoyun Pei 2016-09-22 09:14:41 UTC
Checked on openshift-ansible code, found there's another such case in https://github.com/openshift/openshift-ansible/blob/master/roles/openshift_master/tasks/main.yml#L178

For a containerized ha-master installation, ansible would only create the ha systemd unit files: atomic-openshift-master-api.service and atomic-openshift-master-controllers.service, so it would also fail when run "systemctl show atomic-openshift-master.service".

Comment 2 Scott Dodson 2016-09-27 01:43:42 UTC
https://github.com/openshift/openshift-ansible/pull/2503 fix backported from master

Comment 4 Gaoyun Pei 2016-09-27 05:26:56 UTC
Verify this bug with openshift-ansible-3.3.27-1.git.0.ef0aac6.el7.noarch.rpm

Containerized ha master + ha etcd ose-3.3 env could be installed on RHEL-7.3

Comment 6 errata-xmlrpc 2016-10-03 14:52:50 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/RHBA-2016:1983