Issue 1:
Currently when creating symlink using file command I get:

msg: src file does not exist

There are rare instances where it is desirable to have ability to create such symlinks, so I'd like to see at least a flag to disable this check.

Issue 2:
ISSUE TYPE

Bug Report

COMPONENT NAME

ansible-playbook

ANSIBLE VERSION

2.4.2

ERROR! Unexpected Exception, this is probably a bug: unsupported operand type(s) for %: 'bytes' and 'bytes'
the full traceback was:

Traceback (most recent call last):
File "/home/grey/py2_env/bin/ansible", line 85, in <module>
mycli = getattr(__import__("ansible.cli.%s" % sub, fromlist=[myclass]), myclass)
File "/home/grey/py2_env/lib/python2.7/site-packages/ansible/cli/__init__.py", line 38, in <module>
from ansible.inventory.manager import InventoryManager
File "/home/grey/py2_env/lib/python2.7/site-packages/ansible/inventory/manager.py", line 44, in <module>
IGNORED_EXTS = [b'%s$' % to_bytes(re.escape(x)) for x in C.INVENTORY_IGNORE_EXTS]
File "/home/grey/py2_env/lib/python2.7/site-packages/ansible/inventory/manager.py", line 44, in <listcomp>
IGNORED_EXTS = [b'%s$' % to_bytes(re.escape(x)) for x in C.INVENTORY_IGNORE_EXTS]
TypeError: unsupported operand type(s) for %: 'bytes' and 'bytes'

CONFIGURATION

as in version

OS / ENVIRONMENT

CentOS 7.4, Ubuntu 16.04, Gentoo

SUMMARY

On any command

ERROR! Unexpected Exception, this is probably a bug: unsupported operand type(s) for %: 'bytes' and 'bytes'
the full traceback was:

Traceback (most recent call last):
File "/home/grey/py2_env/bin/ansible-config", line 85, in <module>
mycli = getattr(__import__("ansible.cli.%s" % sub, fromlist=[myclass]), myclass)
File "/home/grey/py2_env/lib/python2.7/site-packages/ansible/cli/__init__.py", line 38, in <module>
from ansible.inventory.manager import InventoryManager
File "/home/grey/py2_env/lib/python2.7/site-packages/ansible/inventory/manager.py", line 44, in <module>
IGNORED_EXTS = [b'%s$' % to_bytes(re.escape(x)) for x in C.INVENTORY_IGNORE_EXTS]
File "/home/grey/py2_env/lib/python2.7/site-packages/ansible/inventory/manager.py", line 44, in <listcomp>
IGNORED_EXTS = [b'%s$' % to_bytes(re.escape(x)) for x in C.INVENTORY_IGNORE_EXTS]
TypeError: unsupported operand type(s) for %: 'bytes' and 'bytes'

STEPS TO REPRODUCE

# virtualenv -p python2 ~/py2_env
# ~/py2_env/bin/pip install ansible
# ~/py2_env/bin/ansible --version

EXPECTED RESULTS

ERROR! Unexpected Exception, this is probably a bug: unsupported operand type(s) for %: 'bytes' and 'bytes'
the full traceback was:

Traceback (most recent call last):
File "/home/grey/py2_env/bin/ansible", line 85, in <module>
mycli = getattr(__import__("ansible.cli.%s" % sub, fromlist=[myclass]), myclass)
File "/home/grey/py2_env/lib/python2.7/site-packages/ansible/cli/__init__.py", line 38, in <module>
from ansible.inventory.manager import InventoryManager
File "/home/grey/py2_env/lib/python2.7/site-packages/ansible/inventory/manager.py", line 44, in <module>
IGNORED_EXTS = [b'%s$' % to_bytes(re.escape(x)) for x in C.INVENTORY_IGNORE_EXTS]
File "/home/grey/py2_env/lib/python2.7/site-packages/ansible/inventory/manager.py", line 44, in <listcomp>
IGNORED_EXTS = [b'%s$' % to_bytes(re.escape(x)) for x in C.INVENTORY_IGNORE_EXTS]
TypeError: unsupported operand type(s) for %: 'bytes' and 'bytes'