I changed my directory so that test_winrm was in the current directory. But now I get an error message complaining it can't find the win_file module. I assume its not finding my ansible-module checkout.
ansible/test/integration> TEST_FLAGS="-t test_powershell_filter -i /etc/ansible/hosts" make test_winrm ansible-playbook test_winrm.yml -i inventory.winrm -e @integration_config.yml -v -t test_powershell_filter -i /etc/ansible/hosts [WARNING]: The version of gmp you have installed has a known issue regarding timing vulnerabilities when used with pycrypto. If possible, you should update it (i.e. yum update gmp). ERROR: win_file is not a legal parameter in an Ansible task or handler make: *** [test_winrm] Error 1 I'll keep working through this... On Monday, February 23, 2015 at 3:16:45 PM UTC-6, Michael Perzel wrote: > > I updated test_winrm.yml to include my role but when I tried to run > > ansible-source/ansible> TEST_FLAGS="-t test_powershell_filter" make > test_winrm > make: *** No rule to make target `test_winrm'. Stop. > > Did you need to make changes to the Makefile in order for this to work? > > I updated my playbook. I had intended command: echo .... I'll update > test_win_script as well once I get this working. > > > On Monday, February 23, 2015 at 1:33:36 PM UTC-6, Chris Church wrote: >> >> Add your new test role to test/integration/test_winrm.yml with a matching >> tag, then run: >> >> TEST_FLAGS="-t test_powershell_filter" make test_winrm >> >> >> It may be worthwhile to add to the test_win_script role to make sure your >> filter works for passing parameters to a PowerShell script. >> >> Also, from your test playbook, there is no echo module - maybe you meant >> to use command instead? >> >> >> On Mon, Feb 23, 2015 at 12:39 PM, Michael Perzel <[email protected]> >> wrote: >> >>> This isn't directly related to this thread but it was discussed earlier >>> so it was the best place for it. >>> >>> I created a filter that converts a yaml dict to a powershell hash. I'm >>> trying to write some tests for it but I'm not sure how to run just my >>> specific test. The file playbook and vars are >>> at ansible/test/integration/roles/test_powershell_filter/ and the filter is >>> at ansible/lib/ansible/runner/filter_plugins. >>> >>> Test playbook: >>> https://gist.github.com/perzizzle/8fb875895b218772eede >>> Test variables >>> https://gist.github.com/perzizzle/dc73025a2232f2da9b88 >>> Filter >>> https://gist.github.com/perzizzle/117a6b139e2a97194d5f >>> >>> When I run "make tests" a whole bunch of them succeed but one fails >>> related to postgres. Is it possible to run just my one test I've created? >>> >>> Thanks, >>> >>> On Wednesday, February 4, 2015 at 1:44:00 AM UTC-6, Chris Church wrote: >>>> >>>> Hi Michael, >>>> >>>> I had submitted a PR (https://github.com/ansible/ansible/pull/9602) -- >>>> I'll see if I can get that merged soon. >>>> >>>> >>>> On Mon, Jan 26, 2015 at 2:47 PM, Michael Perzel <[email protected]> >>>> wrote: >>>> >>>>> I ended up creating a new filter that could transform >>>>> >>>>> >>>>> installArguments: >>>>> >>>>> key: value >>>>> >>>>> key2: value2 >>>>> >>>>> and return “@{'key2'='value2';'key'='value';}” I can share if anyone >>>>> is interested. >>>>> >>>>> I just upgraded to ansible 1.8 and made your fix to powershell.py and >>>>> winrm.py manually again. Is there any target version to get this into the >>>>> main branch? I poked around in github but couldn't find way to see if you >>>>> had submitted a pull request for this. >>>>> >>>>> >>>>> On Thursday, November 6, 2014 at 5:26:49 PM UTC-6, Chris Church wrote: >>>>>> >>>>>> Absolutely, just haven't had a chance to get back to Windows-related >>>>>> things this week. >>>>>> >>>>>> On Thu, Nov 6, 2014 at 4:37 PM, Michael Perzel <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Are you going to submit a pull request for this into devel? It >>>>>>> definitely solved my issue. >>>>>>> >>>>>>> On Saturday, October 25, 2014 2:23:55 PM UTC-5, Chris Church wrote: >>>>>>>> >>>>>>>> Could you create a gist (https://gist.github.com/) with the >>>>>>>> relevant lines from your inventory variables, playbook and script >>>>>>>> (removing >>>>>>>> any sensitive information)? I'm not quite able to piece together a >>>>>>>> full >>>>>>>> example of what you're running from the email thread. >>>>>>>> >>>>>>>> My branch is based on devel; I just created another branch based on >>>>>>>> 1.7.2 with the splatting changes applied: https://github.com/cc >>>>>>>> hurch/ansible/tree/powershell_splatting_v172 >>>>>>>> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fcchurch%2Fansible%2Ftree%2Fpowershell_splatting_v172&sa=D&sntz=1&usg=AFQjCNELYa0RJWKIxEmXb2bqZVp5y1NogA> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Fri, Oct 24, 2014 at 6:12 PM, Michael Perzel < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> I tried taking your changes but it failed with: >>>>>>>>> <Objs Version="1.1.0.1" xmlns="http://schemas.microsof >>>>>>>>> t.com/powershell/2004/04"><S S="Error">C:\Users\ansible\App >>>>>>>>> Data\Local\Temp\ansible-tmp-1414187414.25-97343749557638\de_ >>>>>>>>> x000D__x000A_</S><S S="Error">ployLauncher.ps1 : A positional >>>>>>>>> parameter cannot be found that accepts _x000D__x000A_</S><S >>>>>>>>> S="Error">argument 'False'._x000D__x000A_</S><S S="Error">At line:1 >>>>>>>>> char:1_x000D__x000A_</S><S S="Error">+ & _x000D__x000A_</S><S >>>>>>>>> S="Error">C:\Users\ansible\AppData\Local\Temp\ansible-tmp-14 >>>>>>>>> 14187414.25-97343749557638\\ _x000D__x000A_</S><S >>>>>>>>> S="Error">..._x000D__x000A_</S><S S="Error">+ >>>>>>>>> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>>>>>>>> ~~~~~~~~~~~~~~~~~_x000D__x000A_</S><S >>>>>>>>> S="Error">~~~_x000D__x000A_</S><S S="Error"> + CategoryInfo : >>>>>>>>> InvalidArgument: (:) [deployLauncher.ps1], Param _x000D__x000A_</S><S >>>>>>>>> S="Error"> eterBindingException_x000D__x000A_</S><S S="Error"> + >>>>>>>>> FullyQualifiedErrorId : PositionalParameterNotFound,de >>>>>>>>> ployLauncher.ps1_x000D__x000A_</S><S S="Error"> >>>>>>>>> _x000D__x000A_</S></Objs> >>>>>>>>> >>>>>>>>> Looking at the diff between your code and mine there's a few other >>>>>>>>> differences. I'm running 1.7.2, I assume your branched off something >>>>>>>>> newer.I'll see if I can sort through the issue. >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> >>>>>>>>> On Friday, October 24, 2014 3:52:39 PM UTC-5, Michael Perzel wrote: >>>>>>>>>> >>>>>>>>>> Your idea with jinja filter is what I originally tried to get >>>>>>>>>> working. I never managed it but I think its the ideal solution >>>>>>>>>> (converting >>>>>>>>>> yaml hash to a powershell one). >>>>>>>>>> >>>>>>>>>> If I follow your patch you added a parameter that controls >>>>>>>>>> whether or not arguments get quoted (and set it to false for >>>>>>>>>> powershell >>>>>>>>>> scripts)? I'm not particularly worried about nefarious activity >>>>>>>>>> within our >>>>>>>>>> system so this could work for us. >>>>>>>>>> >>>>>>>>>> On Friday, October 24, 2014 12:52:52 AM UTC-5, Chris Church wrote: >>>>>>>>>>> >>>>>>>>>>> That method of passing arguments is apparently called >>>>>>>>>>> "splatting" (http://technet.microsoft.com/ >>>>>>>>>>> en-us/magazine/gg675931.aspx). >>>>>>>>>>> >>>>>>>>>>> I have a branch where I've been able to get it working: >>>>>>>>>>> >>>>>>>>>>> https://github.com/cchurch/ansible/tree/powershell_splatting >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I've also added integration tests to show examples of it in use: >>>>>>>>>>> >>>>>>>>>>> https://github.com/cchurch/ansible/blob/powershell_splatting >>>>>>>>>>> /test/integration/roles/test_win_script/tasks/main.yml#L50 >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I also considered the idea of a Jinja2 filter to convert a >>>>>>>>>>> YAML/JSON data structure to this format to allow for defining your >>>>>>>>>>> arguments as you would any other variables: >>>>>>>>>>> >>>>>>>>>>> build_args: >>>>>>>>>>> >>>>>>>>>>> key1: value1 >>>>>>>>>>> >>>>>>>>>>> key2: value2 >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> You could then run your task as: >>>>>>>>>>> >>>>>>>>>>> script: dostuff.ps1 {{ build_args|splattify }} >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Would you (or any other Windows users) be interested in this >>>>>>>>>>> approach? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> On Wed, Oct 22, 2014 at 10:28 AM, Michael Perzel < >>>>>>>>>>> [email protected]> wrote: >>>>>>>>>>> >>>>>>>>>>>> I'll look into this. My work around thus far is using a >>>>>>>>>>>> template for my deploy script. Instead of passing the deploy >>>>>>>>>>>> script >>>>>>>>>>>> arguments, I just assign them at the top: >>>>>>>>>>>> >>>>>>>>>>>> $build = {{ build }} >>>>>>>>>>>> $pass = {{ password }} >>>>>>>>>>>> $arguments = @{ {{ arguments }} } >>>>>>>>>>>> >>>>>>>>>>>> This then becomes: >>>>>>>>>>>> >>>>>>>>>>>> $build = 42 >>>>>>>>>>>> $pass = password >>>>>>>>>>>> $arguments = @{ key1=value1; key2= value2 } >>>>>>>>>>>> >>>>>>>>>>>> Using the template has given me complete control over the >>>>>>>>>>>> syntax. In our paradigm we have an entirely generic "deploy" >>>>>>>>>>>> powershell >>>>>>>>>>>> script that stages files, unzips them and similar things. It then >>>>>>>>>>>> calls an >>>>>>>>>>>> "install" script that handles all the app specific items. The >>>>>>>>>>>> install >>>>>>>>>>>> scripts are bundled with the specific app. >>>>>>>>>>>> >>>>>>>>>>>> On Wednesday, October 22, 2014 8:38:11 AM UTC-5, J Hawkesworth >>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> I don't have a direct answer for this - rightly or wrongly the >>>>>>>>>>>>>> ps1 scripts I have so far don't take any arguments - I consider >>>>>>>>>>>>>> them to be >>>>>>>>>>>>>> specific to my roles and at the moment they embed some details >>>>>>>>>>>>>> that it >>>>>>>>>>>>>> would probably be best to have as parameters. However, it looks >>>>>>>>>>>>>> to me like >>>>>>>>>>>>>> your deployLauncher.ps1 really wants to be a very general >>>>>>>>>>>>>> purpose >>>>>>>>>>>>>> deployment tool and maybe it would be better off as an ansible >>>>>>>>>>>>>> module. >>>>>>>>>>>>>> That way you could perhaps take advantage of ansible's existing >>>>>>>>>>>>>> syntax for >>>>>>>>>>>>>> specifying module arguments. >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> As an aside I believe @Trond Hindenes has a win_package module >>>>>>>>>>>>> in the works which might do some of what you want. >>>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> 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/388179f6-4 >>>>>>>>>>>> 48e-44e7-967f-94e400dc4514%40googlegroups.com >>>>>>>>>>>> <https://groups.google.com/d/msgid/ansible-project/388179f6-448e-44e7-967f-94e400dc4514%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>>>> . >>>>>>>>>>>> >>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>> 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/ba6b122a-1 >>>>>>>>> fa5-48c6-9b1d-a8a2f67083ef%40googlegroups.com >>>>>>>>> <https://groups.google.com/d/msgid/ansible-project/ba6b122a-1fa5-48c6-9b1d-a8a2f67083ef%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>> . >>>>>>>>> >>>>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>> 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/118759f9- >>>>>>> df6f-4805-886d-00a250457019%40googlegroups.com >>>>>>> <https://groups.google.com/d/msgid/ansible-project/118759f9-df6f-4805-886d-00a250457019%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> >>>>>> -- >>>>> 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/35495c72-0da0-42f9-b854- >>>>> 4ab8f049ccdd%40googlegroups.com >>>>> <https://groups.google.com/d/msgid/ansible-project/35495c72-0da0-42f9-b854-4ab8f049ccdd%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> >>>> -- >>> 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/db5bd592-8018-4bf7-971d-6f8652fd9737%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/ansible-project/db5bd592-8018-4bf7-971d-6f8652fd9737%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- 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/fe8bf41d-ecae-4f76-b77a-84d9a4a44c94%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
