Skip to content

info: add ZDEVICE_STATE_CONVERTING state and ZDeviceSubState#149

Open
eriknordmark wants to merge 2 commits into
lf-edge:mainfrom
eriknordmark:eve-k-convert-state
Open

info: add ZDEVICE_STATE_CONVERTING state and ZDeviceSubState#149
eriknordmark wants to merge 2 commits into
lf-edge:mainfrom
eriknordmark:eve-k-convert-state

Conversation

@eriknordmark

@eriknordmark eriknordmark commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Description

Adds a device state for in-field boot-disk layout conversion (e.g. the
EVE-kvm↔EVE-k repartition), so a device repartitioning its boot disk
reports a distinct state instead of appearing generically busy or
offline.

  • ZDeviceState.ZDEVICE_STATE_CONVERTING = 9 — the device is converting
    its on-disk layout.
  • ZDeviceSubState (new enum), reported in ZInfoDevice.sub_state
    (field 61) — the phase of that work. Most conversion steps run in the
    offline early-boot resizer with no controller link, so only the phases
    EVE can actually report are enumerated (reboot-to-resize, installing,
    reboot-to-target); EVE reports the furthest-reached one once it can
    talk to the controller again.

Both additions are additive (new enum value, new field number 61), so
the change is wire-compatible: existing controllers and existing EVE
instances continue to interoperate during rolling deploys.

Consumed by the EVE-side boot-disk conversion work (lf-edge/eve#6063),
which currently hand-carries this proto in its pillar vendor and will
switch to make bump-eve-api once this lands.

Regenerated Go and Python bindings are split into a separate commit per
the eve-api convention.

eriknordmark and others added 2 commits July 1, 2026 22:55
Add a device run state reported while a device converts its on-disk
layout — repartitioning the boot disk during an EVE-kvm <-> EVE-k update
(and the reverse). It is distinct from BASEOS_UPDATING because part of
the work runs in early boot, before the base-OS A/B install, and can
include shrinking the persist filesystem.

Add ZDeviceSubState and a ZInfoDevice.sub_state field so the operator
can follow progress through the conversion (pre-flight,
rebooting-to-resize, making-space, creating-partitions,
renaming-partitions, installing, rebooting-to-target). Because most of
the work runs with no controller connectivity, EVE reports the
furthest-reached sub-state once it can talk to the controller again.
sub_state is declared next to state for readability; its tag (61) is
noted at the end of ZInfoDevice.

Additive enum value (9), new enum, and new field (61): wire-compatible.

Signed-off-by: eriknordmark <erik@zededa.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
No functional changes; generated code and assets only.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: eriknordmark <erik@zededa.com>
@eriknordmark eriknordmark force-pushed the eve-k-convert-state branch from 19bd1e9 to 89ad1ff Compare July 2, 2026 05:55
eriknordmark added a commit to eriknordmark/eve that referenced this pull request Jul 3, 2026
Vendored eve-api proto plus the pillar types.DeviceState/DeviceSubState mirror (four sub-states: unspecified, rebooting-to-resize, installing, rebooting-to-target). Hand-carried in vendor until lf-edge/eve-api#149 merges (then make bump-eve-api).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: eriknordmark <erik@zededa.com>
eriknordmark added a commit to eriknordmark/eve that referenced this pull request Jul 9, 2026
Vendored eve-api proto plus the pillar types.DeviceState/DeviceSubState mirror (four sub-states: unspecified, rebooting-to-resize, installing, rebooting-to-target). Hand-carried in vendor until lf-edge/eve-api#149 merges (then make bump-eve-api).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: eriknordmark <erik@zededa.com>
eriknordmark added a commit to eriknordmark/eve that referenced this pull request Jul 14, 2026
Vendored eve-api proto plus the pillar types.DeviceState/DeviceSubState mirror (four sub-states: unspecified, rebooting-to-resize, installing, rebooting-to-target). Hand-carried in vendor until lf-edge/eve-api#149 merges (then make bump-eve-api).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: eriknordmark <erik@zededa.com>
eriknordmark added a commit to eriknordmark/eve that referenced this pull request Jul 15, 2026
Vendored eve-api proto plus the pillar types.DeviceState/DeviceSubState mirror (four sub-states: unspecified, rebooting-to-resize, installing, rebooting-to-target). Hand-carried in vendor until lf-edge/eve-api#149 merges (then make bump-eve-api).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: eriknordmark <erik@zededa.com>
eriknordmark added a commit to eriknordmark/eve that referenced this pull request Jul 15, 2026
Vendored eve-api proto plus the pillar types.DeviceState/DeviceSubState mirror (four sub-states: unspecified, rebooting-to-resize, installing, rebooting-to-target). Hand-carried in vendor until lf-edge/eve-api#149 merges (then make bump-eve-api).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: eriknordmark <erik@zededa.com>
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.

1 participant