16:01:24 #startmeeting Ansible VMware Working Group Meeting 16:01:24 Meeting started Mon Jul 24 16:01:24 2017 UTC. The chair is akasurde. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:01:24 Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:01:24 The meeting name has been set to 'ansible_vmware_working_group_meeting' 16:02:11 #chair akasurde 16:02:11 Current chairs: akasurde 16:04:04 #chair DMarby 16:04:05 Current chairs: DMarby akasurde 16:04:27 #chair tomscanlan 16:04:27 Current chairs: DMarby akasurde tomscanlan 16:04:33 #chair warthog9 16:04:33 Current chairs: DMarby akasurde tomscanlan warthog9 16:04:39 #chair jtanner 16:04:39 Current chairs: DMarby akasurde jtanner tomscanlan warthog9 16:04:46 hello 16:04:58 hello everyone 16:05:02 Hi! 16:05:06 hi 16:05:15 hello 16:05:16 morning or $appropriate_time_based_greeting 16:05:16 #chair nafpliot-ibm 16:05:16 Current chairs: DMarby akasurde jtanner nafpliot-ibm tomscanlan warthog9 16:05:18 hi 16:05:23 hi 16:05:27 #chair pdellaert 16:05:27 Current chairs: DMarby akasurde jtanner nafpliot-ibm pdellaert tomscanlan warthog9 16:05:33 Welcome everyone, this is first ever IRC meeting of VMware Working group. Thanks to @jtanner and @dag for taking initiative and arranging this WG meeting. 16:06:10 Basic motivation behind this meeting is to discuss Roadmap, new development, Testing and future of Ansible and its VMware modules. 16:07:04 #info https://github.com/ansible/community/issues/206 16:07:19 is dag here? 16:07:24 All agenda items is listed here 16:07:34 jtanner, dag is on vacation 16:07:44 weak, he's not allowed to go on vacation 16:07:53 :) 16:08:18 :) 16:08:35 Let us start some discussion, I would like to ask everyone how can we take this forward ? 16:08:54 define "this" 16:09:08 the working group? 16:09:32 Both Working group and Ansible VMware development 16:09:59 The working group: Have a clear roadmap and list of tasks 16:10:21 * gundalow waves 16:10:26 #link https://github.com/ansible/community/wiki/VMware 16:10:27 i guess that will help a lot for people who want to contribute 16:10:34 #chair gundalow 16:10:34 Current chairs: DMarby akasurde gundalow jtanner nafpliot-ibm pdellaert tomscanlan warthog9 16:10:37 roadmap is nice, but requires people to commit time ... can't always ask that of volunteers 16:11:34 I'm not so sure about a roadmap, but I think a good start would be to clean up the existing issues, and map out what goals/tasks we want to achieve and in what preferred order. 16:11:51 i agree with that 16:11:55 That alone should help for people who want to contribute, without setting dates on it in a roadmap. 16:12:34 jtanner: i would say that if someone commits to work on something on the roadmap, it becomes their project. Even from volunteers, it is ok to ask a commitment, with the caveat that if they feel they can't deliver, they say so at some poiint and that is accepted and someone picks up 16:12:35 agree 16:12:41 for bugs/features that the maintainers desire, the needs_contributor bot command is the appropriate way to mark those 16:13:11 ok, maybe 'roadmap' was to strong a word, i wasn't asking for hard dates :) 16:13:27 pdellaert: that's cool ... maybe a "prioritized list of goals" is more apt 16:13:45 yes, indeed, that's a better title 16:13:56 if by roadmap we are talking about setting few achievable goals, I like that approach better =) 16:14:06 I haven't contributed to ansible, but am working with vmware. I'd like some small pieces I can contribute to. a priority list would help me 16:14:24 On that note, I think it might be a good idea to document development of existing/new modules so that people can pick it up more easily. In terms of what should be placed in the common utils, where documentation for vsphere/vcenter api:s can be found when applicable, and such. 16:14:38 tomscanlan: priority lists are subjective, its normally 'what affects me the most' 16:14:45 #chair bcoca 16:14:45 Current chairs: DMarby akasurde bcoca gundalow jtanner nafpliot-ibm pdellaert tomscanlan warthog9 16:15:07 DMarby, you can start here - https://github.com/ansible/community/wiki/VMware 16:15:31 tomscanlan: you should start with https://github.com/ansible/ansible/pull/26921 to break yourself into the github + bot + shippable workflow for the overall project 16:15:41 akasurde: Yeah, I've read the wiki, it's a good start for sure, but might be good to put down a goal to further expand it. 16:15:53 its always a good idea to make note to others if you start on any work, prevents duplicate efforts 16:15:55 we are trying to consolidate things like VMware documentation required for ansible development. 16:16:08 thankss jtanner 16:16:10 #action akasurde expand goal in VMware wiki for goals 16:16:22 ok, so it sounds like onboarding new devs is one goal 16:16:44 bcoca, yes. thats a good point but I don't know how can we prevent that ? 16:17:07 start a PR early, ping the appropriate people 16:17:22 announce in vmware irc room, etc 16:17:23 and add the name to the task in the wiki 16:17:40 jtanner, can we use assigning github issue to yourself ? 16:17:49 use [WIP] header to let people know 'im workign on it, but bot and reviewers can ignore for now' 16:18:04 akasurde: assignees can only be users in the ansible github org 16:18:17 github is pretty limited from that perspective 16:18:23 jtanner, Ok 16:18:37 could just encourage people to add something to the wiki to solve the assignment issue 16:18:40 Wouldn't commenting on the issue be enough? And if no issue exist for what you're doing, create a new one explaining what it is, to denote that you are doing so? 16:18:50 That way all work is tracked in issues. 16:18:53 jtanner, bcoca Can we have a page inside WG wiki about "work in progress" 16:18:58 Which can then be referenced in PRs. 16:18:59 It's also part of the onboarding of devs, having some documentation on what people have to do if they want to work on an issue/task: Mention it on the issue, add your name to the wiki on the task, open a PR with WIP and a clear mention of what you will be handling 16:19:09 DMarby: for start .. but we have comments on 'i'll work on this' on issues that then have not seen progress in 8months since the comment 16:19:10 akasurde: you are the master of that wiki page, afaik 16:19:24 bcoca: Hm, yeah, that's true. 16:19:26 so 'grain of salt' on comments, PRs are much more visible and 'non vaporware' 16:19:30 dag created the first wiki pages and it hasn't been something really handled by the core team to date 16:19:47 #action akasurde Add a tracker page for work in progress 16:20:45 one topic/goal that should probably be prioritized is wiki/docs on how the vcsim tests work 16:21:28 That's be great. 16:21:31 jtanner, I am currently working on it, will update once it is done. 16:21:35 noice 16:21:44 . I'd be more than willing to spend some time on automating setup/running of those tests if needed 16:21:50 #action akasurde Add sample testcase for VMware module in wiki 16:22:12 DMarby: framework is already there, just need people to add more tests for the modules 16:22:19 jtanner: Great :) 16:22:47 jtanner, that brings to a question, what about features which are not supported by govcsim ? 16:23:05 another goal i'd like to suggest is making modules more uniform, i've been looking at the different vmware_guest modules, and there are different ways of getting/finding VMs and it's hard to determine the best way 16:23:21 akasurde: dunno ... i'm hoping that more people will bring golang experience to help extend vcsim 16:23:31 the maintainer seems very responsive to issues/PRs 16:23:47 pdellaert: akasurde has an active PR for that 16:23:59 ok, great :) 16:24:02 get_vm becomes a module util 16:24:56 i'm waiting on a second reviewer before i press merge on it 16:25:48 pdellaert, https://github.com/ansible/ansible/pull/27188 - get vm by various methods provided by VMware 16:26:19 jtanner: In the agenda you mentioned the deprecation of vsphere_guest, did you want to discuss how to move forward with that? 16:26:26 akasurde: yeah, found it, looks great, thanks 16:26:33 jtanner, dav1x has added shipit 16:26:37 pdellaert, thanks 16:26:52 DMarby: would like the group to determine which features vmware_guest is missing that prevent deprecation of vsphere_guest 16:27:14 for example, does vmware_guest need to support creating a new vm from ISO? 16:27:20 I can see vmware_guest lacks CDROM support 16:27:34 I'd argue it should, since it's a valid usecase 16:27:47 should be a prioritized new feature then 16:27:56 as just one example 16:28:04 #action akasurde Create a page for vsphere_guest deprecation 16:28:44 as soon as we're feature complete, we can close ALL issues and PRs for vsphere_guest 16:30:01 Righto. How do you suggest we go about finding the disparity in functionality so that we can figure out what tasks remain to become feature complete? 16:30:20 reading through open tickets should give a good idea 16:30:31 and maybe closed 16:30:41 in ansible + ansible-modules-core|extras 16:30:45 I think people who are using vsphere_guest and vmware_guest can tell this best 16:31:13 Right, do we have any such users in the work group? I'm using vmware_guest, but I'm not using vsphere_guest, heh. 16:31:35 yep, i don't use vmware in my day to day, so i have no clue what people "need" to do beyond simple clone actions 16:31:54 same here 16:32:17 I can attempt to compile a list of things that are missing until the next meeting I guess, I run an esxi/vcenter cluster for my homelab, so I have a test environment at least 16:32:25 I generally get sense of use cases from issues opened and closed 16:32:35 dav1x and derricrago are probably the only 2 real "users" that i've met 16:32:57 #action DMarby list of missing things in vmware_guest and vsphere_guest in wiki page 16:33:03 DMarby, thanks 16:33:39 DMarby: from how i've been using vmware_guest and vsphere_guest, the biggest missing item is cdrom functionality 16:34:01 Alright 16:35:05 in general, i also miss OVA/OVF deployment, but that's not in vsphere_guest either (i use the shell module and execute ovftools) 16:35:23 i think dericcrago figured that code out 16:35:26 pdellaert: Heh, that's what I resorted to for deploying vyos ova's and VCSA as well :p 16:35:27 with pyvmomi 16:35:39 pdellaert, Can you share link for playbook for ovftools ? 16:36:11 akasurde: i can give you a few examples, the repo is an internal one, but i can copy an example to a gist, just a sec 16:36:15 akasurde: https://github.com/DMarby/infrastructure/blob/master/ansible/vyos/roles/vyos_ova/tasks/main.yml Here's one using govc to import an OVA 16:36:52 DMarby, thanks 16:37:04 yeah, I wrote an ova deployment module (it's currently specific to deploying the RH CloudForms ova though) 16:37:18 DMarby, pdellaert This is real world usecase 16:37:33 Another thing from the agenda: Currently there's a lot of modules that doesn't implement "update" functionality, only add/remove, for example the portgroup/vswitch modules. 16:37:45 akasurde: https://gist.github.com/pdellaert/cc5284d09861a93c1f726eb9a97208c4 16:37:46 #chair dericcrago 16:37:47 Current chairs: DMarby akasurde bcoca dericcrago gundalow jtanner nafpliot-ibm pdellaert tomscanlan warthog9 16:38:20 I believe it would be good to make a list of all the modules which are currently missing the update functionality, and tasks for attempting to fix that. 16:38:23 DMarby: yes, because it is more complicated to do that 16:38:35 dericcrago: that would be one of the bigger additions in my opinion :) 16:38:43 And possibly, to not accept new modules without it, moving forward 16:38:48 many of our modules are slightly better version of the pyvmomi examples 16:38:55 For example, there is currently no way to modify the management portgroup 16:38:58 As you can't add/remove it 16:39:08 Or you'll lose network access to do so :p 16:40:01 jtanner: That's fair enough, but I think it's something that's fairly important to resolve 16:40:27 Agree, there vswitch and dvswitch modules which doesn't support update 16:40:34 i have no problem with people figuring it out and contributing 16:40:42 i just don't have the time or expertise to do it myself 16:41:36 Righto. Maybe for a start just having a list in the wiki of modules that's missing update functionality would be useful to keep track of it? 16:41:59 #action akasurde add page for missing update functionality 16:42:03 I attempted to do it with one of the portgroup modules, but I need to brush up on my pyvmomi documentation first, heh 16:42:39 need a table in the wiki with each module on a row and columns being ... has tests, vcsim support, supports update, etc 16:42:39 DMarby, Cool 16:42:48 That sounds great. 16:43:01 jtanner: , great proposal 16:43:23 I will add it :) 16:44:23 willing to help out with documenting some of it, i'm just careful, as my availability is unpredictable :s 16:44:57 pdellaert, you are always welcome 16:45:02 add a field with 'active maintainer', perhaps? The module contains authors, but not necesarily an active maintainer or main contact per module 16:45:11 be mindful that all maintainers disappear sometimes and move on to bigger/better things 16:45:25 so there will be dead spots on development 16:45:40 currently, there are very few people who are looking after modules 16:46:01 which is why everyone is so appreciative of your time akasurde =) 16:46:26 akasurde++ 16:46:35 jtanner, I love this stuff, trying to help everyone 16:46:42 pdellaert, thanks 16:47:31 To go back to a topic we mentioned earlier, there's quite a lot of vmware issues/pr's right now, how do we want to approach cleaning out/closing/merging them? 16:48:05 FIFO 16:48:21 and as with all open source, voluntary projects: people will come and go. That's why having a good list of tasks/priorities for people wanting to help, will give more direction (i've encountered a couple of people stating 'i want to do something, but no clue where to start' on other projects) 16:49:01 and i agree FIFO (even as i just opened the latest vmware PR ;)) 16:49:23 but we should also have a rule for stale/dead issues/PRs 16:49:46 if you open a PR, go look for issues it might fix or other PRs it deprecates and note those in the ticket 16:50:14 for some of the issues, the resolution might be to simply add a new testcase 16:50:25 and verify 16:50:36 we can discuss PRs in meeting or irc, if you need a urgent merge 16:51:27 akasurde: in my case, certainly not urgent, just nice-to-have (and i need to fix your feedback first, which requires the getvm refactor you mentioned) 16:51:35 27188 merged 16:51:46 other PRs have been listed by dag 16:52:01 bit of backstory ... 16:52:49 writing vmware_guest was a PITA, mainly because of vcenter setup. After writing the module, it was very difficult to troubleshoot and accept PRs on because of vcenter setup 16:52:57 jtanner, thanks for merge 16:53:00 with vcsim and tests, i'm VERY likely to accept PRs 16:53:13 as of ~1 month ago 16:53:39 jtanner: Heh, I can understand that, my automated vcsa deploys takes 2.5 hours to run alone 16:53:41 so much of what dag wrote before that was bitrotting because no tests could be done 16:54:23 vcsim takes milliseconds to spin up =) 16:54:34 That's a lot better, lol. 16:55:04 DMarby, govcsim is still in development phase 16:55:07 I'm unfamiliar with how things are usually done btw, so forgive me for that, but what is the policy of fixes being done to released versions (and well, another minor/patch version being released)? To give an example, there was a recent issue breaking using templates with vmware_guests for a lot of usecases, on which a PR has now been merged, but it's not out in 2.3 16:55:10 jtanner: yeah, i feel that pain... i've had the same experience with developing a module for Nuage (needs an API endpoint, i just build a new API simulator so i did not have to bring up the whole platform every time ;)) 16:55:12 Err, backported to 2.3 16:56:03 DMarby: backports will be easier once we get vcsim in 2.4 16:56:23 i can't confidently cherry pick a commit backwards until then 16:56:35 Makes sense 16:57:05 jtanner, VMware modules are community supported so are we supporting backports ? 16:57:23 akasurde: anyone can send a cherry picked PR to the stable branches 16:57:32 it's a matter of core team deciding to merge though 16:57:56 jtanner, is it ? I thought core team do it :) 16:58:16 nope, people outside core team send them too 16:58:32 * akasurde sending more backport patches 16:58:36 hehehe 16:58:42 doesn't mean they'll get accepted =P 16:58:46 ;) 16:58:57 bugfixes only, hopefully critical, and hopefully tested 16:59:20 I know people who would like to contribute, so I can point them this PRs and tell them to test and backport 17:00:19 anything else we would like to discuss today ? 17:01:01 Anything we need to discuss on PRs mentioned by dag? 17:01:53 I am OK with https://github.com/ansible/ansible/pull/25144 need second shipit 17:02:04 those probably need triage as many are most likely broken by recent commits 17:02:27 yes, like this one https://github.com/ansible/ansible/pull/25140 17:02:29 And about the last comment of dag: Do we want to list anything that needs to be done before 2.4? 17:02:42 (as a must) 17:02:57 Integration tests are must 17:03:08 25140 mreged 17:03:51 jtanner: you mean 25144 (just making sure the logs represent the correct number) 17:03:57 jtanner, you mean 25144 17:04:02 25144 17:04:07 Cool 17:04:10 i don't type so good 17:05:30 Wanna discuss new modules ? 17:06:04 #topic discuss New module status - https://github.com/ansible/community/issues/206#issuecomment-316254774 17:06:36 i would priortize the ones with tests first 17:07:29 I would say that the functionality of vmware_add_nic should be in vmware_guest instead 17:07:33 same here, atleast we can say it is working 17:07:45 Agreed on prioritizing the ones with tests. 17:08:27 We can have exception if vcsim is not supporting that feature 17:09:06 for example, https://github.com/ansible/ansible/pull/21070 https://github.com/ansible/ansible/pull/25143 needs maintenance mode which is not support in vcsim 17:09:49 either we can have commented testcases or live without testcase 17:10:10 what do prefer from above two ? 17:10:41 i'd say commented test cases 17:10:58 it shows the intent of having integration testing, but just missing capabilities 17:11:35 which indicates people have been thinking about it 17:12:33 * jtanner has to go get some food (haven't eaten today) 17:13:04 jtanner, Ok 17:13:36 pdellaert, good idea, I will add a note in wiki about this 17:14:15 jtanner: enjoy (not sure if you're in EST, if so: lunch) 17:14:55 anything else we would like to discuss ? 17:15:04 #topics open floor 17:15:15 #topic open floor 17:16:41 * akasurde will wait for 5 min more before closing meeting 17:17:07 I'm good, thanks for the help/support/effort 17:17:29 pdellaert, Thanks 17:17:33 yes - thank you 17:18:08 Thanks everyone for joining in and for your valuable time and efforts 17:18:13 dericcrago: that ova/ovf deploy module, is that something you plan on releasing? 17:18:35 think it would be a very useful addition :) 17:18:54 potentially, I could use some direction on tests 17:19:16 dericcrago: let's take this to #ansible-vmware 17:19:39 sure 17:20:03 I am ending this meeting, see you all on next monday 17:20:05 #endmeeting