Currently, we use 'cast' instead of 'call' to send request
from api to operationengine when creating a new trigger.
With 'cast', it will not give a return value to api even the
trigger is invalid, so users can create triggers successfully
with using invalid triggers.
This patch add trigger verification in API side. Before send
create request to operationengine, API send a verify request
to operationengine first, which type is 'call', to make sure
the trigger will be created is valid.
Change-Id: Iea734e1b4a63f6e35afe32cbbb2b60f79d6db085
Closes-Bug: #1736657
In multi operation engine nodes scenario, each trigger must be handled
by one node. If a trigger is raised in more than 1 node, the same
operation will start execution in the same time.
Create TriggerExecutions table in database, which will be used to sync
the next trigger executions. Each node tries to atomically update the
next execution time, and only a node which succeeds can move forward on
handling the actual trigger.
Change-Id: I8f276f4612e8b3a0dc86bc0d300e55c40ee9c0f2
When generating karbor.conf.sample with `oslo-config-generator`, this will
provide "Allowed values" information in configurations, so people needn't
check karbor code base to get the values.
Change-Id: I4f7483f0fd8580fcaa47376754727e574bf11152
In ScheduledOperationState, there are two states: 'triggered' and
'running'. The two states can be merged into one.
Change-Id: I0c8ffdfb9245dd1273af374b1cf38891c9743208
suspend interface will pause the operation and it will not be triggered;
resume interface will resume the operation to be triggered.
Change-Id: I2d3fb84d53d5bad783bc4b1236091b7fca6727d8
Closes-Bug: #1606467