Ok, i may have my answer . https://github.com/ansible/ansible/issues/51604 ==== o, the WinRM connection protocol is set to use PowerShell modules, so Python modules will not work. A way to bypass this issue to use delegate_to: localhost to run a Python module on the Ansible controller. This is useful if during a playbook, an external service needs to be contacted and there is no equivalent Windows module available. =======
On Friday, March 8, 2019 at 12:08:05 PM UTC-5, Mehedi Hashir wrote: > > The playbook is below. It connects to a windows host and run the installs > using Chocolatey successfully. > Installing npm packages fail in this playbook. The playbook & error is > shown at the end of the post . > Any suggestions. > Thanks > > Mehedi > ---Playbook--- > - hosts: webservers > tasks: > - name: openssl install via Chocolatey > win_chocolatey: > name: openssl.light > status: present > - name: nodejs install via Chocolatey > win_chocolatey: > name: nodejs > status: present > version: 8.14.1 > - name: Install edgemicro node.js package globally > npm: > name: edgemicro > global: yes > version: 2.5.7 > state: present > ---Playbook--- > Here is the error on using the npm module to install packages globally. > fatal: [localhost]: FAILED! => > {"changed": false, "module_stderr": "Exception calling "Create" with "1" > argument(s): "At line:4 char:21 def _ansiballz_main(): > An expression was expected after '('At line:12 char:27 except > (AttributeError, OSError): > Missing argument in parameter listAt line:14 char:7 if scriptdir is > not None: > Missing '(' after 'if' in if statementAt line:21 char:7 if > sys.version_info < (3,): > Missing '(' after 'if' in if statementAt line:21 char:30 if > sys.version_info < (3,): > Missing expression after ','At line:21 char:25 if sys.version_info < > (3,): > The '<' operator is reserved for future useAt line:23 char:32 > MOD_DESC = ('.py', 'U', imp.PY_SOURCE) > Missing expression after ','At line:23 char:33 > MOD_DESC = ('.py', 'U', imp.PY_SOURCE) > ~~~~~~~~~~~~Unexpected token 'imp.PY_SOURCE' in expression or statementAt > line:23 char:32 > MOD_DESC = ('.py', 'U', imp.PY_SOURCE) > Missing closing ')' in expressionAt line:23 char:46 > MOD_DESC = ('.py', 'U', imp.PY_SOURCE) > > Unexpected token ')' in expression or statement > Not all parse errors were reported. Correct the reported errors and try > again."rn > At line:6 char:1 $exec_wrapper = [ScriptBlock]::Create($split_parts[0]) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > + CategoryInfo : NotSpecified: (:) [], > MethodInvocationExceptionrn > + FullyQualifiedErrorId : ParseExceptionrn rn > The expression after '&' in a pipeline element produced an object that was > not valid. It must result in a command rn > name, a script block, or a CommandInfo objectAt line:7 char:2 > &$exec_wrapper ~~~~~~~~~~~~ > + CategoryInfo : InvalidOperation: (:) [], RuntimeExceptionrn > + FullyQualifiedErrorId : BadExpressionrn > ", "module_stdout": "", "msg": "MODULE FAILUREnSee stdout/stderr for the > exact error", "rc": 1} > > -- You received this message because you are subscribed to the Google Groups "Ansible Development" group. To unsubscribe from this group and stop receiving emails from it, send an email to ansible-devel+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.