Skip to content

Commit

Permalink
Merge pull request #25451 from s0undt3ch/2015.8
Browse files Browse the repository at this point in the history
Salt-SSH Scan roster bugfixes (And Py3 support)
  • Loading branch information
Mike Place committed Jul 15, 2015
2 parents 279d0f1 + 8e8c1af commit 7d4aee7
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
6 changes: 6 additions & 0 deletions salt/_compat.py
Original file line number Diff line number Diff line change
Expand Up @@ -169,3 +169,9 @@ def check_output(*popenargs, **kwargs):
raise subprocess.CalledProcessError(retcode, cmd, output=output)
return output
subprocess.check_output = check_output


if PY3:
import ipaddress
else:
import salt.ext.ipaddress as ipaddress
12 changes: 10 additions & 2 deletions salt/roster/scan.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,17 @@
# Import python libs
from __future__ import absolute_import
import socket
import logging

# Import salt libs
import salt.utils.network
import salt.ext.ipaddress as ipaddress
from salt._compat import ipaddress

# Import 3rd-party libs
from salt.ext.six.moves import map # pylint: disable=import-error,redefined-builtin

log = logging.getLogger(__name__)


def targets(tgt, tgt_type='glob', **kwargs):
'''
Expand Down Expand Up @@ -49,11 +54,14 @@ def targets(self):
except ValueError:
pass
for addr in addrs:
addr = str(addr)
log.trace('Scanning host: {0}'.format(addr))
for port in ports:
log.trace('Scanning port: {0}'.format(port))
try:
sock = salt.utils.network.get_socket(addr, socket.SOCK_STREAM)
sock.settimeout(float(__opts__['ssh_scan_timeout']))
sock.connect((str(addr), port))
sock.connect((addr, port))
sock.shutdown(socket.SHUT_RDWR)
sock.close()
ret[addr] = {'host': addr, 'port': port}
Expand Down

0 comments on commit 7d4aee7

Please sign in to comment.