20:00:02 #startmeeting Ansible Windows Working Group 20:00:02 Meeting started Tue Mar 27 20:00:02 2018 UTC. The chair is jborean93. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:00:02 Useful Commands: #action #agreed #halp #info #idea #link #topic. 20:00:02 The meeting name has been set to 'ansible_windows_working_group' 20:00:14 hey 20:00:17 hey 20:00:19 again :) 20:00:24 :-) 20:00:25 #chair jhawkesworth_ 20:00:25 Current chairs: jborean93 jhawkesworth_ 20:00:35 nitz is on PTO so won't be here 20:01:00 oh ok, hope he's having a good break 20:01:40 timezone change means kids in bed, hopefully I can be around a bit more now 20:01:41 I think he's traveling to the lone star state 20:02:07 that's good to hear 20:02:18 DST isn't a think where I am 20:02:26 will see if anyone else joins in before starting 20:02:35 yeah, give it a minute 20:02:36 s/think/thing 20:05:09 looks like it is just us 2 today 20:05:28 #topic win_dsc return params https://github.com/ansible/community/issues/294#issuecomment-376009166 20:05:40 yeah - i guess holiday season starting. 20:05:51 I'll probably bring this is up at the next meeting when more people are here but what are your thoughts on this 20:06:01 * jhawkesworth_ reading through the bug report 20:08:20 The return values can get quite large, especially when dealing with dicts as DSC doesn't take in normal hashtables but CimInstances 20:08:44 yeah that CimInstance example is a monster. 20:09:22 I think I favour dag's suggestion of something like an 'output_level' param for returning the parsed params 20:09:40 o/ 20:09:45 #chair dag 20:09:45 Current chairs: dag jborean93 jhawkesworth_ 20:09:46 hey 20:09:50 hey dag 20:11:07 even so, the only main differences you may get are seeing strings as ints and vice versa 20:11:24 we don't do any special handling for strings to arrays like splitting by `,` 20:13:51 plus the dict to CimInstance can really clog the output 20:13:51 I'm not actually using win_dsc module so I'm only thinking of it from the point of view of what fits in with rest of ansible / what is least surprising change to it 20:14:32 I wondered for a minute if it could be something that would be done only in check mode... but I don't like that idea 20:14:34 * jborean93 wonder's if we should add an option that is to export the definition to a file which people can manually run later on 20:16:40 hmm, writing to a file might be nice for development / test purposes perhaps 20:17:00 yea, probably little gain 20:17:13 I just develop locally and use a debugger if necessary 20:17:44 that issue in question was a bit hard to find out what was wrong as the DSC exception it threw wasn't helpful at all 20:17:56 Having the parsed params would not have made that easier 20:18:03 ... but the extra code would be there for every invocation 20:20:13 I see ... handling unhelpful error messages is going to be perenial issue for ansible. 20:20:50 yep, still need to fix that part 20:21:21 but for this win_dsc side, the unhelpful exception message was being returned, it was just unhelpful to begin with as the DSC engine didn't give up any good info 20:22:15 ok so sounds to me we don't want to add the parsed values back in 20:22:32 not as default behaviour, for sure. 20:22:49 it would be antithesis to what we are trying to move onto 20:23:30 when the invocation args are finally added back in that would be quite helpful but that's not covered in the module 20:24:06 If it doesn't actually help you discover real underlying issues, there seems little point 20:24:28 sounds good 20:24:43 moving on, unless someone wanted to add more 20:24:47 #topic https://github.com/ansible/community/issues/294#issuecomment-376567904 20:25:10 I haven't fully reviewed the PR but wondering whether we should be adding the alternative shebang to the sanity module 20:25:21 yeah that's ugly. 20:25:32 Why was that needed? 20:25:57 test fails if it has \r line ending 20:26:34 assumption is there is 1:1 relationship between file extension and valid shebang 20:27:14 by tests do you mean the sanity check. I would have thought we add the test module to ensure the code changes are good but we don't change the requirement for modules to be included in Ansible itself 20:27:59 hmm, yeah the code as it stands would allow shebang \r in core modules. 20:28:28 but line endings check would still fail it if there was a \r on any line in core module 20:28:33 so it would get noticed 20:28:34 I think I'm fine with the overall CI tests failing for that PR as long as it's just a failure saying the test modules have bad line ending 20:29:45 I'd prefer to code something that expresses what is and isn't allowable 20:29:57 open to suggestions on how 20:30:42 maybe the way to handle this is just to add a note in the porting guide that says \r is no longer acceptable in .ps1 files (change from 2.4) 20:31:35 When you say `\r` do you mean `\r\n`? 20:31:36 actual change I've made is a one liner, all the rest of the changes in the PR are a consequence of allowing the change. 20:32:01 I think we want to only allow `\n` for modules within Ansible 20:32:17 But change the internal code to handle `\r\n` as because have custom modules in that format 20:32:18 yeah but in most of the cases the \n is taken care of 20:33:02 wondering whether it should just be `module_data.startswith("#!powershell")` isntead of just comparing the whole line 20:33:10 that would work in both cases 20:33:22 yeah agreed, core modules should be free of \r\n line endings - its custom modules that the PR is about 20:33:39 I think there was a recent change to make it check the whole line 20:33:49 because some modules had something like 20:34:00 #/bin/python -tt 20:34:22 and the startswith check was ignoring the '-tt' bit 20:35:43 ok, I just think we should remove the code-smell change for the shebang check 20:35:55 The rest of the code I'm find with (just need to test it) 20:38:28 so .. just no change to test/sanity/code-smell/shebang.py ? 20:39:31 I think so 20:39:46 it doesn't seem like it is needed as we want to have that sanity check for modules to be included in Ansible 20:41:26 I see. how about I add a skip list for modules and just add the 2 modules in the integration tests 20:42:16 I thought you already skipped those test modules? 20:42:55 skipped in the line endings test, not in the shebang test 20:43:07 ah ok 20:43:16 then yes, skip only those 2 test modules 20:43:30 there should be an ignore file or some list somewhere 20:43:36 mattclay would know more 20:43:57 great, that's better than alternative_shebangs - which is too general. Thanks for helping me think that through 20:44:09 that's ok 20:45:19 cool last topic 20:45:28 #topic win_pester https://github.com/ansible/community/issues/294#issuecomment-376568860 20:45:46 I haven't looked at the PR yet 20:46:12 my only concern is that it's custom tailored towards the author's workflow and isn't generic but that's without even seeing the code itself 20:47:40 yeah it just occurred to me that if ansible might want to make some use of pester internally, having a community module might complicate matters. 20:48:18 I think the plan for using pester internally was to use it in the docker container we run the pslint sanity checks on 20:48:35 would restrict things a bit to powershell core cmdlets only but no need to manage a separate Windows host 20:48:58 nitzmahone was looking into that and I believe that was what he was planning to do 20:49:16 but it is definitely an option to use that module if it fits in with what we need 20:50:02 sounds like it would be not a great idea to make a decision about it until nitzmahone has had a look 20:50:50 yep 20:51:02 ok, lets park it for now then 20:51:15 sounds good 20:51:20 #topic open floor 20:51:27 anything else we wanted to talk about? 20:52:02 not from me tonight 20:52:46 cool 20:52:59 well unless dag has anything he wants to add I'll bring this to a close 20:54:34 silence is golden 20:54:38 thanks everyone 20:54:40 #endmeeting