13:00:47 #startmeeting Pulp Triage 2020-04-24 CLI user story planning 13:00:47 !start "CLI user story planning" 13:00:47 #info dkliban has joined triage 13:00:47 Meeting started Fri Apr 24 13:00:47 2020 UTC. The chair is dkliban. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:00:47 Useful Commands: #action #agreed #help #info #idea #link #topic. 13:00:47 The meeting name has been set to 'pulp_triage_2020-04-24_cli_user_story_planning' 13:00:47 dkliban: dkliban has joined triage 13:00:56 #info daviddavis has joined triage 13:00:56 !here 13:00:56 daviddavis: daviddavis has joined triage 13:01:04 here's a link to the hackmd pad https://hackmd.io/aH9RqAS_TrGyxoi1UGRgig 13:01:56 i can't seem to edit it 13:02:00 #info bmbouter has joined triage 13:02:00 !here 13:02:00 bmbouter: bmbouter has joined triage 13:02:05 I divided the user stories into user vs plugin writer 13:02:11 oh ... there is a button for editing in the top 13:02:15 ha yea 13:02:37 I'm assuming we want to describe what an MVP looks like for the cli, does that make sense? 13:02:43 yes 13:03:01 to give a high level, I was hoping we could handle the happy path for pulp_file (create repo, sync, publish, distribute) 13:03:12 and then also add a couple plugin writer stories 13:03:17 that sounds good 13:03:39 I also would like to cover some of the base functionality (name based resolution, status checking, and handling version client/server) mismatch 13:04:12 #info ggainey has joined triage 13:04:12 !here 13:04:12 ggainey: ggainey has joined triage 13:04:44 bmbouter: cool, I think status checking is great. I wonder if the other two are required for an MVP? 13:04:53 I definitely agree we want them 13:05:23 to me the bare minimum is status and task tracking and cancelling 13:05:37 +1 13:05:38 #info ttereshc has joined triage 13:05:38 !here 13:05:38 ttereshc: ttereshc has joined triage 13:06:16 also name based I think is minimum because otherwise it's too similar to httpie's use 13:06:51 I'm +0 to that 13:07:04 are we thinking that cli will just use name and only name? 13:07:16 nope, it can use either name or pulp_href 13:07:17 or will it also support some sort of id like href 13:08:07 daviddavis: i captured that on line 13 13:08:41 what about if we split it: "As a CLI user I can specify name or pulp href to reference resources" and "As a CLI user, I can create a file repository version by specifying file repository and a file remote" 13:08:53 +1 13:10:15 this looks great 13:10:41 any else from the user stories for our CLI MVP? 13:11:51 what about authentication? 13:11:55 what about listing content? 13:12:02 yes 13:12:52 authentication is a tough one right now ... we have to provide it with each request. can we store the creds in a file for now? 13:13:07 yea, I wonder if the CLI can use .netrc for now 13:13:30 i had the same thought 13:13:37 modify endpoint? to add/remove content to/from a repo verison 13:13:55 ttereshc: good 13:14:04 should we have a "...can set up a configuration for..." story? so I can set user/login/pulp-instance in a single place? 13:14:07 or is it out of mvp scope? I'm not sure where to draw the line 13:14:38 ggainey: actually that makes sense 13:14:39 ttereshc: I think minimal-happy-path for MVP 13:16:01 I updated line 8 to add something about configuration and extended it to handle auth 13:16:39 also added line 22 13:16:45 yeah, I turned editing on and then you were done - you're either too fast, or I'm too slow today :) 13:16:50 haha 13:17:08 for L#7 is the expected output json like the server response? or is it parsed basically? 13:17:15 good question 13:17:23 bmbouter: i think it's parsed 13:17:27 I agree 13:17:49 I think that goal is bigger than L#7 so I think it should get it's own line item 13:17:52 * bmbouter writes one 13:18:12 that was a general question i was musing on - should it be possible to tell the CLI to return machine-readable output, with human-readable (ie parsed) the default? 13:18:13 L#12 now 13:18:18 on our old cli PoC with click we provided highlighted js https://github.com/daviddavis/pulp-cli#demo 13:18:31 nice 13:18:40 ggainey: yes I think human-readable as default and later we can add a --json option maybe? 13:18:47 i agree 13:18:49 bmbouter: +1, sounds good 13:18:55 it should probably configurable. I know some users wanted csv for hammer. 13:19:00 (and outside of MVP, but def would be great to get there) 13:19:11 I was about to suggest somehting along those lines +1 13:19:13 ggainey: humans definitely want to make machines use this CLI also ... so yes, json as an option later 13:19:17 yus 13:19:37 +1 csv future support also 13:19:57 should the CLI monitor tasks? 13:20:08 not for the mvp 13:20:09 hrm, does the REST API support "return results to me in CSV"? 13:20:19 concur RE "not MVP" for monitoring 13:20:31 ggainey: i don't think so 13:20:34 it's pretty easy to do https://git.io/JfL4z 13:20:40 but I'm fine to leave it off 13:21:02 ok, anything else for user stories? 13:21:02 daviddavis: it's all easy to do :) but how many things do we want to do ? 13:21:11 haha all of them 13:21:15 heh 13:21:16 ha 13:21:23 what does monitor tasks mean? 13:21:26 to you 13:21:27 reminder: the 'M' stands for 'Minimal' :) 13:21:40 bmbouter: I heard 'wait for' 13:21:49 we def need to wait for I think at a minimum 13:22:04 kk - that's the code daviddavis showed us 13:22:20 a script for example calling the CLI would benefit greatly from knowing each command only returns when the server side has completed 13:22:35 otherwise they have to take that responsibility (is my reasoning folks already are agreeing) 13:22:47 bmbouter: 'CLI commands serialize', basically 13:22:57 which is great as long as the task eventually returns... 13:23:12 let's add it to the list 13:23:18 I mean, that's where we are w/pulp-admin - it waits, after telling you "it's OK to interrupt this" 13:24:21 yup 13:24:33 ok anything else 13:24:40 for user stories 13:25:02 !friday 13:25:02 ♪ It's Friday, Friday, gotta get down on Friday ♪ 13:25:06 lol 13:25:07 ok, plugin writer stories 13:25:15 who added line 30 13:25:20 bmbouter: 13:25:22 i am guessing 13:25:27 cool 13:25:50 I did 13:26:06 what does "discovered by an entry point" mean? 13:26:14 oh a python entry point 13:26:15 python entrypoint 13:26:18 yus 13:26:53 can we say maybe "discovered by a Pulp CLI" 13:27:08 or I guess python entrypoint is fine 13:27:18 these are plugin writer stories 13:27:24 yep 13:27:31 i had a hard time formulating line 33 13:27:33 yeah it's kind of implementation more than story but yeah 13:28:08 that looks better 13:28:17 +1 13:29:04 just added line 35 13:29:20 34 you mean ... that looks good 13:29:48 those look good 13:29:53 +1 13:29:53 bootstrapping is important, CI important 13:30:02 rebecca black important 13:30:06 lol 13:30:14 haha 13:30:24 maybe it should even be a separate template? 13:30:29 we can think about it 13:30:37 yeah ... i am not too concerned about that part 13:30:41 it probably will be 13:30:47 yup 13:30:52 github has repo tepmates now also 13:30:58 interesting 13:31:14 i love tepmates! they are the best kind of mates! 13:31:18 haha 13:31:23 lol 13:31:26 :) 13:31:33 ok, anything else? 13:31:43 maybe soemthing about version checking? 13:31:44 so what does L#33 have in terms of implications on L#18 - L#27 ? 13:32:06 it will probably mean that we can just test and close out these user stories 13:32:30 what about calling them out as a "expected to be auto-generated" section? 13:32:37 sure 13:32:38 sure 13:32:41 and I think upload maybe would not be auto generated? wdyt? 13:33:09 yes, that'll probably be chunk 13:33:13 I guess the non-chunked upload is simple enough that it will work? 13:33:17 yeah 13:33:52 I'll file the autogenerated stories together as a single story 13:34:10 yep 13:34:21 speaking of which, should we create a separate redmine project? 13:34:30 i think so 13:34:48 is the code going to live in pulpcore? 13:34:57 i don't think so 13:35:01 I had imagined a pulp-cli repo 13:35:07 yeah sounds right 13:35:25 I want to get katello to review these too 13:35:40 so we need a pulp/pulp_cli project and a new redmine 13:35:49 I think so 13:36:31 I will work on the latter before I file these issues 13:36:34 anything else? 13:36:57 lg2m 13:37:00 should I email these out before I add them into redmine or after? 13:37:25 daviddavis: where are you going to email? pulp-list? 13:37:47 uh maybe both pulp-list and pulp-dev? 13:38:00 let's email out ASAP 13:38:06 and then open up stories 13:38:34 sounds right 13:38:38 ok I'll do that today 13:38:50 alright, last call 13:38:58 should line 30 go above line 16? 13:39:23 sure 13:40:23 actually artifacts doesn't belong in the pulp_file section 13:40:37 are docs assumed or should we add a story to document, at least the plugin writer's part? 13:40:55 ohh docs 13:40:59 we should add stories 13:41:00 +1 add docs line 13:41:05 also, I assumed no testing? 13:41:22 daviddavis: you already added a line about CI so the joke is late 13:41:34 no we'll just use did 13:41:36 didn't 13:41:37 LOL 13:41:47 heh 13:41:50 :) 13:42:14 https://github.com/daviddavis/didnt 13:42:29 ok, I added two docs stories: one for the user and one for the plugin writer 13:43:08 sweet 13:43:30 alright, last call again 13:43:54 i'll take a ginger beer 13:43:57 ha 13:44:06 !end 13:44:13 #endmeeting 13:44:13 !end