Skip to content

Phonehome reports module updates available for testing-only candidates #8281

Open

Description

@edospadoni

Steps to reproduce

  • On a NethServer 8 cluster whose repositories have the testing flag off, install a module whose repository publishes a prerelease tag newer than the installed stable version. Example: NethVoice 1.7.14 (latest stable) while 1.8.0-testing.N is available.
  • Run runagent print-phonehome as root on the leader node, or wait for the inventory to be sent, and open the application on my.nethesis.it.

Expected behavior

facts.modules[].update_available is false: no stable update exists and the Software Center offers none. The flag is true only for the instances that have a stable update, or a testing update when the repository testing flag is on.

Actual behavior

The flag is true for every instance of the application, so my.nethesis.it shows an "update available" warning on applications that are already on the latest stable. Seen on all 1281 NethVoice 1.7.14 instances reporting to the portal since 1.8.0-testing.1 was published a few hours after 1.7.14 (2026-10-21).

Two causes in print-phonehome:

  • decorate_with_updates() calls list_updates() with with_testing_update=True, and the script turns any entry of the resulting updates list into update_available, including the ones that only carry a testing_update candidate.
  • The flag is application-wide: it is computed from the whole updates list of the repository application, so one outdated instance flags every other instance of the same application in the cluster.

The core update flag (facts.nodes[].update_available) is not affected: list_core_modules() calls list_updates() without testing candidates.

Components

NethServer 8 core 3.24.0 and earlier (the code dates back to the list-modules refactor of December 2024).

See also

Activity

  1. self-assigned this
    on Oct 27, 2026
  2. added theissue type on Oct 27, 2026
  3. gsanchietti commented on Oct 28, 2026

    @gsanchietti
    Member

    Testing versions: ns8-core:3.24.1-dev.4, nethvoice:1.7.14, nethvoice:1.8.0-testing.55

    Clean install of core:

    curl https://raw.githubusercontent.com/NethServer/ns8-core/main/core/install.sh > install.sh
    bash install.sh ghcr.io/nethserver/core:latest ghcr.io/nethserver/core:3.24.1-dev.4
    

    Install NethVoice (latest stable):

    add-module ghcr.io/nethesis/nethvoice:1.7.14 1
    

    Update an existing core (docs):

    update-core ghcr.io/nethserver/core:3.24.1-dev.4
    

    Update NethVoice (docs):

    update-module ghcr.io/nethesis/nethvoice:1.8.0-testing.55 nethvoice1
    

    Show the update flag that is sent to my.nethesis.it (run as root on the leader node):

    runagent print-phonehome | jq '.facts.modules[] | {id, version, update_available}'
    runagent print-phonehome | jq '.facts.nodes'
    

    Test case 1: clean install, testing updates off

    1. Install core 3.24.1-dev.4. Leave "testing" off for all repositories in Software Center > Settings.
    2. Install NethVoice 1.7.14.
    3. Open Software Center: NethVoice shows no update available.
    4. Run the report command: NethVoice shows update_available: false.

    Test case 2: update from 3.24.0

    1. On a cluster with core 3.24.0 and NethVoice 1.7.14, testing off, run the report command: NethVoice shows update_available: true (the bug).
    2. Update core to 3.24.1-dev.4.
    3. Run the report command again: NethVoice now shows update_available: false.
    4. Check the nodes section of the report: update_available of each node is the same as before the update.

    Test case 3: testing updates on

    1. With NethVoice 1.7.14 installed, turn on "testing" for the repository that provides NethVoice.
    2. Open Software Center: NethVoice offers the update to 1.8.0-testing.55.
    3. Run the report command: NethVoice shows update_available: true.
    4. Turn "testing" off again: the report shows update_available: false.

    Test case 4: two instances, only one is outdated

    1. Testing off. Install NethVoice 1.7.14 and a second NethVoice instance with 1.7.13.
    2. Open Software Center: only the 1.7.13 instance has an update.
    3. Run the report command: the 1.7.13 instance shows update_available: true, the 1.7.14 instance shows update_available: false.

    Test case 5: instance already on the latest testing release

    1. Testing off. Update a NethVoice instance to 1.8.0-testing.55.
    2. Run the report command: that instance shows update_available: false.
  4. added
    testingPackages are available from testing repositories
    on Oct 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    testingPackages are available from testing repositories

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions