Skip to content

Conversation

GabrielBuica
Copy link
Contributor

While attempting to improve these checks in #6655, this caused the system to detect false positives for detecting RPU.

This splits the logic between RPU and migration version checks.

@GabrielBuica GabrielBuica force-pushed the private/dbuica/rpu-version-control branch from e390fea to 1859431 Compare October 8, 2025 09:26
@lindig
Copy link
Contributor

lindig commented Oct 8, 2025

The xapi-aux library has a version module to handle version strings; would this be useful?

val of_string : string -> t
(** Parse a version; may raise [Format]. A version is a sequence of
    unsigned integers separated by a dot; for axample "1.2.3" is a legal
    version. Must have at least one component. Examples:
    - 3
    - 3.10
    - 3.10.4
    - 3.10.4.0.0
    - 3.10.4.0.1
    - 0
    - 0.2
    *)

@GabrielBuica GabrielBuica force-pushed the private/dbuica/rpu-version-control branch from 1859431 to 9114ed1 Compare October 8, 2025 13:25
Gabriel Buica added 2 commits October 8, 2025 14:37
Turns out that the previous fixes on these were too strict. As the
checks for allowing migration and detecting RPU are a bit different now.

For migration we want to make sure we are migrating on the same or
higher versions for: platform, xapi, and xen versions.

For detecting RPU we want the pool to have the same versions for
platform and xapi build (only major and minor numbers).

Signed-off-by: Gabriel Buica <[email protected]>
Currently, when a new host is created on the coordinator, it has only a
minimal record added for it in the database. And this record only adds
the platform version. While the rest is populated when `db_sync` is
called.

With the new checks for detecting RPU, this results in a 30s interval
when the coordinator thinks an RPU is in progress when a new host is
added to a pool.

Because we already check for for xapi build version, major and minor
numbers, in the pre-join checks, it is safe to add this in the minimal
record created for a new host (before db_sync gets called).

Signed-off-by: Gabriel Buica <[email protected]>
@GabrielBuica GabrielBuica force-pushed the private/dbuica/rpu-version-control branch from 9114ed1 to d08b39a Compare October 8, 2025 13:37
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.

5 participants