Heads up: Upcoming change in rendering engine in develop

Hello all,

there is a PR which heavily refactors our rendering engine, this is a long overdue. There are two weeks until branching, but due to complexity of the refactoring I would like to propose merging this. There are three plugins which I am aware of using rendering engine directly:

  • bootdisk
  • discovery
  • remote execution
  • katello

I will cover possible regressions in bootdisk/discovery but I would like to notify @remote_execution and @katello devs to test this PR with respective plugins and speak up if you find some troubles. The patch should be transparent as long as plugins are not monkey patching some internals.

If there are no objections until Wednesday this week, I am gonna merge the PR so we have more time to catch possible issues.

3 Likes

Please wait with the merging, Iā€™ll do my best to at least quickly review before Wed. Last time I checked, I had few things to comment about.

Edit: also cc @tbrisker who wanted to be aware of such PRs

1 Like

Thanks, iā€™m also reviewing it atm :slight_smile:

Just for the record @iNecas raised concern about availability for rex changes. Once review process is finished and its all good, I will test rex. If it wonā€™t work letā€™s not merge the PR pre 1.19.

I checked rex out yesterday. It wonā€™t work and needs changes. While Iā€™m not familiar with the rex codebase, I think I know what needs to be changed. @leewaa and I think itā€™s a good learning exercise to get familiar with the new renderer. We will take a look tomorrow and provide a fix. Although I still believe we should not block merging core PRs because of plugins. We break them anyway all the time.

Katello should just require trivial changes. Userdata plugin as well. Bootdisk might be a little but more work, but should be fairly easy. Rex is by far the greatest effort.

Perhaps now is a good time to start changing that :wink:

1 Like

Actually, I disagree. If core changes rails versions for example, introducing a compatibility layer would be a huge effort. It would be easier to just update the plugins. If the plugin maintainers take care of that task themselves, they get to know the new version of the framework directly. And they know their applications the best.
Weā€™re currently planning on moving the models page to react. Letā€™s say I had a plugin that adds a cat picture somewhere on that page with deface, weā€™d break the plugin when we merge the react PR. I would not want to block that PR. Would you?

Whilst I agree, we do need to figure out better ways to communicate with plugin developers. We might hope that they are active and looking at what core is doing, but that isnā€™t always true. Iā€™m doing some thinking on that, but I donā€™t have any firm ideas yet.

2 Likes

Word. Last couple of years, we were pretty good at planning merging of bigger changes after branching. It can be quite stressful for plugins authors to figure out there was a big change in core week before branching, Iā€™ve been that several times with discovery.

I suggest that if we plan merging this pre-1.19 letā€™s make sure that at least PRs for all plugins listed above are pending review. I will do discovery, canā€™t commit to bootdisk changes as we have some days off this week in Czech Republic.

1 Like

I kind of agree, but you always need some coordination. If the developer of an important plugin indicates it breaks it can be fair to hold off merging for a bit. You canā€™t hold it off until eternity but thereā€™s a middleground somewhere.

2 Likes

I have opened a PR for bootdisk and am working on a PR for remote execution. We have found some small room for improvements in the renderer, that weā€™d like to add tomorrow. That will help with the rex implementation. I have created tickets for all other plugins that need changes.

Iā€™ll try to work on a PR to discovery now. Katello should be trivial, it just needs to use the official plugin API for itā€™s custom macros.

3 Likes

PRs for discovery and Katello are also open. I do need some help with the Katello one. The REX PR will follow tomorrow.

3 Likes

This PR has now been merged. Plugin-Authors: Itā€™s time to merge the respective PRs.

Let us know if you have any questions or need assistance.