11:30:33 #startmeeting 11:30:33 Meeting started Wed Aug 3 11:30:33 2016 UTC. The chair is nardasev. Information about MeetBot at http://wiki.debian.org/MeetBot. 11:30:33 Useful Commands: #action #agreed #halp #info #idea #link #topic. 11:30:33 The meeting name has been set to '' 11:30:47 #meetingname flock 2016 11:30:47 The meeting name has been set to 'flock_2016' 11:31:30 bunch of the presentation is about figuring about what Factory 2.0 even means 11:32:12 let's start with a question: have you heard of the Eternal September? 11:32:27 also called the September that never ended 11:32:50 the second Eternal September is the rise of GitHub 11:32:59 nardasev: Ah, did you want to get this one? 11:33:00 #meetingname flock2016 11:33:00 The meeting name has been set to 'flock2016' 11:33:02 nardasev: Seems like I'm having problems with my connection - not sure when this will send, but I'll leave transcribing to you :) 11:33:29 consequent changes to app development and deployment: 11:33:45 pip freeze > requirements.txt # ship it! 11:34:06 to the traditional distribution: nixOS, coreOS, docker and friends 11:35:02 the Fedora rings conversation started a few years ago 11:35:23 Envs and Stacks and Alephs were also initial ideas 11:35:37 Red Hat is now funding a team to see what we can do 11:35:46 Throwing things over the wall: 11:36:08 in the past, we talked about how to articulate Red Hat things in the Fedora space 11:36:19 I work a group in Red Hat called PnT DevOps 11:36:36 Fedora packagers -> RH platform engineering 11:36:46 Fedora infra -> RH PnT DevOps 11:37:08 let's worry less about "If Fedora is interested" and just share. 11:37:17 What Factory 2.0 is NOT: 11:37:38 single web application 11:37:47 a rewrite of our entire pipeline 11:37:48 silver bullet 11:37:52 silver platter 11:37:58 just Modularity 11:38:03 going to be easy 11:38:51 #topic What Factory 2.0 is not 11:39:08 nardasev: Ah, try typing: #chair jflory7 11:39:12 if you have a particular problem, we don't guarantee that Factory 2.0 is going to solve it 11:39:21 #chair jflory7 11:39:21 Current chairs: jflory7 nardasev 11:39:23 #topic What Factory 2.0 is not 11:39:26 cool :) 11:39:27 nardasev++ 11:39:32 thanks ;) 11:39:47 #topic the same "thing" under different interpretation 11:40:03 why it took us so long to get there 11:40:24 how long ago was it that we started talking about the Rings proposal? 11:40:46 Does Modularity mean anything with Factory 2.0? 11:41:00 Does Factory 2.0 mean anything without Modularity? 11:41:08 We put together 6 problems to be solved 11:41:21 1) repetitive human intervention makes the pipeline slow 11:41:36 (to be analyzed later in the presentation) 11:42:15 Some of them need to be solved first, because they don't depend on solutions to others 11:42:38 Modularity is the most dependent and can only be solved last 11:43:04 Modularity is also the most complicated one 11:43:23 if we had problems before, they are about to get worse. 11:43:39 Remember the lego blocks analogy? 11:43:47 Imagine Modularity without Factory 2.0 11:44:39 it is like running barefoot on pieces of lego 11:44:42 #topic Dependency Chain 11:44:55 (problem #6) 11:45:17 the purpose of it is just to expand the pdc-updater 11:46:12 you can release component types and have release component relationship types 11:46:38 pdc updater responds to message bus and others 11:46:56 we would use that information for great justice 11:47:16 such as future tooling, Pungi/distil, Bodhi/ET 11:47:39 update notes (errate) we want them to be automated 11:48:29 #topic Pipeline Serialization 11:48:41 (problem #2) 11:48:57 unnecessary serialization makes the pipeline slow. 11:49:37 it's less a problem for Fedora's infrastructure than it is for the internal DevOps environment: things happen, unnecessarily, in serial. 11:50:10 One proposed solution is to introduce a new build key treated semantically different from the gold key. 11:50:17 Let's consider it also in Fedora. 11:50:34 #topic Automating Throughput 11:50:41 (problem #1) 11:50:51 rebuilds and composes 11:51:15 we'd like to build a workflow layer on top of Koji called "the orchestrator" 11:51:40 the concept was originally confused with modularity-specific considerations, but we'd like it to be more general 11:52:06 composes: take pungi and break it out into an ad hoc process alongside the buildsystem 11:52:24 we can do two-week Fedora Atomic releases now. Yay! 11:52:46 can we reconcile that with the mainline compose/QA/release process? 11:53:01 the problem is much more intense for Red Hat just due to volume. 11:53:14 we have uncovered ground in Bodhi for automation. 11:53:31 the karma system is a predecessor, but it relies on humans. 11:53:49 can we fast-track some components based on taskotron results? 11:54:19 how can we specify an (automated) for setting difference between release cadences? 11:54:29 #topic Flexible Cadence 11:54:36 (problem #3) 11:54:50 the pipeline imposes a rigid and inflexible cadence on products. 11:55:26 releases are related to the previous point about automating releases. in the first analysis, "the pipeline is as fast as the pipeline is." 11:55:48 EOL: think about the different EOL discussions for the different Editions. 11:56:19 Beyond that - a major goal of modularity is "independent lifecycles." what does that mean in practice? 11:56:37 let's talk about pkgdb2 and its collections model. 11:57:41 if you think about disconnecting the lifecycle of packages from the lifecycles of releases 11:57:57 Modularity: all roads lead to Rome 11:58:09 the distro is defined by packages, not "features" 11:58:27 #topic Modularity 11:58:37 building modules (showing a graph) 11:58:53 visiting the Modularity infrastructure page 11:59:36 it's about 2 months old, after Flock we should update it 11:59:47 things in white don't need to change at all for Modularity 11:59:53 yellow things need to be adjusted 12:00:07 green things are entirely new concepts needed for modularity 12:00:28 we update dependencies in pdc-updater 12:01:17 we hope to have a circular flow between orchestrator, koji and taskotron 12:01:35 Comps as a Servics (CaaS) 12:01:55 composes are defined by their variants 12:02:16 which are based on Comps 12:03:13 we have a huge variety of yum repos and searching for particular repos is difficult 12:03:29 we have requests to have some additional metadata on the side 12:03:47 build pipeline overview: we have crazy automation going on 12:04:02 today you know what you are doing and manually do bodhi updates 12:04:37 pipeline overviews watches the message but so we have an idea of what is going in the automation 12:05:38 #topic Artifact Assumptions 12:05:45 (problem #4) 12:06:01 I want to be able to build any content in any format without changing anything. 12:06:11 it's an odd duck from the other ones 12:06:21 qualitative, not quantitative. 12:06:45 can we make creating new types of content easier over time? 12:06:57 Autocloud and two week Atomic 12:07:02 OSBS 12:07:16 Flatpak, snaps, rocket containers, etc... 12:07:28 we can do anything, but how easily can we do it? 12:07:41 The pernicious hobgoblin of technical debt 12:07:54 Microservices (consolidate around responsbility) 12:08:00 Reactive services 12:08:05 idempotent services 12:08:12 infrastructure automation 12:08:50 we do relatively well at idempotent services 12:10:25 we have an opportunity to do something really cool with how we make the distro 12:10:33 please tell me where I'm wrong 12:10:43 #topic Conclusion / Q&A 12:10:58 hop in #fedora-modularity and #fedora-admin to join the party 12:13:33 there is a workflow for translators 12:13:51 but it's inefficient 12:14:04 we'd like our packages to be more tied to release cycles 12:14:39 we should take what we do with dist-git currently 12:16:46 slides available at http://threebean.org/presentations/factory2-flock16/ 12:18:52 #link http://threebean.org/presentations/factory2-flock16/ 12:19:29 #endmeeting