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.
  • Keep

Questions

Does Pulp4 mean package that are 4.y or is it a /v4/ REST API shipped in Pulp 3.y