Heads up: Foreman plug-ins released as Open Source

Hello, devs!

Today, we have released four Foreman plug-ins into the open.
With this thread I just wanted to raise awareness, maybe someone is interested in trying them out.

  • Foreman Spacewalk, integrates Foreman with Spacewalk. That might sound funny to those who know the history of the projects but comes in handy when using Suse Manager for SUSE content.
  • Foreman Distributed Lock Manager, adds a Distributed Lock Manager to Foreman. This can be used to synchronize updates across a cluster of hosts.
  • Foreman Rescue, allows booting hosts directly into a rescue system.
  • Foreman Wreckingball adds useful status checks for VMWare vSphere compute resources

The plug-ins are made with love and are battle-tested using Foremen 1.15 here in Karlsruhe.
Feedback is very welcome.

Timo

9 Likes

This is great news! Would you you be up for introducing them on community demo or doing some deep dive? I’m mainly interested in wreckingball :slight_smile: my first question would be, how did you pick that name?

First of all, we’ll provide packages for the plugins and add them to the puppet modules.

Many myths and legends surround the naming of the wrecking ball plug-in. I’ll let you in on a little secret: The most likely reason is probably, that when you have problems with your VMWare infrastructure it’s like a wrecking ball. Your applications are taken down one-by-one. The wrecking ball plug-in offers status checks to prevent some of these problems. Well, and the name fits Foreman’s construction theme.

Our plan to improve the plug-in is by subscribing to an event stream offered by the vSphere API so that all status data can actually be displayed in real time. Right now it just polls the API and stores the data in Foreman’s database for fast access. Maybe this technique could even replace virt-who in the future. It would definitely reduce the setup and operational efforts for users. Let’s see.

Wow, thank you so much. I love all of them. If you find time to send Rescue into core, I will happily review and test. This is super useful.

Hi Timo,

excellent work. Thank you very much!!! Would love to see the Distributed Lock Manager, Rescue and Wreckingball as a Foreman Core feature.

If I remember correctly, there was a discussion some month ago in which case a functionality should be a Core feature and which should be a separate plugin. In case of these three plugins, I think they are all very customer-centric and a lot of users are having the same issue.

What’s your opinion? Why should be that great functionality “only” a plugin? Wouldnt’ it be better to add it to Core so thats better integrated, less pain with updates, etc.

Best regards,
Bernhard

I think having these features as a plug-in or in the core has both benefits and downsides. When speaking of pain with updates, do you mean the pain that I have when adapting the plugins to core changes or do you think this is painful for users? Ideally, a user would just run yum update -y and the update would be complete. If we keep the code as plugins, we can more easily ship fixes or features for older Foreman versions. And when we develop a new feature, it’s easier to get it into our production setup. If the feature would need to get in core first, we’d have to wait for a new core release before we can use the feature or patch our systems manually (even more).
Rescue is probably pretty complete, so I’d be happy to have it in core. Both wrecking ball and DLM still need some polishing. They work well, but DLM, for example, needs a proper UI before I’d accept this in core.

So, yes for rescue. Not yet for the rest of the plug-ins.

Timo

With “pain” I mean, that some plugins, especially plugins which are not maintained in a very good manner, doesn’t work out of the box. I think that such enhancements like the rescue plugin or wrecking ball plugin should be part of foreman as it “extends” the functionality without introducing a completely new technology which should be a plugin like foreman_ansible, or foreman_hooks.