# Motivations ## When will we know the time is right? What will push us over the edge? * We are building up technical debt (concerns or issues or solutions are put off because it would be a breaking change requiring a Pulp 4) * Self fulfilling prophecy (making migration/upgrade more painful) ## What are the list of features that would require a new X Release? (just pick 1) Thought experiment - if we did a release a new X release, what are the things that would need to change to make this happen? - Note: we aren't suggesting time based features, just force us to think about what things need to change in order to start putting out a roadmap where 1 thing can be picked as the Pulp 4 release # Will we ship a v3 and v4 API at the same time? * # Pulp 2 issues * Lots of variation within the systems in the wild # Ideas for future discussions * Whatever goes into Pulp4 how will it be painful for our integrators/stakeholders/developers? * Let's gather the superset of ideas for breaking changes and then select what we can afford to deliver in Pulp4. # Problems with 2-to-3 migration (What are we not going to do in Pulp 4) * Took a long time to deliver * Integrators had to put in huge effort to switch * Developers having to split brian between the old and new version. * The way you stood up the "old" version and the "new" version were totally different. Hard to maintain two environments. * Too many changes (tech stack, dev environment) * get management buy in first * We had to adapt downstream user (Katello) workflows to a completely new workflow (multiple repositories -> one repository many repository versions, specifically). Doing so was a massive bear and made the migration so much worse. * A more straightforwards tech stack transition for Pulp 3 without as radical architectural changes (repo versions) would maybe have been preferable - delivered faster and migrated to more quickly * # What are the challenges for a pulp 4 # How can we address those challenges? * don't release so often * don't have Pulp 4 be a separate application that has to stand up separately * parallel APIs within the same application * or at least shared workers / content app? * do as much as we can in Pulp 3 to get close to the ideal, so that Pulp 3 is as small of a change as possible * e.g. introducing new APIs # Ideas * We perhaps made some things a bit too flexible in Pulp 3 - e.g. syncing arbitrary remotes against arbitrary repos. * Which then made our APIs more complicated by default for things that could and should be simple. * https://github.com/pulp/pulpcore/issues/2010 * Keep # Questions Does Pulp4 mean package that are 4.y or is it a /v4/ REST API shipped in Pulp 3.y