Skip to content

refactor: rework agent auto upgrade routine #157

Description

@antoinemzs

Description

Agent auto upgrade depends on a correctly functioning platform for issuing a custom simili-inject type of command to execute that happens to trigger an upgrade script.

Change this logic to reimplement the auto upgrade routine to delegate the whole process to the agent process.

  1. query the platform for a binary hash corresponding to the proposed agent binary in the platform
  2. implement the auto upgrade command in agent based on stable platform APIs (get the upgrader, spawn process)
  3. implement a backoff in case of failed upgrade (hashes don't match)

Mind migration from old agents to new agents: keep the "upgrade command as inject" logic for this transition.

Environment

  1. OS (where OpenAEV server runs): { e.g. Mac OS 10, Windows 10, Ubuntu 16.4, etc. }
  2. OpenAEV version: { e.g. OpenAEV 1.0.2 }
  3. OpenAEV client: { e.g. frontend or python }
  4. Other environment details:

Reproducible Steps

Steps to create the smallest reproducible scenario:

  1. { e.g. Run ... }
  2. { e.g. Click ... }
  3. { e.g. Error ... }

Expected Output

Actual Output

Additional information

Screenshots (optional)

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureType: new feature or capability (feat:).

    Fields

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions