Skip to content

Hosts: with "All fleets", OS settings filters silently show only "No fleet" hosts #54131

Description

@AndreyKizimenko

Fleet versions

  • Discovered: rc-minor-fleet-v4.93.0 (1f30f3a)
  • Reproduced: rc-patch-fleet-v4.92.1 (b63c9dc)

Web browser and operating system: Chrome on macOS


💥 Actual behavior

Image

On Hosts, with All fleets selected, the OS settings, disk encryption and bootstrap package status filters only return hosts that have no fleet. The page still says "All fleets", so matching hosts in fleets silently disappear: Smoke tests has 1 host with pending OS settings, All fleets shows 0.

🛠️ Expected behavior

The page doesn't present "No fleet" results as "All fleets". When the user switches to "All fleets", strip the fleet-scoped filters (os_settings/apple_settings, macos_settings, disk encryption, bootstrap package status) from the URL, the same way software_status is handled today. Keep everything else (query, sort, labels, etc.).

Note: this may affect the work in #52014

🧑‍💻 Steps to reproduce

These steps:

  • Have been confirmed to consistently lead to reproduction in multiple Fleet instances.
  • Describe the workflow that led to the error, but have not yet been reproduced in multiple Fleet instances.
  1. Have a fleet with a host in an OS settings status (e.g. a pending or failed configuration profile) and no host in that status in "No fleet".
  2. Controls > OS settings, select that fleet, click the status card (e.g. Pending). The host list shows the host.
  3. Switch the fleet dropdown to All fleets. 0 hosts.

Same with Controls > OS settings > Disk encryption > View all hosts, and with the bootstrap package status filter.

🕯️ More info (optional)

  • With no fleet in the request, the backend appends h.team_id IS NULL to these filters ("not compatible with the all teams option"): server/datastore/mysql/hosts.go — apple_settings/macos_settings :1860, macos_settings_disk_encryption :1898, os_settings :1931, os_settings_disk_encryption :2049, macos_bootstrap_package :2152. Present since Update team id query parameter to filter hosts by "no team" assignment #10444.
  • For os_settings/apple_settings the frontend sends fleet_id=0 under All fleets (reconcileMutuallyInclusiveHostParams, frontend/utilities/url/index.ts:177); for disk encryption and bootstrap package it sends no fleet. Either way the result is "No fleet".
  • Precedent: software_status is already dropped when All fleets is selected (ManageHostsPage.tsx:1244).
  • Update frontend filtering to allow filtering by platform + disk encryption status #52014 (4.93) makes the disk encryption filter available on platform/label views too.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

#g-apple-at-workProduct group focused on Apple devicesbugSomething isn't working as documented~released bugThis bug was found in a stable release.

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions