You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(orb-hil): add ota command (#734)
# Add OTA Command to orb-hil
## Overview
This PR adds **OTA** command to the `orb-hil` binary. This command
provide functionality for updating Orbs and performing post-update
verification
## Notes
- Currently uses ssh connection with password, until we add the HIL ssh
key into a release
### OTA Command
```sh
Over-The-Air update command for the Orb
Usage: orb-hil ota [OPTIONS] --target-version <TARGET_VERSION> --hostname <HOSTNAME> --platform <PLATFORM> --log-file <LOG_FILE> <--serial-path <SERIAL_PATH>|--serial-id <SERIAL_ID>> <--password <PASSWORD>|--key-path <KEY_PATH>>
Options:
--target-version <TARGET_VERSION>
Target version to update to
--hostname <HOSTNAME>
Hostname of the Orb device
--username <USERNAME>
Username [default: worldcoin]
--password <PASSWORD>
Password for authentication (mutually exclusive with --key-path)
--key-path <KEY_PATH>
Path to SSH private key for authentication (mutually exclusive with --password)
--port <PORT>
SSH port for the Orb device [default: 22]
--platform <PLATFORM>
Platform type (diamond or pearl) [possible values: diamond, pearl]
--timeout-secs <TIMEOUT_SECS>
Timeout for the entire OTA process in seconds [default: 7200]
--log-file <LOG_FILE>
Path to save journalctl logs from worldcoin-update-agent.service
--max-reconnect-attempts <MAX_RECONNECT_ATTEMPTS>
Maximum reconnection attempts after reboot [default: 50]
--reconnect-sleep-secs <RECONNECT_SLEEP_SECS>
Sleep time between reconnection attempts in seconds [default: 5]
--serial-path <SERIAL_PATH>
Serial port path for boot log capture
--serial-id <SERIAL_ID>
Serial port ID for boot log capture (alternative to --serial-path)
-h, --help
Print help
```
#### Steps
- Get current slot
- On diamond: wipe overlays and reboot (gather boot logs)
- Update `versions.json` with the new version for the current slot
- Restart `update-agent` service
- Monitor `update-agent` logs until failure/reboot (gather boot logs)
- Run update-verifier
---------
Co-authored-by: AlexKaravaev <30314738+AlexKaravaev@users.noreply.github.com>