<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>adam.yml (Posts about Fedora Flock 2016)</title><link>https://maxamillion.sh/</link><description></description><atom:link href="https://maxamillion.sh/categories/fedora-flock-2016.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Tue, 07 Apr 2026 05:02:31 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Flock to Fedora 2016</title><link>https://maxamillion.sh/blog/flock-to-fedora-2016/</link><dc:creator>Adam John Miller</dc:creator><description>&lt;section id="flock-to-fedora-2016"&gt;
&lt;h2&gt;Flock to Fedora 2016&lt;/h2&gt;
&lt;p&gt;Every year, the &lt;a class="reference external" href="https://getfedora.org/"&gt;Fedora&lt;/a&gt; User and Developer community puts on an conference
entitled "&lt;a class="reference external" href="https://flocktofedora.org/"&gt;Flock to Fedora&lt;/a&gt;" or "Flock" for short. This year was no different
and the event was hosted in beautiful &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Krak%C3%B3w"&gt;Kraków, Poland&lt;/a&gt;. The event had such an amazing
line up that I rarely had time for the always fascinating "hallway track" of
ad-hoc discussions with various conference go-ers, but in the best kind of way.&lt;/p&gt;
&lt;aside class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;At the time of this writing, the videos had not yet been posted but it
was reported that they will be found at the link below.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;All the sessions were being recorded and I highly recommend anyone interested to
check them out &lt;a class="reference external" href="https://www.youtube.com/fedoraproject"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I will recap my experience and take aways from the sessions I attended and
participated in as well as post slides and/or talk materials that I know of.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="flock-day-1"&gt;
&lt;h2&gt;Flock Day 1&lt;/h2&gt;
&lt;section id="keynote-state-of-fedora"&gt;
&lt;h3&gt;Keynote: State of Fedora&lt;/h3&gt;
&lt;p&gt;Flock Day 1 started off with a bang, our very own &lt;a class="reference external" href="https://fedoraproject.org/wiki/User:Mattdm"&gt;Fedora Project Leader, Matt
Miller&lt;/a&gt; took the stage for the morning keynote and discussed the current state
of Fedora, where we are, where we're going, ongoing work and current notable
&lt;a class="reference external" href="https://fedoraproject.org/wiki/Changes/Policy"&gt;Changes&lt;/a&gt; with work under way.&lt;/p&gt;
&lt;p&gt;One of my favorite take aways from this talk was one about contributor
statistics that are gathered based on contributor activity as it is represented
within the &lt;a class="reference external" href="https://fedoraproject.org/wiki/Infrastructure"&gt;Fedora Infrastructure&lt;/a&gt; via &lt;a class="reference external" href="http://www.fedmsg.com/en/latest/"&gt;fedmsg&lt;/a&gt; and &lt;a class="reference external" href="https://apps.fedoraproject.org/datagrepper"&gt;datagrepper&lt;/a&gt;
(&lt;a class="reference external" href="https://github.com/fedora-infra/datanommer"&gt;datanommer&lt;/a&gt;). The statistics showed that there are over 2000 contributors, of
which roughly 300 do 90% of the work (which sounds odd, but statistically this
is actually better than average) and of the group that does 90% of the work only
about 35% of them work for Red Hat. I'm a big fan of these kind of numbers
because it reinforces that Fedora is in fact a community driven project that
Red Hat is simply a participant and sponsor of.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://mattdm.org/fedora/2016flock/StateofFedoraAugust2016-v160731a.pdf"&gt;Flock 2016 Keynote State of Fedora slides&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;
&lt;section id="introducing-fedora-docker-layered-image-builds"&gt;
&lt;h3&gt;Introducing Fedora Docker Layered Image Builds&lt;/h3&gt;
&lt;p&gt;Next time slot that I attended was my presentation on the &lt;a class="reference external" href="https://fedoraproject.org/wiki/Changes/Layered_Docker_Image_Build_Service"&gt;Fedora Docker Layered
Image Build System&lt;/a&gt; here I introduced something I've been working on for quite
some time with various upstream projects of technologies that come together to
form this system. Before diving into the new service I went on a brief history
lesson about what containers are, what they are in the context of Linux, and
various implementations of which &lt;a class="reference external" href="https://github.com/docker/docker/"&gt;Docker&lt;/a&gt; is simply one. The main reason I like
to start there is to level set that we have hopes to support all kinds of Linux
container runtimes and image builds but we must start somewhere and with Docker
being the most popular it makes sense to target it first. (You'd be surprised
how often the question of supporting other image formats comes up)&lt;/p&gt;
&lt;p&gt;In an attempt to make sure there were no gaps in knowledge of everyone in the
room for my presentation I did a quick overview of what specifically Docker is,
how containers are instances of images, and how images themselves are most
commonly built (&lt;a class="reference external" href="https://docs.docker.com/engine/reference/builder/"&gt;Dockerfile&lt;/a&gt;). We then progress into concepts of &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Release_engineering"&gt;Release
Engineering&lt;/a&gt; and why this is desirable, as outlined in an &lt;a class="reference external" href="https://opensource.com/business/16/7/creating-reproducible-build-system-docker-images"&gt;article I wrote
for OpenSource.com&lt;/a&gt; recently. From there we traversed into the wild world of
distributed container runtimes and orchestrators, most notably &lt;a class="reference external" href="https://www.openshift.org/"&gt;OpenShift&lt;/a&gt; as
that's a core component of the Layered Image Build Service. We also discussed
components used within the Docker Layered Image Build Service such as
&lt;a class="reference external" href="https://github.com/projectatomic/atomic-reactor"&gt;atomic-reactor&lt;/a&gt;, &lt;a class="reference external" href="https://github.com/projectatomic/osbs-client"&gt;osbs-client&lt;/a&gt;, and &lt;a class="reference external" href="https://github.com/release-engineering/koji-containerbuild"&gt;koji-containerbuild&lt;/a&gt;. The last of which
enables for the workflow using &lt;a class="reference external" href="https://pagure.io/fedpkg"&gt;fedpkg&lt;/a&gt; for layered image builds for &lt;a class="reference external" href="https://getfedora.org/"&gt;Fedora&lt;/a&gt;
contributors just as they are used to for &lt;a class="reference external" href="http://rpm.org/"&gt;RPM&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I then did a demo, that of course failed (as per the Demo Gods) but was able to
show a previously successful build.&lt;/p&gt;
&lt;aside class="admonition note"&gt;
&lt;p class="admonition-title"&gt;Note&lt;/p&gt;
&lt;p&gt;I have at this point diagnosed the issue found during the demo and it
has been resolved.&lt;/p&gt;
&lt;/aside&gt;
&lt;p&gt;&lt;a class="reference external" href="https://maxamillion.fedorapeople.org/Events/Flock2016/Flock2016_IntroducingDockerLayeredImageBuildService.pdf"&gt;Introducing Fedora Docker Layered Image Build slides&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;
&lt;section id="getting-new-things-into-fedora"&gt;
&lt;h3&gt;Getting New things into Fedora&lt;/h3&gt;
&lt;p&gt;In recent past there has been a general communications break down between
developers and Release Engineering, this has resulted in some issues integrating
net-new deliverables within the Fedora Project. This presentation discussed the
process by which new changes should come in, the timelines that things should be
accepted by, and the various Release Engineer Tools that need integrating with.&lt;/p&gt;
&lt;p&gt;However, there was admission that the documentation could be better about these
items and the Release Engineering tools could be more approachable for outsiders
in order to help with the process of on-boarding new changes into the processes
and tooling. These items have shown improvement in the past year with further
improvements planned.&lt;/p&gt;
&lt;p&gt;There was a lively discussion of ways to make this better and I look forward to
seeing positive movement come as a result.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="hacking-koji-for-fun-and-profit"&gt;
&lt;h3&gt;Hacking Koji for fun and Profit&lt;/h3&gt;
&lt;p&gt;In this session, tip and tricks for hacking on the &lt;a class="reference external" href="https://pagure.io/koji"&gt;Koji&lt;/a&gt; build system were the
focal point. Discussion about what Koji is, who uses it, and why someone might
want to hack it was explored. Then an overview of the major components of Koji
were presented in an attempt to give potential developers an idea of where to
look in the code depending on what component they were trying to augment or
supplement. From there a quick example of the &lt;a class="reference external" href="https://www.python.org"&gt;Python&lt;/a&gt; API was covered as an
example of how to get started, including reference for a more advanced example
contained within the koji code itself was offered. Next up was a advanced CLI
walk through that showed how to call directly to the XMLRPC API just as you can
via the Python API.&lt;/p&gt;
&lt;p&gt;There was a section of the session focused on the Koji Hub which is the user
facing component including how to theme the web UI, change user policy, and how
to write plugins that can add functionality to Koji via new API calls, policies,
and callback hooks.&lt;/p&gt;
&lt;p&gt;Next up was discussion of Koji Builder plugins that can add the ability for Koji
to produce new types of Build Artifacts.&lt;/p&gt;
&lt;p&gt;Finally, how to actually clone the git repository and then build locally
a version of the modified code was covered.&lt;/p&gt;
&lt;p&gt;During the Q&amp;amp;A portion there was a discussion of how difficult Koji can be to
deploy and that it would be nice if there was a way to get up and running
quickly for hacking purposes. Something that was completely automated and not
necessarily production ready would be desired. There was also lively discussion
about the future of Koji and the iterative improvements already made in
refactoring the code as well as plans for more. Originally there was a grand
plan for a "Koji 2.0" that would be a complete rewrite but as time has gone on
that has proven too lofty of a goal to realistically achieve so the more
iterative approach is being taken.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://mikem.fedorapeople.org/Talks/flock-2016-hacking-koji/#/"&gt;Hacking Koji for Fun and Profit slides&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;
&lt;section id="containers-in-production"&gt;
&lt;h3&gt;Containers in Production&lt;/h3&gt;
&lt;p&gt;Dan Walsh discussed running Containers in Production, a topic that is hot on
many people's mind as container technology races into the mainstream as fast as
OpenStack did before it. This session discussed various means of container
runtime execution, including that of Docker and it's daemon. This included
various aspects the Docker daemon's strengths and weaknesses and why alternative
execution methods might be desirable or at least worth considering for
Production workloads and environments. Various aspects such as storage
configuration, non-privileged runtimes (security), remote inspection, fault
tolerance, and &lt;a class="reference external" href="https://freedesktop.org/wiki/Software/systemd/"&gt;systemd&lt;/a&gt; integration were discussed.&lt;/p&gt;
&lt;p&gt;In this presentation was a strategy for running production ready containers
using &lt;a class="reference external" href="http://runc.io/"&gt;runC&lt;/a&gt; for execution of Open Container Initiative (&lt;a class="reference external" href="https://www.opencontainers.org/"&gt;OCI&lt;/a&gt;) compliant
container images (such as Docker Images).&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://github.com/containers"&gt;https://github.com/containers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://github.com/projectatomic/skopeo"&gt;https://github.com/projectatomic/skopeo&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;
&lt;section id="fedora-s-mirrormanager-now-and-in-the-future"&gt;
&lt;h3&gt;Fedora's MirrorManager: now and in the future&lt;/h3&gt;
&lt;p&gt;The session about &lt;a class="reference external" href="https://fedorahosted.org/mirrormanager/"&gt;MirrorManager&lt;/a&gt; was extremely informative, covering various
aspects of the project, a brief overview of the history then diving into current
features, limitations, things we're trying to do in the future to improve and
enable the mirroring of new artifacts.&lt;/p&gt;
&lt;p&gt;There were plenty of items that I would like to follow up on as there's so much
about content mirroring that I don't currently understand.&lt;/p&gt;
&lt;p&gt;I sadly did not take nearly as good of notes during this session as I had hoped
to. I highly recommend anyone interested in the topic of content mirroring to
watch the recorded session for more information.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="fedora-arm-state-of-the-union"&gt;
&lt;h3&gt;Fedora ARM State of the Union&lt;/h3&gt;
&lt;p&gt;Peter Robinson gave a presentation about the current state of &lt;a class="reference external" href="https://arm.fedoraproject.org/"&gt;Fedora ARM&lt;/a&gt;
including both armv7hl and AArch64. At the start of things he requested that
questions about specific dev boards be held to the end because he would have
a section in the session dedicated to that. Exploration of the trials and
tribulations of bringing new hardware to life was interesting (at least to me)
as there's so many things that we in the pre-existing hardware platform world
take for granted. There's many things about the ARM world and boot firmware that
make things difficult because of lack of standardization around the developer
board boot methods beyond just the standard trouble of bringing up new hardware
that doesn't yet have support for everything necessary in the kernel. Beyond
the kernel is the compiler toolchains and programming language tooling that
needs added support for new architectures such as ARM, various points of this
were discussed with examples of areas where people in the Fedora community have
stepped up to help (&lt;a class="reference external" href="https://fedoraproject.org/wiki/Haskell_SIG"&gt;Haskell SIG&lt;/a&gt; being one great example).&lt;/p&gt;
&lt;p&gt;From there discussions of various developer boards spiraled off into the weeds
of things that I definitely don't understand about the finer points of ARM board
"bring up" but it was interesting to listen to the state of things and take
notes of things to learn about.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="university-outreach-new-task-or-new-mindset"&gt;
&lt;h3&gt;University Outreach - New Task or New Mindset?&lt;/h3&gt;
&lt;p&gt;Justin Flory and Jona Azizaj presented about the history of the &lt;a class="reference external" href="https://fedoraproject.org/wiki/Objectives/University_Involvement_Initiative"&gt;University
Involvement Initiative&lt;/a&gt;, the struggles met with attempting to expand it's
adoption and further reach, and eventually it's decline. This session was a call
to arms for community members with ties to Universities either as active
students or Alumni to help bring this initiative back to life. The main idea
behind all of this is that we would like to help foster the open source
community by bringing an active student population into it's ranks. There was
a lot of positive feedback and interest shown during the session and I have high
hopes for the future of the initiative.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="fedora-engineering-team-dinner"&gt;
&lt;h3&gt;Fedora Engineering Team Dinner&lt;/h3&gt;
&lt;p&gt;While not on the Flock schedule, this was a personal highlight for me as
a member of the &lt;a class="reference external" href="https://fedoraproject.org/wiki/Fedora_Engineering"&gt;Fedora Engineering Team&lt;/a&gt; because we are a geographically
dispersed team that lives and works from all corners of the planet. As such, we
rarely get the opportunity to all be in the same place, at the same time, and in
a social setting (as opposed to getting work done). It was great to be able to
sit and chat with colleagues and discuss both work and non-work topics and get
to know them better on a more personal level.&lt;/p&gt;
&lt;p&gt;The main take away: I love my job, I love my team, and I love my company.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="day-2"&gt;
&lt;h2&gt;Day 2&lt;/h2&gt;
&lt;section id="kirk-mccoy-and-spock-build-the-future-of-fedora"&gt;
&lt;h3&gt;Kirk, McCoy, and Spock build the future of Fedora&lt;/h3&gt;
&lt;p&gt;Matt Miller took us on a Star Trek themed adventure that lead to the use of the
&lt;a class="reference external" href="https://www.wkkf.org/resource-directory/resource/2006/02/wk-kellogg-foundation-logic-model-development-guide"&gt;Kellog Logic Model&lt;/a&gt; applied to Fedora Initiatives and how each Working Group
(WG) or Special Interest Group (SIG) could use this model as a means to help
drive their goals as well as frame their over all initiatives to others,
including the &lt;a class="reference external" href="https://fedoraproject.org/wiki/Council"&gt;Fedora Council&lt;/a&gt; and &lt;a class="reference external" href="https://fedoraproject.org/wiki/Fedora_Engineering_Steering_Committee"&gt;FESCo&lt;/a&gt;. The session slides were covered
rather quickly and then discussions and questions broke out about how we could
use this for various things and/or just general questions about the logic model.&lt;/p&gt;
&lt;p&gt;The &lt;a class="reference external" href="https://fedoraproject.org/wiki/Objectives/Fedora_Modularization,_Prototype_Phase"&gt;Fedora Modularity Logic Model&lt;/a&gt; was an example where this is already being
used within the Fedora Project with success.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="modularity-why-where-we-are-and-how-to-get-involved"&gt;
&lt;h3&gt;Modularity: Why, where we are and how to get involved&lt;/h3&gt;
&lt;p&gt;&lt;a class="reference external" href="https://fedoraproject.org/wiki/Modularity"&gt;Fedora Modularity&lt;/a&gt; is a new initiative that is focused on re-thinking how we
think of the way Linux distributions are composed. Instead of as a pile of
software packages, it could be a grouping of modules that can be managed as
disjoint units and lifecycle managed independently of one another.&lt;/p&gt;
&lt;p&gt;Background on the topic leads back to the Rings Proposal (a part of
&lt;a class="reference external" href="https://fedoraproject.org/wiki/Fedora.next"&gt;Fedora.next&lt;/a&gt;), where we think about the distro as a set of rings and the
center of rings the central point of the operating system is the most curated
components of the operating system and as you get further from the center you
can have less and less curation.&lt;/p&gt;
&lt;p&gt;However, as time went on you have less and less correlation such that the Rings
analogy doesn't really fit. Example, any given package can change over time or
need a different version in a different use case or scenario.&lt;/p&gt;
&lt;p&gt;Different use cases, a new website with the latest technologies vs an ERP system
where you want different lifecycles or different "aged" or different levels of
"proven" technologies. This is the problem that modules hope to solve.&lt;/p&gt;
&lt;p&gt;What is a module?&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;A thing that is managed as a logical unit&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A thing that promises an external, unchanging, API&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A thing that may have many, unexposed, binary artifacts to support the
external API&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A module may "contain" other modules and is referred to as a "module stack"&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Base Runtime (Module Stack)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Kernel (module)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;userspace (the interface to userspace, coreutils, systemd, etc)&lt;/p&gt;
&lt;blockquote&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;There built requirements are not part of the module, but simply a build
requirement.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;modulemd: Describe a module&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;yaml definitions of modules, standard document definitions with "install
profiles"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;install profiles&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;definition of components included in a module&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There was plenty of discussion around these topics and suggestion that people
attend the workshop the following day.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="factory-2-0"&gt;
&lt;h3&gt;Factory 2.0&lt;/h3&gt;
&lt;p&gt;As with all things in technology, we want to constantly move faster and faster
and the current methods by which we produce the operating system just won't
scale into the future. Factory 2.0 is an initiative to fix that.&lt;/p&gt;
&lt;p&gt;The presentation kicked off with a witty note that we have entered the "The
Second &lt;a class="reference external" href="https://en.wikipedia.org/wiki/Eternal_September"&gt;Eternal September&lt;/a&gt;," GitHub and how node.js has changed how people
fundamentally expect to consume code.&lt;/p&gt;
&lt;p&gt;Dependency freezing has become common practice these days because of node.js and
rubygems communities impact on developers.&lt;/p&gt;
&lt;pre class="literal-block"&gt;pip freeze &amp;gt; requirements.txt&lt;/pre&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;ruby bundler&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;nixOS&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;coreOS&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;docker and friends&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Brief overview of &lt;a class="reference external" href="https://fedoraproject.org/wiki/Modularity"&gt;Fedora Modularity&lt;/a&gt; was given for those who didn't make it to
Langdon's session on the topic.&lt;/p&gt;
&lt;p&gt;Matt Miller started with Fedora.Next -&amp;gt; Rings, then Envs and Stacks, Red Hat now
funding a team to accomplish this.&lt;/p&gt;
&lt;p&gt;Backing up first to discuss how not to throw things over the wall. In past
there's been discussions about how to articulate "Red Hat things" in the Fedora
Space. &lt;a class="reference external" href="http://threebean.org/"&gt;Ralph Bean&lt;/a&gt; (our presenter) works for a group in Red Hat called RHT
DevOps.&lt;/p&gt;
&lt;p&gt;There are analogous groups within Red Hat and the Fedora Community:&lt;/p&gt;
&lt;p&gt;Fedora Packagers -&amp;gt; RH Platform Engineering&lt;/p&gt;
&lt;p&gt;Fedora Infra -&amp;gt; RH PnT DevOps&lt;/p&gt;
&lt;p&gt;What Factory 2.0 is not: a single web app, a rewrite of our entire pipeline,
a silver bullet, a silver platter, just modularity, going to be easy.&lt;/p&gt;
&lt;p&gt;"the six problem statements"&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Repetitive human intervention makes the pipeline slow&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;unnecessary serialization&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;rigid cadence&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;artifact assumption&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;modularity&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;dep chain&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;"If we had problems before, they're about to get a lot worse" (Imagine
modularity without Factory 2.0)&lt;/p&gt;
&lt;p&gt;Would like to use &lt;a class="reference external" href="https://github.com/fedora-infra/pdc-updater"&gt;pdc-updater&lt;/a&gt; to populate metadata tables with information
about dep chains, we would then use that information with other tools like
&lt;a class="reference external" href="https://pagure.io/pungi"&gt;pungi&lt;/a&gt; but also with new tooling we haven't even thought of just yet.&lt;/p&gt;
&lt;p&gt;Unnecessary serialization makes the pipeline slow, one big piece we will need
to solve this is the OpenShift Build Service (OSBS). We're going to need to use
an autosigner.py to get around new problems (assuming we "go big" with
containers).&lt;/p&gt;
&lt;p&gt;Automating throughput, repetitive human intervention makes things slow. Builds
and composes. An orchestrator for the builds and the composes, best case
scenario is that things are built and composed before we ask for them.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://fedoraproject.org/wiki/Changes/Two_Week_Atomic"&gt;Atomic Host Two Week&lt;/a&gt; is kind of a case study that we should learn lessons from
in order to merge the changes needed back into the standard pipeline instead of
the parallel pipeline that was spawned.&lt;/p&gt;
&lt;p&gt;Flexible Cadence, The pipeline imposes a rigid and inflexible cadence on
"products". Releases related to the previous point about Automating Releases,
"the pipeline is as fast as the pipeline is".&lt;/p&gt;
&lt;p&gt;EOL: think about the different EOL discussions for the different Editions.
Beyond that - a major goal of modularity is "independent lifecycles"&lt;/p&gt;
&lt;p&gt;"I want to be able to build anything, in any format, without changing anything"
(not possible) but we can make the pipeline pluggable that will make it easier
over time to add new artifact types to the pipeline.&lt;/p&gt;
&lt;p&gt;"The pernicious hobgoblin of technical debt" as Ralph called it.&lt;/p&gt;
&lt;p&gt;Ways we can do better and refactor:&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Microservices (consolidate around responsibility)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reactive services&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Idempotent services&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Infrastructure automation (&lt;a class="reference external" href="https://github.com/ansible/ansible"&gt;Ansible&lt;/a&gt; all the things)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/section&gt;
&lt;section id="docker-in-production"&gt;
&lt;h3&gt;Docker in Production&lt;/h3&gt;
&lt;p&gt;The Docker in Production session was a very brief walk through of how you can go
from your laptop to a production environment. This effectively boiled down to
best practice for how to "containerize" your application properly, ways to build
docker images and tagging schemes that you can (or should) use, a distribution
mechanism for the images, and finally a distributed orchestration framework such
as &lt;a class="reference external" href="http://kubernetes.io/"&gt;Kubernetes&lt;/a&gt;, &lt;a class="reference external" href="https://www.openshift.org/"&gt;OpenShift&lt;/a&gt;, or &lt;a class="reference external" href="https://github.com/docker/swarm/"&gt;Docker Swarm&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="pagure-past-present-and-future"&gt;
&lt;h3&gt;Pagure: Past, Present, and Future&lt;/h3&gt;
&lt;p&gt;&lt;a class="reference external" href="https://pagure.io/pagure"&gt;Pagure&lt;/a&gt; is a git forge.&lt;/p&gt;
&lt;p&gt;Old version was very simple: there were three repos per project: source,
tickets, and pull requests. Recently got a new UI (thanks to Ryan Lerch).&lt;/p&gt;
&lt;p&gt;Forks, pull requests. (A very GitHub style workflow).&lt;/p&gt;
&lt;p&gt;If you want to run your own pagure, all you need is the web services and the
database. If you'd like all the bells and whistles, you'll then need to add mail
server (pagure milter), pagure eventsource server, gitolite, and a message bus.&lt;/p&gt;
&lt;p&gt;Doc hosting (fourth git repository for a project, optional), in the future
considering doing something similar to &lt;a class="reference external" href="https://pages.github.com/"&gt;GitHub Pages&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;"Watch" repo, to get notifications for a project you're not directly involved in
or to opt out of notifications for a project you are directly involved in.&lt;/p&gt;
&lt;p&gt;Roadmap in the Issues tab in the UI for milestones and arbitrary tag filtering.&lt;/p&gt;
&lt;p&gt;Issue templates, delivered by markdown files in the issues git repo. Also, can
set a default message to be displayed when someone files a new pull request.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="diversity-women-in-open-source"&gt;
&lt;h3&gt;Diversity - Women in Open Source&lt;/h3&gt;
&lt;p&gt;The session on &lt;a class="reference external" href="https://fedoraproject.org/wiki/Diversity"&gt;Fedora Diversity&lt;/a&gt; began with a lot of wonderful information
about the initiative and I have outlined to the best of my ability focal points
of those slides here.&lt;/p&gt;
&lt;ul class="simple"&gt;
&lt;li&gt;&lt;p&gt;Started roughly a year ago&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No exists an official Fedora Diversity Adviser&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;dl class="simple"&gt;
&lt;dt&gt;Myths&lt;/dt&gt;
&lt;dd&gt;&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Women are not interested in technology&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Women can't to programming&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Men developers are mote talented than women&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;There is no work-life balance for women who work in the tech industry&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;So on and so on ...&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;li&gt;&lt;dl class="simple"&gt;
&lt;dt&gt;Facts&lt;/dt&gt;
&lt;dd&gt;&lt;ul&gt;
&lt;li&gt;&lt;dl class="simple"&gt;
&lt;dt&gt;Women in Technology (Mothers of Tech - BizTech)&lt;/dt&gt;
&lt;dd&gt;&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Ada Lovelace (Creator of Programming/Computational Machine)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Heddy Lamar (Frequency Hopping)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Admiral Hopper (Created COBOL)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Many more ...&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Women are very creative, versatile, powerful, and intelligent&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Diversity increases success&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;li&gt;&lt;dl class="simple"&gt;
&lt;dt&gt;Initiatives&lt;/dt&gt;
&lt;dd&gt;&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Grace Hopper Celebration of Women in Computing&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Women in Open source Award&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Outreachy&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Google Summer of Code&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;and many more&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;li&gt;&lt;dl class="simple"&gt;
&lt;dt&gt;Gaps&lt;/dt&gt;
&lt;dd&gt;&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Lack of knowledge, encouragements, support, and time commitment&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After the slides were done, the session turned into effectively a giant round
table of people telling stories of how they've been successful because of
diverse teams, reasons they think that women and other groups of people are
currently under represented in Fedora and Open Source, ways they feel we can
increase diversity, and methods that could be used to target various under
represented groups in the Global Open Source community.&lt;/p&gt;
&lt;p&gt;The &lt;a class="reference external" href="https://www.gnome.org/outreachy/"&gt;GNOME Outreachy&lt;/a&gt; program was also discussed as a great example of
a program working to move things in the right direction around the topic of how
we can try to actively improve our community and the open source community at
large.&lt;/p&gt;
&lt;p&gt;I hope to be able to participate in some of the take aways from these
discussions as they are put into action.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="testing-containers-using-tunir"&gt;
&lt;h3&gt;Testing Containers using Tunir&lt;/h3&gt;
&lt;p&gt;&lt;a class="reference external" href="http://tunir.readthedocs.io/en/latest/"&gt;tunir&lt;/a&gt; is a simple tool that will spawn a virtual machine or several virtual
machine and then execute arbitrary commands and report success or failure of the
commands based on the exit code of the command. You can also make commands
blocking or non blocking and tunir has support for &lt;a class="reference external" href="https://github.com/docker/docker/"&gt;Docker&lt;/a&gt; images as well as
support for spinning up a &lt;a class="reference external" href="http://kubernetes.io/"&gt;kubernetes&lt;/a&gt; multi-node cluster in order to test
containers "at scale". The presentation was short and to the point with plenty
of demos showing how easy it is to get started using tunir. Also, tunir is the
testing component behind &lt;a class="reference external" href="https://apps.fedoraproject.org/autocloud"&gt;Fedora AutoCloud&lt;/a&gt;.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="cruise-krakow"&gt;
&lt;h3&gt;Cruise Krakow&lt;/h3&gt;
&lt;p&gt;In the evening of Day 2 the Flock participants had the unique opportunity to
dine on the Vistula River and take a small tour up and down the river for some
site seeing. It was a beautiful scenic way to wind down with fellow Fedora
Flockers after a full day of sessions and technical discussions.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="day-3"&gt;
&lt;h2&gt;Day 3&lt;/h2&gt;
&lt;section id="lightning-talks"&gt;
&lt;h3&gt;Lightning Talks&lt;/h3&gt;
&lt;p&gt;Day 3 kicked off with &lt;a class="reference internal" href="https://maxamillion.sh/blog/flock-to-fedora-2016/#lightning-talks"&gt;Lightning Talks&lt;/a&gt;, I presented one myself about a small
project I've been working on titled &lt;a class="reference external" href="https://github.com/maxamillion/loopabull"&gt;Loopabull&lt;/a&gt; which is an event loop driven
&lt;a class="reference external" href="https://github.com/ansible/ansible"&gt;Ansible&lt;/a&gt; playbook execution engine. There were also plenty of other wonderful
lightning talks covering topics such as &lt;a class="reference external" href="https://fedoraproject.org/wiki/Marketing"&gt;Fedora Marketing&lt;/a&gt;, &lt;a class="reference external" href="https://www.openshift.org/"&gt;OpenShift&lt;/a&gt;
provisioning on Fedora with &lt;a class="reference external" href="https://aws.amazon.com/"&gt;Amazon Web Services&lt;/a&gt;, &lt;a class="reference external" href="https://fedoraproject.org/wiki/CommOps"&gt;Fedora CommOps&lt;/a&gt;,
&lt;a class="reference external" href="https://www.dgplug.org"&gt;dgplug&lt;/a&gt;, and so much more.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="automation-workshop"&gt;
&lt;h3&gt;Automation Workshop&lt;/h3&gt;
&lt;p&gt;The automation workshop was kind of an anti-presentation session as the session
leader wanted this to either become more of a hacking session of a problem
solving session. As such, ad-Hoc discussions and work done on automation issues
in the various areas of the &lt;a class="reference external" href="https://fedoraproject.org/wiki/Infrastructure"&gt;Fedora Infrastructure&lt;/a&gt; occurred and people broke
off into smaller groups within the room to work or solve problems.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="openshift-on-fedora"&gt;
&lt;h3&gt;OpenShift on Fedora&lt;/h3&gt;
&lt;p&gt;This session was about running &lt;a class="reference external" href="https://www.openshift.org/"&gt;OpenShift&lt;/a&gt; on &lt;a class="reference external" href="https://getfedora.org/"&gt;Fedora&lt;/a&gt; using the latest and
greatest features of OpenShift, most notably the new component called &lt;code class="docutils literal"&gt;oc
cluster up&lt;/code&gt; which is an auto-deployment provisioning tool built directly into
OpenShift as of version v1.3+ which allows for the automatic creation of
a clustered environment. The entire session was provided as a very well
documented walk through and the link is below.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://github.com/soltysh/talks/blob/master/2016/flock/scenario.md"&gt;OpenShift on Fedora Guided WalkThrough&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;
&lt;section id="building-modules-workshop"&gt;
&lt;h3&gt;Building Modules Workshop&lt;/h3&gt;
&lt;p&gt;The Modules building workshop came together as a hybrid approach of some
presentation, some discussion, some demo, and some "follow along" workshop
style. This was a lot of fun and incredibly informative, there was lively
discussion about aspects of a &lt;a class="reference external" href="https://pagure.io/modulemd/blob/master/f/spec.yaml"&gt;module definition&lt;/a&gt; (for me it was mostly about
trying to wrap my head around everything, and the session hosts were very
accommodating).&lt;/p&gt;
&lt;p&gt;There were many notes taken during the session and they were preserved in an
&lt;a class="reference external" href="http://piratepad.nl/module-build"&gt;etherpad instance&lt;/a&gt; but in the event that
it gets lost in the ether over time I have exported it's contents to my
FedoraPeople space and it can be viewed &lt;a class="reference external" href="https://maxamillion.fedorapeople.org/Events/Flock2016/module-build-latest.html"&gt;here.&lt;/a&gt;&lt;/p&gt;
&lt;/section&gt;
&lt;section id="brewery-lubicz"&gt;
&lt;h3&gt;Brewery Lubicz&lt;/h3&gt;
&lt;p&gt;Next up is the evening event which was hosted in a brewery complete with
wonderful catering.&lt;/p&gt;
&lt;p&gt;As per the schedule:&lt;/p&gt;
&lt;p&gt;A feast and beer tasting awaits us at Browar Lubicz, a recently restored
brewery. The brewery dates from 1840 and has been brewing beer almost
continuously, even during nationalization in the 1950s. Restored in September
2015, the brewery is a high point of a trip to Krakow.&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;
&lt;section id="day-4"&gt;
&lt;h2&gt;Day 4&lt;/h2&gt;
&lt;p&gt;Day 4 was Friday and I slept in a little because I was going to be staying up
overnight in order to catch my 4am taxi to the airport to begin the journey back
home so I regretfully missed the morning session on &lt;a class="reference external" href="https://github.com/ansible/ansible"&gt;Ansible&lt;/a&gt; best practices but
I was told it was very good and I have every intention to watch it on YouTube
once the video is posted.&lt;/p&gt;
&lt;section id="what-we-do-for-docker-image-test-automation"&gt;
&lt;h3&gt;What we do for Docker image test automation&lt;/h3&gt;
&lt;p&gt;I attended this session for about 45 minutes but it quickly became apparent that
the other participants were very new to &lt;cite&gt;Docker&lt;/cite&gt; and &lt;a class="reference external" href="https://taskotron.fedoraproject.org/"&gt;taskotron&lt;/a&gt; in general and
the session would therefore be very introductory in nature so I departed to join
a workshop elsewhere. This session was by no means bad and I think anyone who is
new to the topic of &lt;a class="reference external" href="https://github.com/docker/docker/"&gt;Docker&lt;/a&gt; or &lt;a class="reference external" href="https://taskotron.fedoraproject.org/"&gt;taskotron&lt;/a&gt; and is interested how these two
things are being used together in order to test Docker Images should absolutely
have attended or should watch the recording on YouTube after the fact.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="server-sig-pow-wow"&gt;
&lt;h3&gt;Server SIG Pow-Wow&lt;/h3&gt;
&lt;p&gt;A lot of things are changing in the Fedora Project, particularly for
modularization. This session was by and large a collaborative brainstorming and
planning session for how to take advantage of the new initiative and how to
adapt properly. &lt;a class="reference external" href="https://github.com/libre-server/rolekit"&gt;RoleKit&lt;/a&gt; became a focal point of discussion as well as
&lt;a class="reference external" href="https://github.com/ansible/ansible"&gt;Ansible&lt;/a&gt; and potentially an integration with the two. Aspects of the
discussion related back to the &lt;a class="reference external" href="https://fedoraproject.org/wiki/Fedora_formulas"&gt;Fedora Formulas&lt;/a&gt; proposal that unfortunately
didn't get off the ground at the time.&lt;/p&gt;
&lt;p&gt;The session leader graciously took notes and has plans to post a write up.&lt;/p&gt;
&lt;/section&gt;
&lt;section id="informal-friday-night-shenanigans"&gt;
&lt;h3&gt;Informal Friday Night Shenanigans&lt;/h3&gt;
&lt;p&gt;Friday night a group of us Flockers took to the streets of Krakow City Center in
order to take in as much of the local cuisine, culture, and sites as we could on
our last night in town (at least it was the last night for some of us). This was
a really great outing and I had the opportunity to make some new friends within
the Fedora Community that I had yet to meet in person. It was a wonderful way to
close out an amazing event.&lt;/p&gt;
&lt;p&gt;I look forward to Flock 2017!&lt;/p&gt;
&lt;p&gt;Until next time...&lt;/p&gt;
&lt;/section&gt;
&lt;/section&gt;</description><category>Fedora Flock 2016</category><guid>https://maxamillion.sh/blog/flock-to-fedora-2016/</guid><pubDate>Wed, 10 Aug 2016 16:48:20 GMT</pubDate></item></channel></rss>