19:02:50 #startmeeting Ansible Core Meeting 19:02:50 Meeting started Tue Apr 12 19:02:50 2016 UTC. The chair is abadger1999. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:02:50 Useful Commands: #action #agreed #halp #info #idea #link #topic. 19:02:50 The meeting name has been set to 'ansible_core_meeting' 19:03:14 action 1: Agree the agenda https://github.com/ansible/community/pull/76 19:03:16 #chair jimi|ansible bcoca nitzmahone gundalow 19:03:16 Current chairs: abadger1999 bcoca gundalow jimi|ansible nitzmahone 19:04:20 Shrews, gregdek, Qalthos, newtMcKerr, sivel, et al... anyone else here for the core meeting? 19:04:28 hi 19:04:42 hallo 19:04:42 * Shrews toggling between two different irc meetings 19:04:44 if i can attend :p 19:05:15 I’m here 19:05:41 #chair Shrews Qalthos newtMcKerr 19:05:41 Current chairs: Qalthos Shrews abadger1999 bcoca gundalow jimi|ansible newtMcKerr nitzmahone 19:06:03 #topic Agree to the general Agenda: https://github.com/ansible/community/pull/76 19:06:59 So I put a rough agenda together and fleshed out that page a bit. I know we are early on, but I thought it would be helpful to at least outline the differences between the meetings 19:07:15 Seems good to me, +1 19:07:19 \o/ 19:07:33 It's this section here: https://github.com/ansible/community/pull/76/files#diff-5aea81da571c7805614c028947fe5ecfR45 19:08:14 +1 19:08:36 oh, so apparently I have rights to merge that in, but maybe I shouldn't 19:09:11 #info abadger1999 and jimi|ansible approve of the general agenda/purpose. 19:09:14 Anyone else? If not let's move on to doing those things ;-) 19:09:27 abadger1999: you happy for me to Merge that PR? 19:09:36 gundalow: if gregdek's happy, I'm happy. 19:09:58 content is good. formatting for Thursday headline is off 19:10:08 Shrews: good spot, I'll fix that now 19:10:14 NEXT ITEM! 19:10:27 #action gundalow will get gregdek's blessing and merge 19:10:43 #topic PR and Issue review 19:11:01 Alright -- Anyone here who has PRs and issues they'd like us to discuss? 19:11:15 I have a few, but only if no one else does 19:11:22 go for it 19:11:40 https://github.com/ansible/ansible/pull/15304 Travis to defend "make deb" 19:12:15 I noticed recently that make deb (and make rpm) were failing due to https://github.com/ansible/ansible-modules-extras/pull/1935 19:12:35 I am here 19:13:08 So I thought we should really defend that. I can't for some reason get "make rpm" to work in Travis, but this gives us a lot more. It's a little suboptimal if someone checkes out ansible devel and can't do "make" 19:13:09 we have nightly builds in internal jenkins 19:13:12 hey Shrews 19:13:20 erm, also hello sivel 19:13:38 #chair sivel 19:13:38 Current chairs: Qalthos Shrews abadger1999 bcoca gundalow jimi|ansible newtMcKerr nitzmahone sivel 19:13:47 #topic https://github.com/ansible/ansible/pull/15304 Travis to defend "make deb" 19:14:00 gundalow: why not do that inside a docker container and do it for both rpm and deb 19:14:01 dont see how that change breaks make deb/rpm? 19:14:42 travis runs on ubuntu, so i don't think rpm is available, i would not want to install the rpm tools under ubuntu to try and make that work 19:14:55 i know there there, just don't want to tackle it 19:14:56 +1 for doing it in the containers 19:14:59 easier to do it in the container 19:15:36 containers are the way to go... 19:16:26 OK, so I should change it to use the existing centos7 and ubuntu1404 containers 19:16:50 well, fresh instances, but the ones that ansible provides on dockerhub 19:16:50 might as well just ahve it built for each container 19:16:54 we still keep nightly builds? 19:17:22 * gregdek will be at kbd in 15m 19:17:31 gundalow: I'd just look at run_tests.sh and add `make deb` and `make rpm` 19:17:39 meeting ends in 14mins 19:17:42 potentially via specifying that in the matrix 19:18:07 https://github.com/ansible/ansible/pull/15304/files 19:18:26 make && make deb/rpm as appropos 19:19:15 #action gundalow to update 15304 to build in the containers. 19:19:31 Anything else for this? 19:19:32 I wanted to also to bring up binary modules, and whether we have any plans. My PR no longer applies after the ZipModule stuffs 19:19:44 OK, so I'll remove the dedicated TARGET=builds, and put it in with the existing !sanity 19:20:11 sivel: it's something I've got an interest in as well 19:20:17 #topic Binary modules 19:20:27 sivel: what's the current status? 19:20:27 (for Windows, but similar issues abound) 19:20:33 I can rebase of course, if it still the current direction we want to take 19:20:39 https://github.com/ansible/ansible/pull/13771 19:20:58 that is all really, do we still like the approach, and if so, I can rebase 19:20:58 iirc, all looked good to me 19:21:15 I know jimi|ansible and abadger1999 had some thoughts 19:21:37 some of it around the restructure of handling modules that I think was related to zipmodule stuff 19:21:41 IIRC, same- been awhile since I gave it a good look, but I'd love to see it in devel first thing after 2.1 is cut 19:21:56 the conflicts are probably simple to resolve, just the same place in the same file 19:22:18 ^ but yeah what nitzmahone said, probably needs to wait until after 2.1 is out 19:22:18 ok, I can go back and rebase, and then we can wait for 2.1 to get cut 19:22:19 #info Current PR https://github.com/ansible/ansible/pull/13771 19:22:49 I'll also bump the milestone to `next` 19:23:08 I've removed 2.1 for now 19:23:50 #action sivel to rebase 13771 but wait for 2.1 release for merge 19:24:01 next? 19:24:12 https://github.com/ansible/ansible-modules-core/pull/3342 19:24:41 that's part of getting ansible-validate-modules working on modules-core 19:25:01 ditto for https://github.com/ansible/ansible-modules-core/pull/3352 19:25:07 I am +1 on 3342 19:25:13 #topic https://github.com/ansible/ansible-modules-core/pull/3342 Corrections to documentation 19:25:27 sivel: Thanks 19:25:49 Looks good to me too. 19:25:52 +1 also, want me to merge 19:25:58 (3342 and 3352) 19:25:58 nitzmahone: go ahead 19:26:01 good on 3352 also, assuming that the attribution is indeed correct and jlaska is ok with the license 19:26:02 Thanks 19:26:11 I've not heard anything from jlaska 19:26:40 My assumption is he should be, but maybe one of the ansible folks can poke him 19:27:07 3352... adding a license header I think has been okay'd copyright would be something different though. 19:27:21 i'm pretty sure jlaska is ok with that 19:27:25 whoops, already merged 3352 also, so hope he's cool with it. :) 19:27:32 so then +1 on both 19:27:37 Sounds sensible to me, but I can't make the call 19:27:38 if he's not, i'll throw something at him in the office tomorrow ;) 19:27:38 Thanks 19:27:40 (retroactive) 19:28:37 Right, I'll get ansible-validate-modules enabled on ansible-core when the submodules are next updated - How often is that done, or is that lower down the priority list after the next releases 19:28:57 can i propose something if you guys are done? 19:29:01 gundalow: I try to do it most mornings. But I can do it anytime. 19:29:13 gundalow: ping me after meeting and I'll get it done. 19:29:17 it happens several times a week, don't think we need to force more 19:29:23 abadger1999: cool, I'm away for a week, so no rush 19:29:26 ^ though we had a couple of weeks in chiehc it did not happen 19:29:26 k 19:29:38 kamsz: What's your topic? 19:29:55 i'd like to discuss module 'tested on' documentation part 19:30:05 i find it very useful, some folks around here also 19:30:12 #info 3352 and 3342 merged. gundalow to work on ansible-validate-modules next. 19:30:28 since we often hit a wall with some modules not working on particular versions 19:30:45 #topic module 'tested on' documentation part 19:30:47 it'd be nice to know on which version particular module was tested 19:31:15 ex. vmware extra modules got it 19:31:16 should always be tested on the version it is merged (/devel) 19:31:17 I'm not sure that really belongs in module documentation. 19:31:38 i mean - requirements version 19:31:51 like tested on vmware 5.5 19:31:55 not ansible version 19:32:15 or shade version 19:32:24 gundalow: I will merge your PR shortly, thx 19:32:44 gregdek: Thanks :) 19:32:45 kamsz that is normally in the notes/requriements section 19:33:03 bcoca: i mostly see python version, rest of the requirements are missing versions :( 19:33:17 I don't think tested on is good to express in the documentation because it updates at a different frequency than ansible. If we want to tshow tested on I think it would be better as a separate document/testing application. 19:33:18 with vmware it was specially confusing as the API for exi standalone and vsphere overlap a lot aslo between 5.x and 5.5 19:33:24 but they don't match perfectly 19:33:41 kamsz: look, plenty of modules specify specific versions of libs 19:33:57 We can have more versions added to the requirements sections bt those are more -- "designed to work with" rather than "tested on". 19:34:13 kamsz: Has there been a specific modules that you've had issues/pain with because API/etc versioning? 19:34:33 abadger1999: "designed" is a good term there, +1 19:34:35 Yeah. The end result of this discussion would be a full compat matrix for every module. Which is probably more than is reasonable to maintain. 19:34:42 cannot recall specific versions, but i've encountered issues with docker, vmware and openstack modules 19:34:55 Not coincidentally. :) 19:35:01 well, docker there you go... 19:35:05 docker and openstack in particular. 19:35:05 abadger1999: suggestion works for me 19:35:50 just my thoughts :) as docs are the first place people are usually looking for help 19:35:56 perhaps that's overkill 19:35:58 works for lots of other things too! 19:36:04 openstack should have good docs on requirements now, docker .... well, ... its docker .... 19:36:16 yeah, docker's kinda broken 19:36:16 well, for the openstack modules, we always suggest "latest shade" b/c it evolves SOOOO quickly 19:36:21 ^ like trying to get an epileptic cat to stay still in a boiling pot of water 19:36:46 For docker module we have in the requirements: 19:36:47 - "docker-py >= 0.3.0" 19:36:47 - "The docker server >= 0.10.0" 19:37:02 ^ but also 'each feature' has its requirements and 'complains' if not met 19:37:04 And in the docs of individual params we note separate minimum requirements 19:37:16 docker is 'special' 19:37:16 19:37:20 yeah, what bcoca said 19:37:30 docker module complains a lot 19:37:52 we basically stopped using it and switched to command/shell module 19:37:54 kamsz: so do i 19:38:04 while i'm not totally opposed to the idea, i don't think it means much unless the module is continuously tested on any specified platforms, and that would not be the case here 19:38:06 An aside: chouseknecht needs eyeballs on new Docker module design. 19:38:24 jimi|ansible: +1 19:38:40 ^ those modules will be 'nicer/better' and also docker and docker.py are less 'heisenburgy' now 19:38:41 what i'm suggesting - the way module is documented as abadger1999 pasted is cool for me 19:38:56 aye, with my QA hat on it's a pain unless we can add in automated regression tests at each of the major API versions 19:38:58 kamsz: that already is the case 19:38:59 kamsz: Right -- but that's no different than what we have now... 19:39:11 right, that was just showing what we do today 19:39:20 just not all of the modules have it :p 19:39:24 Just make a PR to add a version requirement to any module where it's important and doesn't have it. 19:39:29 most modules don't NEED it 19:39:31 having the "tested on shade X.Y.Z" is never going to be relevant b/c that version of shade may not work on certain cloud providers, so it can be misleading (as an example of where it's not useful) 19:39:48 alright 19:39:56 kamsz: but this would likely not improve, for instance, docker -- because the minimums are documented, btu they vary depending on which params are given. 19:39:56 that's clear 19:40:17 sorry :p 19:40:21 boto/boto3 will be 'fun' like that 19:40:31 When we review new modules it's something we should remember to check 19:40:39 ^ already started adding boto3 dependant functionality to modules that mainly use boto 19:40:54 +botocore for the exception 19:40:55 "Is there a minimum version of these libraries that are needed?" 19:41:02 gundalow: we always do, if you add a feature taht brings up the requirements, it MUST be documented 19:41:29 "Requirements should be documented, using the requirements=[] field 19:41:30 " 19:41:46 from module-checklist 19:42:01 not always, sometimes it goes int he options description as moving up the requirement for the whole module is not fair to those whom cannot easily upgrade 19:43:25 ^ which shows in our docker module 19:43:39 Okay, so -- sounds like we currently want to keep doing what we do now but add more of it. 19:43:50 are we adding more? 19:44:04 I'll keep it in mind when doing module reviews 19:44:49 I think vmware modules could do with some... shade sounds like it's currently hard to fit into this. 19:45:05 bcoca: at least boto/boto3 are namespaced 19:45:12 But maybe we could add something like (suggest installing latest shade from XXX) 19:45:27 i'm fine with shade as it's developing so fast 19:45:43 abadger1999: i believe that is already the suggestion, at least till shade stableizes 19:45:46 it'd be hard to keep reasonable documentation with so many version changes 19:45:52 19:46:01 well, the dev speed is driven by adding support for new cloud providers... but that's an aside 19:46:14 kamsz: we can ,but then we would not support anything that has not been stable for a year 19:46:26 :) 19:46:43 #actoin people can propose PRs with versions for requirements where it makes sense and we'll evaluate them as they come in. 19:46:44 then just ignore my point :p 19:46:45 Shrews: not blaming you guys, it is what it is, just need to figure out if there are better ways we can adapt/reflect it 19:46:50 #action people can propose PRs with versions for requirements where it makes sense and we'll evaluate them as they come in. 19:47:02 bcoca: totally 19:47:12 abadger1999: sounds sensible 19:47:17 Shrews: and you guys respond/fix promptly, no where near the problems we've had with docker/docker.py 19:47:17 (to the action) 19:47:28 Cool. I think we've covered this topic for this meeting at least... 19:47:39 Anyone have a new topic to discuss? 19:47:55 Nothing from me, anything the Core Team want to say? 19:48:15 i need to try to get some vault features in ...keep forgetting 19:48:43 https://github.com/ansible/ansible/pull/14079 19:48:45 if anyone didn't see the announcement, the 18th is the feature freeze date for 2.1, so if you have anything you want to get in, do it ASAP 19:48:50 i have thoughts on ziplaoder and module locales... neither need to be here but can be if others are interested. 19:49:38 abadger1999: my solution is everyone speaks american english and restricts themselves to ascii from now on (also everyone on UTC timezone) 19:49:56 :) 19:50:12 abadger1999: are we going to support any encoding other than utf-8? i saw you have that string somewhat variable-ized in your ziploader PR, but it doesn't look like it's configurable nor does it pull the existing encoding out of the module if it exists 19:50:39 jimi|ansible: My answer would be no. 19:50:53 * bcoca waves at CJK 19:51:17 i didn't think so either, that's why i was curious why you did it that way 19:51:27 (This is for the encoding of modules themselves I'm thinking). 19:51:36 jimi|ansible: comment stripping. 19:51:46 * mordred waves, having missed the fnu shade talking 19:52:04 * bcoca waves 19:52:06 jimi|ansible: rather than telling the comment stripper not to remove the coding string, I just had it substitute the coding string in after stripping the comments out. 19:52:08 mordred: tis all good 19:52:26 abadger1999: ahh 19:53:23 #topic open floor 19:53:37 #info the 18th is the feature freeze date for 2.1, so if you have anything you want to get in, do it ASAP 19:53:44 #topic ziploader 19:53:48 * gundalow found this useful, not just because I got some of my PRs moving 19:54:09 #info modules themselves should be encoded in utf-8. 19:54:16 so ziploaded is going to be released in 2.1? 19:54:22 yes. 19:54:29 #info ziploader definitely will be in 2.1 19:54:35 abadger1999: :) 19:54:44 So, open floor. Does that mean I can bring up bugs? It's not an open bug yet, just wanted to get feedback before I opened the bug. 19:54:44 I have one PR merged already and a second is just waiting for review. *hint*hint* 19:54:50 #info https://github.com/ansible/ansible/pull/15344 19:55:09 pedahzur: yep 19:55:40 Bug detailed here: https://groups.google.com/forum/#!msg/ansible-project/HdD1FD-lG4A/WrGXN7rFAQAJ Docs don't say you *have* to use a string, but fails when an integer is used. 19:55:41 pedahzur: no need to wait for this meeting though, normally can ask in #ansible or #ansible-devel 19:55:43 That gets us enough to call it a new feature. Would like to get one or two more things in (python package support and relative imports) but those could be done for 2.2 instead. 19:56:02 #topic Bug: Docs don't say you *have* to use a string, but fails when an integer is used 19:56:06 bcoca: the point of this meeting is to get focus on things immediately though right? otherwise why have it 19:56:12 #info https://groups.google.com/forum/#!msg/ansible-project/HdD1FD-lG4A/WrGXN7rFAQAJ 19:56:35 jimi|ansible: said 'no need to wait' not "don't bring it up here" 19:56:59 Because here people are unable to avoid the question :) 19:57:06 pedahzur: yeah, I think that's a bug. 19:57:16 abadger1999: OK, I'll open a bug. Thanks! 19:57:21 (though personally I think ansible/proposals should be the priority for either this meeting or the Thursday meeting) 19:57:24 gregdek: well, many ways to avoid 19:57:30 LOL 19:57:40 We now return to our regularly scheduled open floor. :) 19:57:42 Hi guys, I'd love to get https://github.com/ansible/ansible-modules-core/pull/2744 in to 2.1 19:57:45 pedahzur: We should be doing the equivalent of param = str(param) when we receive the variables and then try to operate on them afterwards. 19:57:59 abadger1999: That makes sense. 19:58:06 I might even do a PR if I get brave. :) 19:58:07 abadger1999: not sure tha tis correct, what if you get list/dict? 19:58:21 Ah, yum! 19:58:31 gregdek: maybe proposals should be added to agenda? 19:58:33 pedahzur: guessing that param is not marked properly as being an int 19:58:36 gregdek: want me to add? 19:58:36 bcoca: Well.. but should I guess I'm saying -- IIRC, the current code is doing X. 19:58:42 s/but/by 19:58:44 * jimi|ansible checks real fast 19:58:48 gundalow: not until someone agrees with me :) 19:59:04 But obviously somewhere we're doing it differently than that. 19:59:21 passno = dict(default=None), 19:59:25 ^ pedahzur 19:59:32 so definite bug 19:59:39 easy fix though 19:59:43 Yup! 19:59:51 send the pr and we can merge it right in now 20:00:29 def _check_type_str(self, value): 20:00:31 if isinstance(value, basestring): 20:00:32 return value 20:00:34 # Note: This could throw a unicode error if value's __str__() method 20:00:35 # returns non-ascii. Have to port utils.to_bytes() if that happens 20:00:37 return str(value) 20:00:38 ^ abadger1999 20:01:10 bcoca: that's what I was thinking of 20:01:27 #topic https://github.com/ansible/ansible-modules-core/pull/2744 yum support for downgrading packages 20:01:46 already there, just need to specify type in module, the 'raw' behaviour is probalby what he is hitting 20:02:00 willusher: So what's the history on this? 20:02:37 Support was removed in an earlier version because of a bug. 20:02:59 bcoca: yeah it's the raw behavior 20:03:00 Module was then refactored, so I couldn't just fix the bug. This adds that functionality back in. 20:04:08 willusher: ido you know what hte bug was? 20:04:41 The bug in the original code was the splitFilename() function returning unexpected results in certain scenarios. 20:06:34 yay reboots 20:06:49 willusher: so now you're using the builtin method to compare the EVR? 20:07:02 PR for passno fix. I think that's the right way. 20:07:04 https://github.com/ansible/ansible-modules-core/compare/devel...jkugler:patch-1 20:08:36 Sorry, the actual PR: https://github.com/ansible/ansible-modules-core/compare/devel...jkugler:patch-1 20:08:42 pedahzur: no need to do that, just do `type='int'` for the param in the argument spec 20:09:04 or if it really needs to be a string, do `type='str'` 20:09:10 Oh! 20:09:20 AnsibleModule will handle all of the conversion for you :) 20:09:21 (still learning about ansible) :) 20:09:44 no worries, just force-push to update your branch and you won't need to resubmit 20:10:35 jimi|ansible: I'm using splitFilename() in a way that doesn't hit the original bug. 20:12:06 willusher: is that by making sure that spec conforms to certain formating before passing to splitFIlename()? 20:12:17 willusher: If so, where is that being done? 20:12:34 my memory is a little faded (I submitted this PR late last year), but I commented this here: https://github.com/ansible/ansible-modules-core/pull/2744/files#diff-50dbb2224ca8ab1fc7b6b693f9be32faR711 20:13:37 I was sincerely hoping never to be party to a NEVRA conversation again, lol (sigh) 20:14:35 gregdek: hah 20:16:05 jimi|ansible: OK, better this time. https://github.com/ansible/ansible-modules-core/pull/3413 20:16:18 willusher: https://gist.github.com/abadger/c673b5c02f15c775603ddeca8bbdd348 20:17:24 willusher: I haven't tried to break this code in a while but I think those may all be valid values for spec.. some of them don't seem to work with the logic for downgrade. 20:20:20 pedahzur: and you tested that, and it resolves the error for you? 20:20:37 just want to make sure it's not something in the module code that's relying on it being a string 20:21:02 Alright... we've gone over time for the meeting by a little. 20:21:30 willusher and pedahzur: We can continue discussing stuff in #ansible-devel 20:21:50 pedahzur: it looks like it's not the module code, so if you've tested it i'll merge it 20:22:02 I'm going to let other participants go home if they want, though ;-) 20:22:09 #topic Open floor 20:22:25 Any burning comments? Otherwise I'll close the meeting in 60s 20:22:54 offtopic: If anyone has any recomendations for a decent monitor (highres maybe even 4k) please let me know offchannel 20:23:03 30s 20:23:12 WAIT 20:23:18 srsly, wait :) 20:23:19 GREG! 20:23:26 proposals? 20:23:37 I'd like to amend one of these meetings to cover ansible/proposals in particular. 20:23:45 #topic Proposals 20:23:52 Go ahead gregdek 20:24:03 Well, that's it, LOL. (Mostly.) 20:24:08 hah 20:24:22 Is this the right meeting for those discussions, and if not, where is the right place? 20:24:28 Because we currently have: 20:24:47 * Docker modules; 20:25:06 * Auto-install of roles; 20:25:28 * Publish.subscribe of handlers; 20:25:48 ...and a few others. 20:26:02 well docker modules are being done, right? 20:26:04 We can, of course, just rely upon the issues themselves, but I'm concerned that most of them will rot. 20:26:15 should we close that proposal or what's the status with chouseknecht working on them? 20:26:28 We definitely should cover them sometime I think. 20:26:36 jimi|ansible: they are, but there's been very little feedback. If the assumption is "chouse has got this an we agree with everything he's doing," then that's ok, but we should, y'know, say that. :) 20:26:55 If we devote a whole meeting to them, though, then that takes away the reason that we have the meetings at different times of day. 20:26:58 (And fwiw, chouse has asked for feedback and hasn't gotten much yet.) 20:27:05 abadger1999: true enough. 20:27:23 i gave some, but have been meaning to get back to it, keep getting distracted by bugs 20:27:27 Just want a way to make sure we're addressing them on a semi-regular basis. 20:27:43 Maybe we should cordon off a specific amount of time for proposals (and expand the meeting time if we feel we don't have time to do both things justice?) 20:27:43 i'm fine putting it on the agenda, Issues/PRs/Proposals 20:28:04 I'm ok with that. We may need to have a way for people to ask for time on the agenda. 20:28:06 new business, old business 20:28:28 For now, I'll say "hey proposals is part of the purpose of this meeting" if we agree to that, and we can work out details. 20:28:53 and we do not discuss new business until next quarter! 20:28:53 Good enough for now? 20:28:56 gregdek: +1 20:28:58 LOL 20:29:05 +0.325 20:29:15 (https://www.youtube.com/watch?v=DZtEsJyTwdA for those who don't get the reference) 20:29:52 LOL 20:29:59 What is that from? An Addams movie? 20:30:03 yep 20:30:04 yeah, the first one 20:30:05 Man, Raul Julia was a bad ass. 20:30:28 anyway. thanks, I'll make the change in the meeting description. 20:30:32 I'm done now. :) 20:30:44 cool, and i'll ping house to let him know to update the proposal when the modules drop 20:30:51 #action gregdek to put proposals onto the charter for the meeting. We'll spend some time on them each meeting -- make it more formal if we find we're not giving them enough time. 20:31:07 well, chouse ^^^ 20:31:14 okay then. 20:31:15 consider him pinged 20:31:16 :) 20:31:27 Ending meeting in 5 20:31:40 i tried autocompleting chousekn... and when it didn't complete i assumed he wasn't in here 20:31:48 #endmeeting