-
Notifications
You must be signed in to change notification settings - Fork 928
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
Feature/cluster mode unique server for job schedules #396
Merged
gschueler
merged 15 commits into
rundeck:development
from
gschueler:feature/cluster-mode-unique-server-for-job-schedules
May 15, 2013
Merged
Feature/cluster mode unique server for job schedules #396
gschueler
merged 15 commits into
rundeck:development
from
gschueler:feature/cluster-mode-unique-server-for-job-schedules
May 15, 2013
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* support using only one unique server node for a quartz scheduled job * require a server uuid for cluster mode
* set serverNodeUUID when saving scheduled jobs * unschedule from quartz if uuid does not match
* store the UUID of cluster node in executions
* show correct schedule time if running on a different cluster node * indicate the job is expected to run
DTO Labs » rundeck #4 SUCCESS |
Need a way to tell one server to adopt schedule of jobs from another UUID. e.g. if server A fails, need to tell server B to take over scheduling. |
* path /incubator/jobs/takeoverSchedule * PUT content identifies server UUID to takeover * response indicates how many jobs were successfully taken over or not * response includes job identifiers * supports json/xml * requires 'admin' authorization for resource kind 'job' at the application context
DTO Labs » rundeck #5 SUCCESS |
DTO Labs » rundeck #6 SUCCESS |
gschueler
added a commit
that referenced
this pull request
May 15, 2013
…rver-for-job-schedules Feature/cluster mode unique server for job schedules
gschueler
deleted the
feature/cluster-mode-unique-server-for-job-schedules
branch
May 15, 2013 23:07
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add very simple support for multi-server rundeck configuration pointing at the same DB backend, allowing scheduled (quartz) jobs to execute only on a single node in the "cluster".
rundeck.clusterMode.enabled=true
in rundeck-config filerundeck.server.uuid
to be set for each node in the framework.propertiesWith this enabled, Scheduled (quartz) jobs will not attempt to run on every server node, but will only be scheduled on the server they were last modified on. In the case where a job is scheduled on server A, but modified and saved on server B, the quartz job when run will detect the changed serverNodeUUID for the job, and unscheduled itself on node A, while server B will run the job correctly.
This supports a basic failover mode, using multiple Rundeck servers pointing at a single DB.