I changed it to run win_get_url to download the package so I could rename
the file (using 'dest').
And then, I hit a nice System.OutOfMemoryException. This server isn't that
beefy and it's wanting to run updates, so it could be that... but I'm going
to try to grab the remote files anyway.
I wasn't running -vvvv, here's what I saw:
failed: [clone] => {"failed": true, "parsed": false}
invalid output was: Exception of type 'System.OutOfMemoryException' was
thrown.
At
C:\Users\dummy\AppData\Local\Temp\ansible-tmp-1409241114.17-71859971213315
\win_package.ps1:1395 char:5
+ if ($testdscresult -eq $true)
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (:) [], OutOfMemoryException
+ FullyQualifiedErrorId : System.OutOfMemoryException
FATAL: all hosts have already failed -- aborting
____________
< PLAY RECAP >
------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
to retry, use: --limit @/home/damon/slaves-svn-package.retry
clone : ok=2 changed=1 unreachable=0 failed=1
On Thursday, August 28, 2014 10:44:52 AM UTC-5, Damon Overboe wrote:
>
> OK I'm testing it out.
>
> First, I love that you can pass arguments. I have been automating the
> Jenkins clients; I'm adding a specific version of SVN, and with the win_msi
> installer, I couldn't figure out how to pass arguments to it so it would
> install the Command Line Interface.
>
> With the win_package, that is super easy, so I was happy to see that!
>
>
> But I ran into my first situation; if you give it a URL and the download
> file doesn't include the extension, it will fail to install. Test out this
> url:
>
>
> http://sourceforge.net/projects/tortoisesvn/files/1.7.15/Application/TortoiseSVN-1.7.15.25753-x64-svn-1.7.18.msi/download
>
> Running a plain wget, `wget
> http://sourceforge.net/projects/tortoisesvn/files/1.7.15/Application/TortoiseSVN-1.7.15.25753-x64-svn-1.7.18.msi/download`
>
> <http://sourceforge.net/projects/tortoisesvn/files/1.7.15/Application/TortoiseSVN-1.7.15.25753-x64-svn-1.7.18.msi/download>
>
> will download the installer as "download" so I'm assuming the scripts are
> doing the same.
>
> So, it probably needs an option to specify the output file, much like you
> would with `wget -o` or `wget --output-file`.
>
>
>
>
>
>
>
> On Tuesday, August 26, 2014 6:25:56 PM UTC-5, Damon Overboe wrote:
>>
>> Awesome I'll give that as shot.
>>
>> The biggest thing I wanted to know was how to catch the output so I can
>> at least try to debug it or ask for help, so that'll be huge.
>>
>> I'm off for the night tonight but I'll be testing out win_package
>> tomorrow for sure. I'll let you know how it goes.
>>
>> On Tuesday, August 26, 2014 5:53:24 PM UTC-5, Trond Hindenes wrote:
>>>
>>> Nice,
>>> So, Chris just tipped me about this ansible.cfg setting:
>>> [defaults]
>>> keep_remote_files = 1
>>>
>>> Stick that in your /ansible/etc/ansible.cfg and re-run your playbook
>>> with -vvv
>>>
>>> All those temp paths Ansible uses for powershell files will now be left
>>> on your windows system. Each folder basically has a script file (the
>>> module) and an arguments file. That should do wonders for debugging windows
>>> modules (it would still require some PowerShell proficiency tho)
>>>
>>>
>>>
>>>
>>> On Wednesday, August 27, 2014 12:48:36 AM UTC+2, Damon Overboe wrote:
>>>
>>>> There it is, finally!!!
>>>>
>>>> This is still using the win_msi, I'll switch to the win_package now.
>>>>
>>>> I'm not sure why but I just wasn't going to be happy until I broke it.
>>>>
>>>>
>>>>
>>>> changed: [node1.domain.com]
>>>> Traceback (most recent call last):
>>>> File
>>>> "/home/damon/src/ansible/lib/ansible/runner/connection_plugins/winrm.py"
>>>> , line 149, in exec_command
>>>> result = self._winrm_exec(cmd_parts[0], cmd_parts[1:], from_exec=
>>>> True)
>>>> File
>>>> "/home/damon/src/ansible/lib/ansible/runner/connection_plugins/winrm.py"
>>>> , line 118, in _winrm_exec
>>>> response = Response(self.protocol.get_command_output(self.shell_id,
>>>> command_id))
>>>> File "/usr/local/lib/python2.7/dist-packages/winrm/protocol.py",
>>>> line 277, in get_command_output
>>>> self._raw_get_command_output(shell_id, command_id)
>>>> File "/usr/local/lib/python2.7/dist-packages/winrm/protocol.py",
>>>> line 293, in _raw_get_command_output
>>>> rs = self.send_message(xmltodict.unparse(rq))
>>>> File "/usr/local/lib/python2.7/dist-packages/winrm/protocol.py",
>>>> line 173, in send_message
>>>> return self.transport.send_message(message)
>>>> File "/usr/local/lib/python2.7/dist-packages/winrm/transport.py",
>>>> line 90, in send_message
>>>> raise WinRMTransportError(error_message)
>>>> WinRMTransportError: Bad HTTP response returned from server. Code 500
>>>> fatal: [node3.domain.com] => failed to exec cmd PowerShell -NoProfile -
>>>> NonInteractive -EncodedCommand
>>>> KABOAGUAdwAtAEkAdABlAG0AIAAtAFQAeQBwAGUAIABEAGkAcgBlAGMAdABvAHIAeQAgAC0AUABhAHQAaAAgACQAZQBuAHYAOgB0AGUAbQBwACAALQBOAGEAbQBlACAAIgBhAG4AcwBpAGIAbABlAC0AdABtAHAALQAxADQAMAA5ADAAOQAyADkAOAA2AC4ANgAtADIANwA2ADMAMAA3ADAAMAA2ADUAMgA0ADEAOAAiACkALgBGAHUAbABsAE4AYQBtAGUAIAB8ACAAVwByAGkAdABlAC0ASABvAHMAdAAgAC0AUwBlAHAAYQByAGEAdABvAHIAIAAnACcAOwA
>>>> =
>>>> _________________________________
>>>> < TASK: ensure svn is version 1.7 >
>>>> ---------------------------------
>>>> \ ^__^
>>>> \ (oo)\_______
>>>> (__)\ )\/\
>>>> ||----w |
>>>> || ||
>>>>
>>>>
>>>> failed: [node1.domain.com] => {"failed": true, "parsed": false}
>>>> invalid output was:
>>>> Process is terminated due to StackOverflowException.
>>>>
>>>>
>>>> FATAL: all hosts have already failed -- aborting
>>>> ____________
>>>> < PLAY RECAP >
>>>> ------------
>>>> \ ^__^
>>>> \ (oo)\_______
>>>> (__)\ )\/\
>>>> ||----w |
>>>> || ||
>>>>
>>>>
>>>> to retry, use: --limit @/home/damon/slaves-svn-cleanup.retry
>>>>
>>>> node1.domain.com : ok=1 changed=1 unreachable=0 failed=1
>>>> node3.domain.com : ok=0 changed=0 unreachable=1 failed=0
>>>>
>>>>
>>>>
>>>> On Tuesday, August 26, 2014 5:40:07 PM UTC-5, Trond Hindenes wrote:
>>>>>
>>>>> This thread is fine. I haven't submitted a PR for win_package just yet.
>>>>>
>>>>> On Wednesday, August 27, 2014 12:36:19 AM UTC+2, Damon Overboe wrote:
>>>>>>
>>>>>> That's exactly what I did to get your changes into the mainline, so
>>>>>> I'm doing that again.
>>>>>>
>>>>>> You want me to post feedback (if I have any) in this thread or on the
>>>>>> pull request?
>>>>>>
>>>>>> On Tuesday, August 26, 2014 5:25:46 PM UTC-5, Trond Hindenes wrote:
>>>>>>>
>>>>>>> Me too. I would just grab the file manually and stick it in your on
>>>>>>> fork for now:
>>>>>>>
>>>>>>> https://raw.githubusercontent.com/trondhindenes/ansible/win_setup_json_depth/lib/ansible/module_utils/powershell.ps1
>>>>>>>
>>>>>>> My repo has a branch for each change/PR i've submitted, so you're
>>>>>>> probably better off forking the original ansible code and just come up
>>>>>>> with
>>>>>>> your own way of managing the various changes you put in it. I guess I
>>>>>>> should try and rebase everything back into my devel branch, but it's
>>>>>>> that's
>>>>>>> not the case right now.
>>>>>>>
>>>>>>> On Wednesday, August 27, 2014 12:20:37 AM UTC+2, Damon Overboe wrote:
>>>>>>>
>>>>>>>> I'm still somewhat of a git noob;
>>>>>>>>
>>>>>>>> I've cloned your repo, but I'm not sure how to get the pull request
>>>>>>>> from 8759 into that clone...
>>>>>>>>
>>>>>>>> I'm guessing there's a command to merge, any pointers?
>>>>>>>>
>>>>>>>> On Tuesday, August 26, 2014 5:15:45 PM UTC-5, Trond Hindenes wrote:
>>>>>>>>>
>>>>>>>>> Here you go sir:
>>>>>>>>> https://github.com/trondhindenes/ansible/tree/win_package
>>>>>>>>>
>>>>>>>>> Note that I'm using the updated helper functions from the main
>>>>>>>>> powershell.ps1 script, so you'll need to grab that as well. You can
>>>>>>>>> grab if
>>>>>>>>> from this PR:
>>>>>>>>> https://github.com/ansible/ansible/pull/8759 (the powershell.ps1
>>>>>>>>> file goes in /lib/ansible/module_utils in your ansible directory
>>>>>>>>> structure)
>>>>>>>>>
>>>>>>>>> On Wednesday, August 27, 2014 12:07:09 AM UTC+2, Trond Hindenes
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Cool, I'm writing up a short doc and putting it on a branch in my
>>>>>>>>>> ansible fork right now. Will send you links and stuffs in a couple
>>>>>>>>>> of
>>>>>>>>>> minutes.
>>>>>>>>>>
>>>>>>>>>> On Wednesday, August 27, 2014 12:00:08 AM UTC+2, Damon Overboe
>>>>>>>>>> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Yah that'd be great. I'll happily test it out if you like.
>>>>>>>>>>>
>>>>>>>>>>> I'm only targeting Svr 12s, and just using it right now to set
>>>>>>>>>>> up new build agent nodes. I want to do a lot more with it but
>>>>>>>>>>> figured that
>>>>>>>>>>> would be a good place to start.
>>>>>>>>>>>
>>>>>>>>>>> On Tuesday, August 26, 2014 4:55:53 PM UTC-5, Trond Hindenes
>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> BTW, i have a brand spankin new win_package module coming up
>>>>>>>>>>>> which will handle not only msis but all kinds of installs, and
>>>>>>>>>>>> also
>>>>>>>>>>>> supports auto-downloading source files from a url so that you
>>>>>>>>>>>> don't need to
>>>>>>>>>>>> win_get_url first. I'm waiting for some improvements to the
>>>>>>>>>>>> powershell
>>>>>>>>>>>> helper scripts to be merged before i PR that module, but let me
>>>>>>>>>>>> know and
>>>>>>>>>>>> I'd be happy to share it with you.
>>>>>>>>>>>>
>>>>>>>>>>>> -Trond
>>>>>>>>>>>>
>>>>>>>>>>>> On Tuesday, August 26, 2014 11:50:29 PM UTC+2, Trond Hindenes
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Damon,
>>>>>>>>>>>>>
>>>>>>>>>>>>> That's weird,
>>>>>>>>>>>>> I tried your playbook on two 2012R2 hosts just now, and it
>>>>>>>>>>>>> worked fine. Only thing I noticed is that you're saving to a
>>>>>>>>>>>>> "non-standard"
>>>>>>>>>>>>> folder. Could you test it by setting the dest to dest:
>>>>>>>>>>>>> 'C:\tortoise-1.7.msi' or something in win_Get_url?
>>>>>>>>>>>>>
>>>>>>>>>>>>> About debugging: It's kinda hard, because Ansible cleans up
>>>>>>>>>>>>> the temp files. I'm gonna post an issue to see if we can get a
>>>>>>>>>>>>> "win_debug"
>>>>>>>>>>>>> setting in ansible.cfg to enable leaving the files in place so
>>>>>>>>>>>>> that we can
>>>>>>>>>>>>> run the generated script and param file through a normal
>>>>>>>>>>>>> PowerShell
>>>>>>>>>>>>> debugger. For now you have to take the params you send and store
>>>>>>>>>>>>> them as a
>>>>>>>>>>>>> json file. Then, combine the module ps1 file with the
>>>>>>>>>>>>> powershell.ps1 file
>>>>>>>>>>>>> into a single file and execute that file in powershell with the
>>>>>>>>>>>>> params file
>>>>>>>>>>>>> as the first and only argument. Its bothersome to say the least.
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Tuesday, August 26, 2014 11:37:57 PM UTC+2, Damon Overboe
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Here is a subsequent success on both (ran again bc the HTTP
>>>>>>>>>>>>>> 500 isn't
>>>>>>>>>>>>>> the error I normally see)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ok: [node1.domain.com] => {"changed": false, "exit_reason":
>>>>>>>>>>>>>> {"name": "File specified in creates parameter already exists"}}
>>>>>>>>>>>>>> <node3.domain.com> WINRM RESULT <Response code 0, out "{
>>>>>>>>>>>>>> "changed": t", err " Process is terminat">
>>>>>>>>>>>>>> changed: [node3.domain.com] => {"changed": true, "log":
>>>>>>>>>>>>>> "C:\\Users\\dummy\\AppData\\Local\\Temp\\tmp30A4.tmp"}
>>>>>>>>>>>>>> ____________
>>>>>>>>>>>>>> < PLAY RECAP >
>>>>>>>>>>>>>> ------------
>>>>>>>>>>>>>> \ ^__^
>>>>>>>>>>>>>> \ (oo)\_______
>>>>>>>>>>>>>> (__)\ )\/\
>>>>>>>>>>>>>> ||----w |
>>>>>>>>>>>>>> || ||
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> node1.domain.com : ok=2 changed=1 unreachable=0
>>>>>>>>>>>>>> failed=0
>>>>>>>>>>>>>> node3.domain.com : ok=2 changed=2 unreachable=0
>>>>>>>>>>>>>> failed=0
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/07ea5e3e-e29d-4267-ac19-b800ee922d7b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.