15:00:34 #startmeeting Bodhi stakeholders (2017-03-28) 15:00:34 Meeting started Tue Mar 28 15:00:34 2017 UTC. The chair is bowlofeggs. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:34 Useful Commands: #action #agreed #halp #info #idea #link #topic. 15:00:34 The meeting name has been set to 'bodhi_stakeholders_(2017-03-28)' 15:00:35 #meetingname bodhi_stakeholders 15:00:36 The meeting name has been set to 'bodhi_stakeholders' 15:00:37 #topic salutations 15:00:38 #chair acarter bowlofeggs dgilmore masta mboddu nirik pbrobinson puiterwijk trishnag 15:00:38 Current chairs: acarter bowlofeggs dgilmore masta mboddu nirik pbrobinson puiterwijk trishnag 15:00:48 .hello trishnag 15:00:49 trishnag: trishnag 'Trishna Guha' 15:00:53 .hello roshi 15:00:54 roshi: roshi 'Mike Ruckman' 15:00:58 * puiterwijk is half here 15:01:11 half-hello puiterwijk ☺ 15:01:24 .hello sochotni 15:01:25 sochotni: sochotni 'Stanislav Ochotnicky' 15:01:25 Two meetings at exactly the same time :( 15:01:32 hmm 15:01:35 interessant 15:01:42 .hello dustymabe 15:01:42 * threebean 15:01:42 dustymabe: dustymabe 'Dusty Mabe' 15:02:12 bowlofeggs: heh 15:02:23 puiterwijk: what's the other one? 15:02:29 sochotni: hubs 15:02:29 * nirik is sort of here. 15:02:40 #topic announcements and information 15:02:42 #info A Bodhi 2.5.0 beta is deployed to staging: https://bodhi.stg.fedoraproject.org/ 15:02:43 #info Release notes available at https://bodhi.stg.fedoraproject.org/docs/release_notes.html 15:03:21 I wonder if it's worth posting to devel list asking for feedback... 15:03:30 could be brutal, but might be worthwhile. 15:03:33 the beta has been on staging for about a week, so i think i will release it this week. it can't get deployed to prod obviously, but it can get released to rawhide and f26 updates-testing 15:03:54 .hello alcir 15:03:55 alcir: alcir 'Alcir Azevedo dos Santos' 15:04:02 .hello alciregi 15:04:03 alcir: alciregi 'None' 15:04:33 nirik: i did actually post it deep in a thread on fedora-devel in response to the taskotron results, so probably not that many people read it, but it was "kind of" posted there 15:04:46 ok, cool. 15:04:52 * masta is around 15:04:53 hi 15:05:00 wow, 2.5.0 looks nice! https://bodhi.stg.fedoraproject.org/updates/FEDORA-2017-cb0ff57e45 15:05:03 i don't have ny other announcements 15:05:07 yeah i really like the new theme 15:05:11 that was ryanlerch++ 15:05:13 ryanlerch++ 15:05:13 threebean: Karma for ryanlerch changed to 9 (for the f25 release cycle): https://badges.fedoraproject.org/tags/cookie/any 15:05:34 updates in particular are much easier to find the info you care about 15:05:39 bowlofeggs: are the icons missing alt text? 15:05:43 the comments are the main thing 15:05:47 and the front page doesn't load a million things. 15:06:05 sochotni: that's fixed on the develop branch (or it might be in a PR, can't rememebr if i merged it yet or not) 15:06:19 ok 15:06:49 cool, well let's move on to what i think will be the main thing to discuss today: 15:07:03 #topic Requirements gathering: multi-type support in Bodhi 15:07:05 #info There is a milestone tracking adding multi-type support to Bodhi: https://github.com/fedora-infra/bodhi/milestone/4 15:07:06 We need to gather requirements for this effort. 15:07:36 it's time to start working on adding support for other types of content to Bodhi, which means we have a lot of things to figure out 15:07:52 it sounds like the first type we will add will probably be modules 15:07:55 I started a doc (and I promised I'd put it on a Fedora wiki or a git or something of the sort...) 15:08:15 yeah, I'd probably try to focus on what the minimum requirements would be for F27 deadlines 15:08:20 sochotni: is that doc publicly accessible? can you link it here? 15:08:37 bowlofeggs: well...that's the part I haven't gotten around to :/ 15:09:19 one question i have is whether updates should be able to have more than one type in them. for example, should a single update be able to include an RPM and a container, or should those be two updates? 15:09:47 bowlofeggs: https://public.etherpad-mozilla.org/p/fedora-modules-in-bodhi 15:10:22 for that I would go with not mixing content in a single update 15:10:53 bowlofeggs: could you put both updates out at the same time? and have one depend on the other? 15:11:14 i.e. container depends on rpm, but someone could theoretically use the container to test the rpm and karma the rpm 15:11:36 +1 15:11:38 dustymabe: i don't know that using one update to test another would be ideal 15:11:53 bowlofeggs: one is basically a derivative of the other 15:12:02 bowlofeggs: well, it'd end up in more test results in bodhi I think 15:12:12 yeah kind of, but what if the environment affects your testing in some way 15:12:22 bowlofeggs: i think we have that problem today 15:12:28 true 15:12:31 i install rpm on "my" system 15:12:35 and test it 15:12:58 I guess the only "new problem" this would introduce is possibly too many people testing it the "same way" 15:13:03 so not enough variety 15:13:13 having relationships between updates is certainly possible, an interesting proposal 15:13:36 I kinda think we are heading into too much details right away... could we just agree what would the minimal required functionality be in Bodhi to ship modules for F27? 15:13:37 yeah 15:13:56 i.e. obviously - shipping modules *somehow* through the UI 15:13:57 sochotni: well we do need to figure this question out now because it influences the data modeling 15:14:08 sochotni: after all, the topic is "multi-type", not just modules 15:14:14 we need bodhi to handle containers too 15:14:32 and the modeling choices we make early on will make adding third/fourth types easier or harder 15:14:43 so i think it's important to think this through early on 15:14:57 right, but the problem is that if we have to meet F27 deadlines we need to limit what we do 15:15:02 mdoules also have these questions 15:15:08 I am OK with keeping some things open 15:15:19 but we need to say what is non-negotiable for F27 15:15:48 right, but i also don't want us to be "painted into a corner" because we tried to take shortcuts 15:16:39 so it sounds like nobody thinks we will need updates to have more than one type in them 15:16:51 which means that updates are type-specific 15:17:14 yeah, I could go either way. but type-specific seems cleaner. 15:17:25 we haven't heard from releng on this: dgilmore, mboddu, masta: do you have thoughts on that? 15:17:31 having some kind of reference between derivative updates seems like a *very* good idea. 15:17:36 yeah, I'd rather we create a separate update for each type same as we do for each build 15:17:43 bowlofeggs: just joined, let me take a look 15:18:03 (for each release I meant) 15:18:26 bowlofeggs: sorry not really following this meeting 15:19:01 dgilmore: so whatever we come up with for Bodhi/shipping non-rpm stuff RCM will be fine with? 15:19:20 sochotni: no, Just doing 20 things at once 15:19:40 I am not sure what is even being asked here 15:20:19 dgilmore: what are your thoughts on bodhi updates having multiple content type in a single update? 15:20:33 sochotni: likely we have to support it 15:20:34 dgilmore: i.e. one update having rpm as well as container or something else 15:20:47 in the case of something like shell shock 15:20:58 a single update with all updates would be ideal 15:21:37 but even when the change is say glibc, we may want, container, cloud image, rpm updates all in one 15:21:58 but if it's one update that means they could all go or not at once... 15:22:09 bowlofeggs: what happens to karma/votes etc when you change one of the builds in a single update? 15:22:11 say the rpm is ok, but there's a -1 on the container 15:22:14 nirik: yeah 15:22:26 exactly where I was going with that 15:22:40 sochotni: currently karma is reset 15:22:52 hum, can you attach one bug to multiple updates? 15:23:05 i'd think we would want to be able to release the rpm even if the container is broken 15:23:08 I would suggest that if there is a bug in the container it also exists in the rpm 15:23:38 what if it's something more fundamental about the container, like it just doesn't function at all, and not due to the rpm? 15:23:39 perhaps or yeah, perhaps we want to fix the container before pushing anything out 15:24:08 the more types we add, the higher chance of having one of them preventing pushing out an update 15:24:21 that could be bad int he case of a severe security issue i'd think 15:24:21 sure. 15:24:40 we see a problem like this today with ostrees 15:24:41 yeah i'd rather the container not block the rpm 15:24:43 bowlofeggs: there may be cases we want to decouple them 15:24:53 so the flexibility to do so might be good 15:25:02 if you have security fix - it has assigned CVE - can you list bodhi updates if you have a CVE ID? 15:25:15 the ostree builder is lately the most frequent reason for the masher to fail (over the past 2-3 months or so) 15:26:05 in any case - I'd prefer we really limit update to one content type. It gives us better UX options too 15:26:24 once you start mixing content you might realize some things are useless for some content types 15:26:35 sochotni: they would link against the same CVE bug, but i'm not sure you can easily search bodhi by that today 15:26:36 am pretty strongly opposed to that 15:26:42 I am 15:26:49 dgilmore: because? 15:26:56 I would rather make sure we deliver all the things fixed by a bug 15:27:40 sochotni: we ship a ssl cve fix, people see it out, pull updated containers thinking its fixed but hey suprise thats done differently 15:28:22 dgilmore: i think that's going to be the case anyway, we only build containers every two weeks right? 15:28:23 there's another problem with putting multiple types into a single update: suppose users karma beacuse they tested the rpm, but nobody actually tested the container/module/whatever. the update will go out with those being untested 15:28:43 dustymabe: no 15:28:48 with separate updates, we have better tracking on what was/wasn't tested 15:28:53 * threebean nods 15:29:03 mixed content type in a single update it just makes everything confusing and unnecessarily harder on our end - making erros easier everywhere 15:29:04 bowlofeggs: Ideally we automate the testing 15:29:22 we do, in general, want to be able to say "we fixed CVE $foo across the board, in all content types", but we don't necessarily have to use a single bodhi update as the mechanism to track that. 15:29:27 bowlofeggs: and things go out quickly after a comprehensive set of tests on all artifacts 15:29:39 some kind of tagging (with cve) might be nice... ie, you look at rpm foo and it fixes cve bar, but that is a link to all the things related to that cve... container, rpm, cloud image, etc 15:30:07 threebean: sure. linking the updates, or something could be done also 15:30:21 yeah maybe a new "update group" 15:30:25 nirik: yeah, I think I'd rather add CVE info and cross-link updates which fix the same CVE - this would be useful even for pure rpm content (across releases) 15:30:25 ooo 15:30:36 some kind of thing that links related updates together 15:30:44 could be used for CVEs, or even just any kind of update 15:30:51 "these updates are related" 15:30:55 * threebean nods 15:31:15 take that as an option. another option could be to relate them in a tree of derivative relationships. 15:31:23 we could also give releng tooling to push update groups OR updates, as they please 15:31:33 or 'these things all say they fix bug xyz123' 15:31:36 yeah that would do it too 15:31:38 if, say, someday we ship openshift templates that group together multiple containers (no one is asking for this...) 15:32:04 ...one rpm cve fix could go into multiple containers, which in turn get bundled into still more deliverables. 15:32:47 i think we could pretty easily make it so you can search bodhi for bug numbers too, to see all updates that claim to related to a particular bug 15:33:10 oh nirk said that ☺ 15:34:24 dgilmore: so it sounds like the use case needed is for there to be a mechanism to push out related updates together as the "normal" mode of operation, but also the ability to push out individual artifacts if needed on-demand 15:35:01 would that support be a blocker for F27? 15:35:02 dgilmore: i could envision soemthing like bodhi-push changing to operate on "update groups" or "update trees" (as threebean) suggested, but retaining the ability to push updates too 15:35:15 I'd say no? 15:35:51 bowlofeggs: well we have limitations in how often we can push content 15:35:55 sochotni: i'm not sure. i do think having modeling flexible to support the requirement would be needed for f27 15:36:33 dgilmore: sure, but if bodhi-push lets releng push either way, then releng can decide what to do on a case-by-case basis 15:36:52 bowlofeggs: it was more wrt does it have to be finished and working ? 15:36:54 i.e., maybe it's default is to push related updates (which i think is what you were saying you would want to do normally) 15:37:17 sochotni: ah, yeah i'm not sure - that's not really for me to decide i dont' think ☺ 15:37:39 i mostly want tomake sure that releng is satisfied with what we deliver for them 15:38:28 bowlofeggs: well there's multiple levels of satisfied :-) 15:38:34 hahah yeah 15:38:47 bowlofeggs: I would like to get the pushing process be less doing and more gathering 15:39:05 the same as the compose process 15:39:37 dgilmore: i'm not familiar with the compose process - can you explain it a bit for me? 15:39:40 * nirik thinks we could replace push process with cron or something... but thats a topic for another meeting I guess 15:39:47 nirik: +1 15:39:52 nirik: +1 15:40:07 nirik: -1 15:40:15 * dgilmore does not want it run by cron 15:40:21 nirik: +1 15:40:23 but we could do something to automate it 15:40:30 dgilmore: +1 for automate 15:40:49 is there a rolling agenda for these meetings? 15:40:58 threebean: no idea 15:40:59 that topic would be good to cover. maybe we can schedule it for a future week. 15:41:20 another good topic would be "continuous mashing" 15:41:23 getting back to bodhi... ;) We wouldn't be doing containers via bodhi right? or would we? 15:41:25 * dgilmore wants to remove cron from all of the releng processes 15:41:42 nirik: I believe we plan to 15:41:45 nirik: I believe yes - that's would be one of the new content types supported 15:41:48 ok. 15:41:48 so i think the current proposal is that updates DO have a single type in them (to meet a requirement that we know what was/wasn't tested), but we would offer some way to group or relate updates so they can be optionally pushed together if desired, or pushed individually when desired 15:42:11 threebean: there is a gobby document i use 15:42:22 and I'd like to make that second part a stretch goal for F27 15:42:27 what are all the types then? rpms/groups of rpms, containers, modules, ? 15:42:46 nirik: groups of updates (any type of them) 15:43:03 not sure that would be a type in itself :-) 15:43:05 nirik: yeah, and anticipating new types we don't know about yet. flatpaks? rocket thingies? 15:43:12 flatpaks are definitely in there too 15:43:23 i've been talking with some peeps about that as well 15:44:33 nirik: but the priority is to support modules " it sounds like the first type we will add will probably be modules" 15:44:54 ok 15:45:32 yeah i've heard from a few sources that modules are the highest priority for new types in bodhi 15:45:55 the good thing is that once we've added a second type, it should be easier to add a third 15:45:56 yup, since lacking module support would block F27... the question is how "finished/polished" the support has to be (from my POV) 15:46:45 we will need to be able to push updated modules in order to support them 15:47:00 right, does the push have to be a "single button" push? 15:47:08 sochotni: I would love it to be finished, complete and polished 15:47:12 does it have to have UI? CLI? API? 15:47:20 but realistically it has to be functional 15:47:24 sochotni: i'd think it would be "single button" because that's how bodhi-push is today 15:47:30 sochotni: all three 15:47:44 id ont' thinkt releng would want the push process to be more complicated than it is today 15:47:51 (just a guess ☺) 15:48:12 well then they likely use a single workflow 15:48:28 so probably not all three methods are required 15:48:33 maybe CLI is optional 15:48:41 that's what I am trying to get to 15:48:52 sochotni: cli is not optional 15:49:01 so then UI is optional? 15:49:05 in the web I mean 15:49:11 sochotni: none of its optional 15:49:15 i think a lot of testers might use the easy-karma tool which would use the API. also based on bug reports, the CLI tool is a very popular way to interface with bodhi 15:49:21 we need a way to visualise 15:49:23 the CLI also uses the API of course 15:49:49 we need a way to submit and manage the updates via the cli 15:49:57 both of which need an api 15:50:00 the UI also uses the API to some extent, actually 15:50:36 I know I typically submit updates using fedpkg update 15:50:44 but then use the web to push stable 15:51:14 the point is - we would *survive* with subset of all of those features for a few months for modules 15:51:40 not in how bodhi works 15:51:45 ok, here's another question i have: what should API compatibility requirements be? i'm thinking about introducing a new /v3/ endpoint in parallel with the current API, so we can add the new functionality while maintaining the current API (deprecated) for a while (6 months? a year?) 15:51:48 with changes sure 15:51:59 and the CLI to me is more important that web ui 15:52:05 this way we can do backwards incompat stuff in /v3 while not disturbing things that use the old API 15:52:45 bowlofeggs: the current cli on el7 is using an old api right? 15:53:01 and older fedora's? 15:53:26 bowlofeggs: I guess as long as you update the CLI to work with latest API you could get away with 6 months (IMO)? 15:53:27 dgilmore: yes, but el7 is also the same version as rawhide right now (i got an EPEL exception to do that) 15:53:34 and older fedoras actually barely work witht he current api sadly 15:54:16 sochotni: yeah, or maybe a year. i guess my overall suggestion is taht we shouldn't change the existing API endpoints for this work, but should introduce entirely new ones 15:54:39 because it'll be a headache for compatibility if we change how, say, /updates/ works 15:54:42 bowlofeggs: unless we come up with a way to have our cake and it it too (i.e. preserve compat) 15:54:51 but if we introduce /v3/updates/, we can do whatever we want there 15:54:55 true 15:55:02 it's probably going to be less of a headache 15:55:05 sochotni: yeah if we can preserve compat that could work 15:55:07 and easier to develop 15:55:28 we could have the client declare an API version it wants with a header as another way to do this, without /v3/ 15:55:30 I'd suggest considering preserving compat, but not spending a lot of time on it 15:55:50 bowlofeggs: we could also keep track how many clients are hitting the old APIs 15:56:01 yeah 15:56:13 so anyways, that's something to think about too 15:56:17 we only have 4 minutes left 15:56:37 we normally have a look at open bugs in this meeting, but i don't think we have time today 15:57:01 in lieu of that, if you think i am misprioritizing any bugs you care about, please feel free to let me know ☺ 15:57:17 Bodhi's high priority issue list https://github.com/fedora-infra/bodhi/issues?q=is%3Aopen+is%3Aissue+label%3A%22High+priority%22 15:57:25 i'm going to open floor 15:57:30 #topic Open floor 15:57:39 it sounds like we have more to discuss on this topic 15:58:05 so i propose to schedule another discussion about this outside of the stakeholders' meeting 15:58:10 perhaps in a week or so? 15:58:17 yeah I would like to have a full list of things that we have to get working for F27 for module support 15:58:20 yeah, and/or perhaps we could setup some tracking bugs... 15:58:40 and not have everything be a hard requirement 15:59:00 because I know it's not... 15:59:07 nirik: i did make a milestone to track the effort: https://github.com/fedora-infra/bodhi/milestone/4 15:59:15 sure, there's gonna be some hard ones and some nice to haves for sure 15:59:45 bowlofeggs: does web UI use the same API as CLI? 16:00:01 sochotni: it does use it a little bit, but not entirely 16:00:07 ok, just wondering 16:00:09 so, sort of? ☺ 16:00:28 ok, gotta run, ty for driving the discussion 16:00:31 #action bowlofeggs will schedule a follow-up requirements meeting 16:00:35 #endmeeting