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

State based queue to schedule build, setup and teardown #7

Closed
revant opened this issue Jun 1, 2021 · 0 comments
Closed

State based queue to schedule build, setup and teardown #7

revant opened this issue Jun 1, 2021 · 0 comments
Assignees

Comments

@revant
Copy link
Owner

revant commented Jun 1, 2021

States of improvement:

Ready: Set when Improvement is added

Build Queued

  • Set by using whitelisted function.
  • Picked up by process_build_queue_improvements

Build Queue Failed

  • process_build_queue_improvements sets "Build Queue" Improvements to "Build Queue Failed" if calling the create_build_image_job throws exception
  • Save Error Log

Building

  • process_build_queue_improvements sets "Build Queue" Improvements to "Building" if create_build_image_job response is successful.

Build Complete

  • process_building_improvements sets "Building" Improvements to "Build Complete" if get_job_status() returns job is complete.

Build Error

  • process_building_improvements sets "Building" Improvements to "Build Error" if get_job_status() returns exception.

Release Queued

  • process_build_complete_improvements sets "Build Complete" Improvements to "Release Queued" if create_helm_release() returns success.
  • set site credentials on Improvement

Release Queued Failed

  • process_build_complete_improvements sets "Build Complete" Improvements to "Release Queued Failed" if create_helm_release() returns exception.

Release Error

  • process_release_queued_improvements sets "Release Queued" to "Release Error" if get_helm_release_status() returns exception

Ready

  • process_release_queued_improvements sets "Release Queued" to "Ready" if get_helm_release_status() returns exception

Upgrade Queued

  • Set by user by whitelisted function call, allow only if Improvement has "site credential data"

Upgrade Queued Failed

  • process_upgrade_queued_improvements sets "Upgrade Queued" to "Upgrade Queue Failed" if create_build_image_job() returns exception

Rebuilding

  • process_upgrade_queued_improvements sets "Upgrade Queued" to "Rebuilding" if create_build_image_job() returns success

Rebuild Error

  • process_rebuilding_improvements sets "Rebuilding" to "Rebuild Error" if get_job_status() returns failure

Rebuild Complete

  • process_rebuilding_improvements sets "Rebuilding" to "Rebuild Complete" if get_job_status() returns success

Upgrading

  • process_rebuild_complete_improvements sets "Rebuild Complete" to "Upgrading" if update_helm_release() returns success

Upgrading Failed

  • process_rebuild_complete_improvements sets "Rebuild Complete" to "Upgrading Failed" if update_helm_release() returns error

Upgrade Error

  • process_upgrading_improvements sets "Upgrading" to "Upgrade Error" if get_helm_release_status() returns failure

Ready

  • process_upgrading_improvements sets "Upgrading" to "Ready" if get_helm_release_status() returns success

Delete Queued

  • Set by user through whitelisted function

Delete Queue Failed

  • process_delete_queued_improvements sets "Delete Queued" to "Delete Queue Failed" if tear_down_improvement_site_resources returns error

[doc.remove]

  • process_delete_queued_improvements deletes "Delete Queued" if tear_down_improvement_site_resources returns error

On error options:

  • contact admin
  • reset button, cleanup and teardown.

List of cron functions to add

  • process_build_queue_improvements
  • process_building_improvements
  • process_build_complete_improvements
  • process_release_queued_improvements
  • process_upgrade_queued_improvements
  • process_rebuilding_improvements
  • process_rebuild_complete_improvements
  • process_upgrading_improvements
  • process_delete_queued_improvements
@revant revant changed the title State based queue on scheduled event "all" State based queue to schedule build, setup and teardown Jun 2, 2021
@revant revant self-assigned this Jun 3, 2021
@revant revant closed this as completed in 3c0dd7a Jun 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant