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\App >>>>> Data\Local\Temp\ansible-tmp-1414187414.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-1fa5-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/CAH%2BKTJ59PV-a2n4RuQA-Gp0PZ%3D01bmpSX5d%3DW0GahmMkM5F4Fw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
