Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pluggable observers #11

Open
rustyrazorblade opened this issue Oct 25, 2016 · 11 comments
Open

Pluggable observers #11

rustyrazorblade opened this issue Oct 25, 2016 · 11 comments
Labels
help-wanted Issues in the state 'help-wanted' zh:Icebox

Comments

@rustyrazorblade
Copy link
Contributor

rustyrazorblade commented Oct 25, 2016

Project board link

From IRC:

ha ha, yeah been thinking about it. Still deciding. We might fork it and tweak some of the code to basically to hook custom listeners/callbacks on the success/failure cases. Basically trigger off a slack alert if the repair failed

It would be very cool if we shipped support for pluggable classes that can register as observers to handle things like failure, etc.

┆Issue is synchronized with this Jira Story by Unito
┆Issue Number: REAP-189

@zznate
Copy link
Contributor

zznate commented Oct 27, 2016

+1 on that. Fantastic idea. @adejanovski what do you think the scope of something like this might be?

@adejanovski
Copy link
Contributor

That would be nice indeed.
The way I see it, we could trigger calling a url through HTTP on different events (repair started, failed, finished) to have generic push of events. Callbacks should be registered through the UI and stored in the database.

Having observers through pluggable classes would require users to recompile Reaper which we might not want.

Another way to make it very generic would be to allow people to write Groovy scripts to register callbacks.

And of course we can maintain a set of specific triggers in the Reaper codebase to ease integration with Slack, etc...

@rustyrazorblade @zznate : thoughts ?

@rustyrazorblade
Copy link
Contributor Author

URL callbacks sound great. Better than what I had suggested. +1 from me
On Fri, Oct 28, 2016 at 3:32 AM Alexander Dejanovski <
notifications@github.com> wrote:

That would be nice indeed.
The way I see it, we could trigger calling a url through HTTP on different
events (repair started, failed, finished) to have generic push of events.
Callbacks should be registered through the UI and stored in the database.

Having observers through pluggable classes would require users to
recompile Reaper which we might not want.

Another way to make it very generic would be to allow people to write
Groovy scripts to register callbacks.

And of course we can maintain a set of specific triggers in the Reaper
codebase to ease integration with Slack, etc...

@rustyrazorblade https://github.com/rustyrazorblade @zznate
https://github.com/zznate : thoughts ?


You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub
#11 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAUn0A3ZUWhz1VY4O0aNN_LuIy3BuotUks5q4c8_gaJpZM4KgPGm
.

@rustyrazorblade
Copy link
Contributor Author

How about we design an interface for event handling and do an implementation as HTTP callbacks? It solves most people's needs but also give an escape hatch for folks that want something really simple, like an email when things fail. See #79

@michaelsembwever
Copy link
Member

👍

@Ritu-Thakur
Copy link

@michaelsembwever
Is this email feature already developed in some other branch or is it in pipeline?

@rustyrazorblade
Copy link
Contributor Author

It's only been discussed here. Are you interested in working on it @ritu0407 ?

@Ritu-Thakur
Copy link

@rustyrazorblade
This is our first attempt to use reaper in the project. Right now we don't have any plans to enhance the tool and as long as we have a way to check the logs to know if it's working or not, that's good enough.
Thanks for developing this tool !

@rustyrazorblade
Copy link
Contributor Author

When we start working on it, we'll update this issue and the work will be in a branch here. Would you be able to help us test it and give feedback along its development?

@Ritu-Thakur
Copy link

Sure, we can test it.

@richardchesse
Copy link

richardchesse commented Oct 22, 2022

I think the implementation here has overshadowed the importance of the actual feature. Having configuration options for simple shell scripts for start, end, failure of repair runs is important for a set-it-and-forget-it tool like this (what a former colleague calls the "Ronco toolsuite"). Reaper runs generally once a week for most orgs and works well. Until one week you have a repair that doesn't finish for some reason and then it runs for 21 days straight or is erroring out silently because no one looks at it. Simple shell script hooks would go a long way here. People can hook into whatever notification systems they want from there.

@adejanovski adejanovski moved this to To Groom in K8ssandra Nov 8, 2022
@adejanovski adejanovski moved this from To Groom to Icebox in K8ssandra Apr 27, 2023
@adejanovski adejanovski added the help-wanted Issues in the state 'help-wanted' label Jun 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help-wanted Issues in the state 'help-wanted' zh:Icebox
Projects
None yet
Development

No branches or pull requests

6 participants