Bug 1495493

Summary: Ovirt Host deploy Ansible error: shell set to nologin
Product: [oVirt] otopi Reporter: John Boero <boeroboy>
Component: GeneralAssignee: Yedidyah Bar David <didi>
Status: CLOSED INSUFFICIENT_DATA QA Contact: Pavel Stehlik <pstehlik>
Severity: medium Docs Contact:
Priority: unspecified    
Version: masterCC: boeroboy, bugs, mperina, omachace, oourfali
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-10-13 11:56:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Rel-Eng RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description John Boero 2017-09-26 07:59:45 UTC
Description of problem:
I've been playing with master snapshot (currently 4.2.0) and loving it, but during host install, I get an unhelpful error which includes usage on nologin:

$  cat /var/log/ovirt-engine/host-deploy/ovirt-host-deploy-ansible-20170926083910-{hostname}-a31e9254-a962-483a-aa8f-5336389ff903.log

PLAY [all] *********************************************************************

TASK [Gathering Facts] *********************************************************
fatal: [{hostname}]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh: /sbin/nologin: invalid option -- 'c'\n\nUsage:\n nologin [options]\n\nPolitely refuse a login.\n\nOptions:\n -h, --help     display this help and exit\n -V, --version  output version information and exit\n\nFor more details see nologin(8).\nssh_exchange_identification: Connection closed by remote host\r\n", "unreachable": true}

PLAY RECAP *********************************************************************
{hostname}    : ok=0    changed=0    unreachable=1    failed=0 




It's unclear from the error which user it's even attempting to run this with and why it should clearly not have a shell of /sbin/nologin.  The errors could be a more helpful and it would be nice to actually view the log within engine instead of having to hunt down log files as referenced in Events.

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


How reproducible:
Always

Steps to Reproduce:
From ovirt-engine, do a host install or reinstall.

Actual results:
Host install fails after starting "Ansible host-deploy playbook.." with a log path.

Expected results:
Host should install and whatever user shell is set to /sbin/nologin clearly should be unlocked and set to a valid shell.


Additional info:
It's shaping up really nice guys, keep up the good work.  Just wish the errors could be a little more descriptive.

Comment 1 Yedidyah Bar David 2017-09-26 08:04:27 UTC
Martin, can you please have a look and take over? Thanks.

Comment 2 John Boero 2017-09-26 08:51:41 UTC
Note that I've had success with the ultra-reckless workaround of replacing /sbin/nologin with a symlink to /bin/sh which I immediately reverted.  Anyway it gets the job done even if it's ugly as heck.

Comment 3 Ondra Machacek 2017-09-29 11:19:41 UTC
I guess in your ansible.cfg you use in section [defaults] executable = /sbin/nologin, why don't you have there a '/bin/sh' any reason for that?

Comment 4 Sandro Bonazzola 2017-10-13 11:56:16 UTC
No reply to needinfo request in 2 weeks, closing due to insufficient data.
Please reopen if you provide requested information.

Comment 5 John Boero 2017-10-19 10:27:46 UTC
Sorry was I supposed to answer that?  I'm not a dev and didn't touch anything in the ansible.cfg.  If there's a wrong parameter in that file that came from the existing packaging then shouldn't it be fixed in the packaging?