service: add Trigger(name) to trigger bundle rebuild #124
service: add Trigger(name) to trigger bundle rebuild #124
Conversation
bf196bb to
afffedd
Compare
ba4cbc7 to
f3e7408
Compare
b3850e5 to
9267b67
Compare
6e4a514 to
b7d8386
Compare
|
@srenatus this looks like a great start but I think we can simplify this (and also solve the horizontal scalability issues):
|
|
@srenatus is this feature/improvement pending due to unanswered questions highlighted in "Next steps:" in the PR description? |
|
Yeah this needs some love. @mefarazath Do you have a similar use case? Would it help as implemented there? If so, I can put in some time this week to land this. |
|
@mjungsbluth Sorry for the radio silence! (Must have overlooked that notification... 😓)
Horizontal scaling is something we're definitely keen on with OCP. That said, if you configure your rebuild period to, say, 10 years, you'll have the same effect now. But obviously without an external trigger, nothing would ever happen. Which is why I'll refresh this PR. 🙃
Yeah I can see that. Let's see what we can do. |
Adds the machinery to pool and service to trigger bundle rebuilds by name. If the bundle worker is queued, it'll be pulled into the front of the line, to be picked up next; if it's currently not in the queue, it must be executing: if so, we're overriding the next deadline to be _now_, causing an immediate re-run of the build process. For now, this is only wired up with signal handling: send a HUP signal to rebuild. This is because we haven't discussed proper permissions and HTTP API design for this yet. Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
Some arbitrary choices here that we'll need to discuss before merging! Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
80fab93 to
36c10db
Compare
Signed-off-by: Stephan Renatus <stephan.renatus@gmail.com>
36c10db to
c99aa83
Compare
Adds the machinery to pool and service to trigger bundle rebuilds by name. If the bundle worker is queued, it'll be pulled into the front of the line, to be picked up next; if it's currently not in the queue, it must be executing: if so, we're overriding the next deadline to be now, causing an immediate re-run of the build process.
Use a config snippet like this
to put the automatic rebuilds and config checks almost on hold.
It's now exposed with a a new role, "automation", and via HTTP,
POST /v1/bundles/{name}. These are things we should probably discuss.Next steps: