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` 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/43a4d34b-3f8b-40ea-843d-38fd0a86915a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
