Replacing yum with dnf Jan Zeleny Retrospective and migration plans

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration management
Chapter 3.1 Teams and Processes. 2 Programming Teams In the 1980s programmers developed the whole game (and did the art and sounds too!) Now programmers.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Establishing an Agile Testing Team: Our Four Favorite “Mistakes” Kay Johansen Anthony Perkins.
Mtivity Client Support System Quick start guide. Mtivity Client Support System We are very pleased to announce the launch of a new Client Support System.
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Version Control and SVN ECE 297. Why Do We Need Version Control?
How We Got Here PC and Internet changed the rules –Viruses, information sharing, “outside” and “inside” indistinguishable –Vulnerability research for.
The Great Migration: From Pacman to RPMs Alain Roy OSG Software Coordinator.
INFSOM-RI WP3: WP3: Software configuration tools and methodologies Status Report ETICS All-Hands – 23 May 2007 E. Ronchieri.
New versions of Moodle Break existing plugins Sometimes a little Sometimes a lot How can you fix those plugins.
1 April 14, Starting New Open Source Software Projects William Cohen NCSU CSC 591W April 14, 2008.
Luke Macken [ bodhi ]. ● History of Fedora updates ● bodhi ● goals ● features ● architecture ● using ● testing/qa ● hacking ● future ideas [ overview.
An Introduction to. Where did Fedora come from? Boxed set every 6 months == Failed business model [
Class of 2016 Senior Project Reflection & Results.
How to write an effective RFP
Abstract After a SIG has been approved, one of the next steps is to get products out to users. During this talk, Niels will explain how the Storage SIG.
MARKETING STRATEGY PROJECT “SwapzK”.
Is LVCC the right place for you?
Information Systems Development
There is great power in harmony and mutual understanding.
Business Directory REST API
Recruiting & Keeping Loyal Volunteers
The next-gen. list archiver
Where we are, where we’re goin’
Software Packaging and Releasing
BANKING INFORMATION SYSTEMS
KDE community guide (break into KDE) HOSC Amsterdam 2006
Consultation: Your Say ….
AIT Design Project- App Creation
It’s not all about the tool!
Managing Client’s Projects in Opensource and Being Profitable
Submitting Requests to IT
LCGAA nightlies infrastructure
Testing new kernels is easy and important – you should do it, too!
Software Documentation
Is LVCC the right place for you?
Contracting Officer Podcast Slides
Ground Rules.
Taking an Iteration Down to Code
THE BASICS.
Customization Guidelines for BMC Remedy IT Service Management 7.5
Powerful Ways to Engage Students Using Google Classroom
Building Disaster-Resilient Places
A man is flying in a hot air balloon and realizes he is lost
Designing a Research Package
Introducing the Ideas One of Six Traits:
The structure of the course
Improving the structure of existing code
Git Best Practices Jay Patel Git Best Practices.
Customization Guidelines for BMC Remedy IT Service Management 7.5
There is great power in harmony and mutual understanding.
Tonga Institute of Higher Education IT 141: Information Systems
Critical Element: PBIS Team
Testing and Optimization (TAO) Overview
Bringing more value out of automation testing
Discussing an OVS/OVN Split
NEW INTERACTIVE FEATURES
Product released! Software Released! Now what?.
Restoration of Tribal Homelands & Tribal Control of Critical Land Management Activities: Tribal Administration of Resource Appraisal Services Candice Skenandore,
1. A traditional crisis CRISIS
Tonga Institute of Higher Education IT 141: Information Systems
Workflows at Austin Water Labs
How to set up PMO for any business project
Report from the trenches of an HTML5 game provider
Chapter 12: Software Support and Maintenance
WEB DESIGN Cross 11, Tapovan Enclave Nala pani Road, Dehradun : ,
Presentation transcript:

Replacing yum with dnf Jan Zeleny Retrospective and migration plans The first half vs. the second half (what happened vs. what is about to happen), opposite to what the description promised I have a lot of stuff Goals of the presentation: - hope it will help the audience understand why things are the way they are right now - self-reflection: demonstrate that we acknowledge our mistakes and want to learn from them - we accept feedback: this is your opportunity to hear our plans and give us your feedback - generally not about individual bugs / RFEs Presented by Jan Zeleny Supervisor, Software management team Red Hat Czech

Today's Topics Retrospective dnf 1.0 What is planned A bit of controversy The first topic: general retrospective going way back Dnf-1.0 is more about recent history – what happened right around F22 GA when dnf was being finished I hope these two ^^ will give you background why things happen the way they do – important for the second part! Plans: mostly some high level plans but things might change as you will hear later in the presentation Controversy: I want to talk about some of the decisions that might not be popular for some people even though they are generally accepted

Retrospective Let's dive deep into history and start with the positive stuff ...

Getting early adopters Retrospective + Getting early adopters + The most important thing: earlyannouncement (15 months before target release) + Managed to implement and fix the most critical parts (protected packages plugin) - The community of early adopters covered only a small part of dnf - We didn't succeed to reach out to people outside of early adopters group

use-case driven development Retrospective + use-case driven development TLDR: We do not automatically implement what is requested we listen to our users, but not every single user individually (some requests are contradictory) + clear indication as to what is important and why + managed to merge some duplicated functions - the development process takes a bit longer - sometimes the team can be seen as unwilling to cooperate

Unit testing, CI, documentation Retrospective + Unit testing, CI, documentation These are three aspects that differentiate dnf development from yum development. Size of the test suite, currently unit, plans for functional Much higher Importance of testing in the process of SW development Documentation: strong accent, as it defines API, makes it easy for other developers to join

Poor stabilization goals Retrospective - Poor stabilization goals Even though we announced early, people didn't test as much of the code base as we had hoped That led us to making wrong assumptions as to what is it going to take to declare dnf finished Only five goals were originally set as “this needs to be done before the final release” That reflected badly on us, as users got mad about important things we did not encounter before or did not consider important Another thing: some parts implemented quite late (migration plugin for instance)

Outgoing communication Retrospective - Outgoing communication This needs to be improved in general but mostly in terms of transparency of the planning process for the community Examples throughout the last year Reason for the yum → dnf change (in short: opening the future, details in the very long term planning) Dnf goals and priorities: compatibility, maintainability, flexibility and consistency “It's going to happen” Design decisions

dnf-1.0 This part will be about what was the development all about right around the F22 GA

Migration of applications dnf-1.0 Migration of applications Initial inspection done in January; this gets back to the poor stabilization goals Turned out that there is a lot of stuff depending on yum #1: migrate all stuff that is in base installation #2: migrate all the yum plugins #3: migrate those apps that are heavily used #4: migrate apps with active and approachable maintainers #5: see about the rest (case-by-case basis)

dnf-1.0 yum-deprecated Idea: We realize that dnf is not 100% fit for 100% of yum users – let's keep yum for a little longer and see what is critically missing in dnf At the same time we want to push users to dnf, as yum is going to its end Plan: keep yum-deprecated only as a backup, don't provide additional functionality /usr/bin/yum – redirecting messages, similar to /usr/sbin/service Migration plugin + migration man page Installation of plugins: dnf-command(<command>)

yum vs. dnf - major differences For some reason users keep thinking that dnf is drop-in replacement for yum – we never said that Again, the communication should have been much stronger about this BUT … we have a great documentation – FAQ, page with the dífferences Why: use case orientation

dnf-1.0 Incoming bugs α: 2015-03-10 β: 2015-04-21 GA: 2015-05-26 F22 α – first point of real contact α-β: 93 // β-GA: 115 // GA-now: 100 Closed α-now: 410

dnf-1.0 Talk about the new triage process, more frequent updates

What do we plan This big topic: migration I will reveal some other plans as well

What do we plan Removing yum Big surprise, we want to remove yum This is likely something you are most interested in so let's talk about that Yum has been in maintenance mode for about 18 months now Let's take a look at three important aspects of the migration to dnf

What do we plan Removing yum Migrating users Yum-deprecated is staying in F23 and if everything goes well, we are removing it in F24 Current important issues we are tracking

What do we plan Removing yum Migrating users Migrating apps Fedora apps: 20 to go, patches sent to 10 and two are likely to be dropped (#1156491) Plugins: ongoing effort Non-Fedora apps: assistance, documentation

Migrating infrastructure What do we plan Removing yum Migrating users Migrating apps Migrating infrastructure This is more question for rel-eng (are any rel-eng in the room?) I want to use this opportunity to meet them and create a plan Mock, Koji, Pungi

Short term plans API improvements for plugins Downloading file lists Rich deps Sub. Manager “search disabled repos” plugin

Long term plans Software database Integration with CAShe CAShe – I wasn't sure about short/long term category on this one

Very long term plans Addressing the “three different SWM stacks” problem Transformation to C/C++ Daemonization? Mostly ideas at this point, no work being done on those Go through the list, explain each item and provide justification

Let's get controversial In this part of the presentation I would like to explain some of the choices we have made in the development process This is in alignment with what I said earlier about making the planning process more transparent to the community

Topics Name Different depsolving rpm dependency model as non-deterministic model Description of the depsolving mechanism New system-wide features Installation use case update vs. check-upgrade

Topics dnf not being used as packaging debugger Yum shell

Questions? Contact: jzeleny@redhat.com