15:00:25 #startmeeting craton 15:00:25 Meeting started Mon Jan 30 15:00:25 2017 UTC and is due to finish in 60 minutes. The chair is jimbaker. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:27 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:00:30 The meeting name has been set to 'craton' 15:00:48 o/ 15:00:50 #chair sigmavirus sulo jimbaker 15:00:50 Current chairs: jimbaker sigmavirus sulo 15:00:51 o/ 15:00:55 #link https://etherpad.openstack.org/p/craton-meetings 15:01:08 #topic Roll Call 15:01:12 o/ 15:01:28 o/ 15:02:41 sigmavirus, as usual please be today's chair 15:02:59 sure 15:03:20 #topic Action Items from the Last Meeting 15:03:25 #link http://eavesdrop.openstack.org/meetings/craton/2017/craton.2017-01-19-17.03.html 15:03:31 #info there were no action items 15:03:48 oh wait 15:03:50 that's two weeks ago 15:03:52 hold please 15:04:06 http://eavesdrop.openstack.org/meetings/craton/2017/craton.2017-01-23-15.00.html 15:04:11 #link http://eavesdrop.openstack.org/meetings/craton/2017/craton.2017-01-23-15.00.html 15:04:32 #info We don't have an agenda for this week 15:04:48 so standing agenda please 15:04:59 #info It looks as though jimbaker completed his action item 15:05:15 #topic Stand-up 15:05:37 #info I'll go round-robin and collect each person's stand-up finishing with myself. Please let us know when you're done with your stand-up items 15:05:50 #topic Stand-Up :: sulo 15:06:06 so my functional tests are up for review 15:06:25 i am currently working on networks, network-devices and network-interfaces cli commands 15:06:46 will prolly look/work at misc stuff for demo this week 15:06:54 done 15:07:06 #topic Stand-Up :: jimbaker 15:08:15 i got some initial code working for python client and CLI support of setting/getting variables. we just discussed over in #craton and -get/set-vars is probably the ergonomics for this for the CLI 15:08:36 example: cat baz.json | craton host-set-vars 8 x=47 y=99 15:09:00 (sets from baz.json, then adds additional settings x=47, y=99; works well) 15:09:11 will push into WIP this morning 15:09:14 and finalize 15:09:14 * sigmavirus holds tongu 15:09:42 will be interested in hearing more from sigmavirus, but later 15:09:43 ;) 15:10:16 so this is in prep for this week's round of demos. that's going to be my main focus, along with onboarding thomasem 15:10:20 done 15:10:46 #topic Stand-Up :: thomasem 15:11:04 first day, so getting up-to-speed 15:11:40 probably going to be pinging folks, most likely jimbaker regarding dev env setup. I've got craton pulled down and tests are passing and such (first time, too, nice to see it work with a basic python env :) 15:12:06 thomasem: so you're saying "Thank god we don't use Jython"? :P 15:12:14 Going to also be looking at reviews, already glanced over the one sulo sent me last week, so some questions may be coming out of that. 15:12:39 Well, I used to work on other projects, like Nova, Neutron, etc. and those tests never passed locally the first time. Always had to do some magic to get them all working correctly. 15:12:40 sigmavirus, not today... 15:13:11 thomasem: I'm just teasing jimbaker 15:13:11 Anyway, small amount of distraction from a previous project tomorrow morning, but other than that just getting my feet wet. 15:13:27 sigmavirus, :) 15:13:45 done 15:13:52 #topic Stand-Up :: rainya 15:14:15 * sigmavirus noticed rainya join the meeting :P 15:14:43 sigmavirus, my textual client just signed in :( sorry! not really here 15:15:28 Okay :) 15:15:31 No need to apologize 15:15:36 #topic Stand-Up :: git-harry 15:17:18 Apart from the usual work keeping up with reviews, I need to finish of a spec I've started with some suggestions on how the variables API could be improved. 15:17:47 git-harry, that would be most welcome work 15:18:08 It's about 90% there so should be done today or tomorrow. Also noticed a bug in the unit testing that I want to look into. 15:18:14 done 15:18:26 I don't see Syed_ or jovon, so I'll skip them 15:18:52 Did I miss anyone else? 15:19:14 (I'll take silence as a no) 15:19:19 #topic Stand-Up :: sigmavirus 15:19:40 Wrapping up the pagination work - the response bodies have all been modified to include the hypermedia API links 15:19:48 The links that we include are first, prev, self, and next 15:20:06 Working on fixing up that testing, adding more testing, etc. 15:20:27 Depending on the order with which they merge, I'll either be updating sulo's patches, or rebasing and updating mine =P 15:20:49 Hoping to get to some client reviews today too 15:21:03 #topic Priority Reviews 15:21:05 cool 15:21:30 https://review.openstack.org/#/c/408784/ 15:21:40 https://review.openstack.org/#/c/422564/ 15:21:49 #link https://review.openstack.org/#/c/408784/ 15:21:56 #link https://review.openstack.org/#/c/422564/ 15:22:05 sulo, thanks, looks like those reviews got fixed 15:22:05 https://review.openstack.org/#/c/426250/ << jim needs to fix the host delete api first for that to work 15:22:18 #link https://review.openstack.org/#/c/426250/ 15:22:55 sulo, i pushed up some changes on that, works fine except for some problems with a region test (which i hope is addressed in the other reviews) 15:23:06 yeah they should all work, i am not sure how the coverage looks 15:23:10 maybe missing dependency? but the region test was borken 15:23:12 prolly not great, but its a start 15:23:13 broken 15:23:18 although borken is also good 15:23:37 yeah i had bad code pushed for the regions tests 15:23:40 sulo, anyway, we will revisit and get through 15:23:41 fixed that today 15:23:44 cool 15:24:19 Any other priorities? 15:24:55 well 15:25:09 not priority but i'd apprecitate folks start looking at 15:25:13 #link https://review.openstack.org/#/c/421337/ 15:25:26 it will open paths for next week 15:25:30 sulo, yep, owe you that detail 15:25:50 and it's likely something we will have thomasem working on as well 15:26:02 given interest in containers 15:26:18 +1 15:27:14 Definitely on my agenda. :) I did glance over it yesterday, but would like to get more up-to-speed before taking up a bunch of y'alls time asking questions I could have answered myself. 15:27:22 s/yesterday/last week 15:27:29 Shall we move on? 15:27:53 (Silence in this case is acceptance) 15:28:05 #topic Open Discussion 15:28:26 sigmavirus, indeed it is. i will add that to the standing agenda :) 15:28:54 so we have demos tomorrow and thursday 15:29:12 demo #1 will be in our usual vidyo room, at our usual vidyo time 15:29:56 so 10a MT to be precise (note we do not use UTC here, because we want to move dev meetings to accommodate changes in DST) 15:30:20 So, is there any guides on getting a basic dev env set up? Also, I think I might have a schedule conflict with some of the meetings this week. I will be rearranging my recurring appointments to fit the Craton schedule better. 15:31:12 I will be comparing calendars this morning and will let y'all know in #craton about what things I can and cannot attend. By next week, for sure, I will have my schedule re-arranged properly. 15:31:20 thomasem: http://craton.readthedocs.io/en/latest/dev/install.html 15:31:21 thomasem, ok, hopefully we can work these out. demo #2 is 9a MT on thurs, followed by our usual text #craton meeting at 10a MT 15:31:45 XD Thanks, sulo! 15:32:00 always good when we doc stuff! :) 15:32:12 It really is. 15:32:35 Perfect. This should get me going! 15:32:57 sigmavirus, you were holding your tongue earlier about i believe the CLI ergonomics 15:32:59 thomasem: actually, not sure the doc covers https://github.com/openstack/craton/blob/master/Dockerfile#L14 in dev setup 15:33:09 but thats prolly much easier than doing all the installs etc 15:33:26 so one example $ cat baz.json | craton host-set-vars 9 x=47 y=99; craton host-get-vars --format=json 9 ; 15:33:27 Ahhh, well I believe in myself. I'll see how far I get and ask questions if I get stuck., 15:33:45 jimbaker: yeah, so the reality is that cat'ing a json file and providing params on the cli at the same time looks absolutely awful 15:33:50 sulo, yeah that's an essential piece to know 15:34:03 plus all the docker commands to attach a bash shell; or get logs; etc 15:34:05 Danke shön, sulo 15:34:09 that means you're looking at stdin and the cli for things and which ones win if x and y are in both? 15:34:39 if baz.json has x=48, y=20 and you set them on the CLI, which gets priority? It's best not to try to guess at this point and to disallow using both 15:34:43 thomasem: docker logs -f craton-api; docker exec -it craton-api mysql -ucraton -pcraton craton; docker exec -it craton-api bash # for a bash shell, etc 15:34:53 Right 15:35:01 Thanks 15:35:07 also, stdin is actually a disaster to try to handle consistently between py2 and py3 as well 15:35:20 Oh? 15:35:21 sigmavirus, my assumption is that the args passed to the CLI do, vs stdin 15:35:28 and i implemented that assumption :) 15:35:34 and documented that assumption 15:35:40 jimbaker: you're going to confuse 50% of our users one way or the other 15:36:12 CLIs are notorious for this. but if we offer two ways of doing stuff, there are two choices 15:36:20 1. allow both, and have an override 15:36:32 2. raise an error and say 'choose one, oh user' 15:36:36 jimbaker: there's three ways of doing it now, stdin, cli args, and both 15:36:44 1. still works, but it's two commands instead of one 15:36:54 and that makes explicit what won't be explicit to users unless they carefully read the docs 15:37:07 sigmavirus, that feels very unlike CLI to me 15:37:08 Is there a use-case for each of these different ways? Is there a way that covers each of the use-cases? Giving multiple ways of doing things tends to cause maintenance and UX problems. 15:37:11 hosts-set-vars < baz.json ; host-set-vars x=48 y=99 15:37:22 CLIs generally take a variety of options 15:37:39 thomasem: right, hence why I want to restrict it from 3 to 2 ways 15:37:43 Gotcha 15:37:53 ok, sigmavirus sounds like you want one command after all 15:37:55 where the 3rd way has implicit order and precedence that is made explicit 15:38:10 jimbaker: right, I want a command that will *either* take stdin, or cli args, but not both 15:38:27 so you want my #2 option - 2. raise an error and say 'choose one, oh user' 15:38:35 yes 15:38:41 perfectly fine 15:39:53 I'd be interested in seeing the use-cases for each method. 15:40:08 * thomasem doesn't know enough about what it actually does yet to have an opinion 15:40:14 thomasem, so stdin works better with tooling like jq 15:40:24 where you keep in a json pipeline 15:40:29 right 15:40:52 I'm more referring to a user has a goal to accomplish, and they have this tool that does it. Which are they more likely to go for? 15:41:43 thomasem, yeah, so the thinking i would have is that there is a very casual use from the CLI - i'm making changes, trying stuff out 15:42:25 then one elaborates with a little pipelining. and then this is further developed as packaged tooling, using the python client 15:42:52 Goootcha 15:43:24 Okay, so, yeah. I'm personally fine with both ways. Admittedly, a lot of tools (look at... idk, httpie, for example) stdin and args are both acceptable and both are handy at different times. 15:43:29 So, it's worth the maintenance cost. 15:43:50 so if someone says - but that takes multiple steps, doesn't cache, etc, if from CLI... well we are not going to work on making the CLI performant like that 15:44:08 Gotcha 15:44:09 thomasem: stdin is specifically used for data you don't want httpie to structure though 15:44:20 (I kind of help Jakob support that tool) 15:44:27 Haha, nice 15:44:29 structure/modify 15:44:44 That's a good point and how I've used it several times. 15:44:48 so i think the point here is that sigmavirus has been down this path before... 15:44:58 and really wants to avoid some pains 15:45:01 Gotcha 15:45:09 I've taken far too many paths 15:45:12 My feet are weary 15:45:31 when all we wanted is just an easy to use CLI, and a sign pointing to the python client for heavy usage :) 15:46:24 so +1 on this, much as we did in not combining with -show 15:46:34 even though it's the same underlying code 15:48:08 Cool. Thanks for the explanation. 15:48:52 instead let's do the colorization, command completion support, and all the other bells and whistles ;) ok, maybe not. at least not for this week 15:49:03 Haha 15:49:27 anything else? 15:50:04 jimbaker: uh, cli shell completion is a gnarly topic in openstack with downstream redistributors 15:50:23 also they aren't easily shippable in Python anyway because some tools restrict who can write what files to where 15:50:37 so that's stuff I think might be better left until someone actually desperately asks for it =P 15:50:49 which they won't. good 15:51:03 They may well ask for it 15:51:18 But we'll have no good way of shipping it to them besides them grabbing it out of an sdist or the repo 15:51:41 I know of many ways to really annoy downstream redistributors ;) 15:51:53 sigmavirus, i can only imagine 15:52:25 I've nothing else for the meeting 15:52:43 cool, i think we are done 15:52:50 Cheers! 15:53:32 #endmeeting