Merge pull request #40430 from twangboy/fix_virtual

Fix logic for __virtual__ in win_dsc and win_psget
This commit is contained in:
Mike Place 2017-03-30 16:06:15 -06:00 committed by GitHub
commit 5c78d55eab
2 changed files with 20 additions and 14 deletions

View file

@ -11,7 +11,6 @@ from __future__ import absolute_import, unicode_literals
import logging
import json
import os
import distutils.version
# Import salt libs
import salt.utils
@ -30,16 +29,19 @@ def __virtual__():
'''
# Verify Windows
if not salt.utils.is_windows():
log.debug('Module DSC: Only available on Windows systems')
return False, 'Module DSC: Only available on Windows systems'
# Verify PowerShell 5.0
# Verify PowerShell
powershell_info = __salt__['cmd.shell_info']('powershell')
if not powershell_info['installed']:
return False, 'Module DSC: Powershell not available'
log.debug('Module DSC: Requires PowerShell')
return False, 'Module DSC: Requires PowerShell'
if distutils.version.StrictVersion(powershell_info['version']) < \
distutils.version.StrictVersion('5.0'):
return False, 'Module DSC: Requires Powershell 5 or later'
# Verify PowerShell 5.0 or greater
if salt.utils.compare_versions(powershell_info['version'], '<', '5.0'):
log.debug('Module DSC: Requires PowerShell 5 or later')
return False, 'Module DSC: Requires PowerShell 5 or later'
return __virtualname__

View file

@ -14,7 +14,6 @@ from __future__ import absolute_import, unicode_literals
import copy
import logging
import json
import distutils.version
# Import salt libs
import salt.utils
@ -31,16 +30,21 @@ def __virtual__():
'''
Set the system module of the kernel is Windows
'''
# Verify Windows
if not salt.utils.is_windows():
return False, 'Module PSGet: Module only works on Windows systems'
log.debug('Module PSGet: Only available on Windows systems')
return False, 'Module PSGet: Only available on Windows systems'
# Verify PowerShell 5.0
# Verify PowerShell
powershell_info = __salt__['cmd.shell_info']('powershell')
if not powershell_info['installed'] or \
distutils.version.StrictVersion(
powershell_info['version']) >= distutils.version.StrictVersion('5.0'):
return False, 'Module DSC: Module only works with PowerShell 5 or ' \
'newer.'
if not powershell_info['installed']:
log.debug('Module PSGet: Requires PowerShell')
return False, 'Module PSGet: Requires PowerShell'
# Verify PowerShell 5.0 or greater
if salt.utils.compare_versions(powershell_info['version'], '<', '5.0'):
log.debug('Module PSGet: Requires PowerShell 5 or newer')
return False, 'Module PSGet: Requires PowerShell 5 or newer.'
return __virtualname__