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

Firmware Manager Upgrade Scheduler and Runner #108

Open
wants to merge 10 commits into
base: develop
Choose a base branch
from

Conversation

drewjj
Copy link
Collaborator

@drewjj drewjj commented Oct 3, 2024

PR Details

Description

This pull request reworks the Firmware Manager service into two services: the Upgrade Scheduler and Upgrade Runner.

The Upgrade Scheduler performs the same functions that the old firmware_manager.py script performed: starting firmware upgrades, managing the upgrade queue, and modifying the PostgreSQL database. The Upgrade Runner now is a separate service that simply runs the firmware upgrade scripts. This allows for us to scale out the upgrades across multiple pods in K8s if needed for better parallel process handling.

How Has This Been Tested?

Locally and in CDOT GKE dev.

Types of changes

  • Defect fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that cause existing functionality to change)

Checklist:

  • My changes require new environment variables:
    • I have updated the docker-compose, K8s YAML, and all dependent deployment configuration files.
  • My changes require updates to the documentation:
    • I have updated the documentation accordingly.
  • My changes require updates and/or additions to the unit tests:
    • I have modified/added tests to cover my changes.
  • All existing tests pass.

Copy link
Collaborator

@mwodahl mwodahl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! I just had a couple of questions

Copy link
Member

@dmccoystephenson dmccoystephenson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These changes look good, but I am running into the same error that Marc is with the unit tests.

sample.env Show resolved Hide resolved
@mwodahl mwodahl self-requested a review October 11, 2024 20:16
Copy link
Collaborator

@mwodahl mwodahl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This all looks good to me now and unit tests are working correctly!

Copy link
Member

@dmccoystephenson dmccoystephenson left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good & the unit tests pass!

… to address the file check addition to gcs_download function
Copy link
Collaborator

@Michael7371 Michael7371 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@drewjj I made some updates to allow for the OBU OTA server to work with these changes. Everything else looks really cool! I like the scaling changes.

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

Successfully merging this pull request may close these issues.

4 participants