Skip to content

Use lighter-weight database calls for retrieving teams when we're able #35357

@sharon-fdm

Description

@sharon-fdm

Goal

User story
As a use of Fleet,
I want Fleet to only pull as much information as needed when hydrating a team from the database
so that I can use Fleet at scale without prematurely running into load issues like #35333.

Changes

Engineering

  • Test plan is finalized
  • Contributor API changes: No changes
  • Rename Team and TeamWithoutExtras datastore methods to TeamWithExtras and Team, respectively
  • Audit usages of TeamWithExtras and switch any to Team that don't need the additional information TeamWithExtras provides

ℹ️  Please read this issue carefully and understand it. Pay special attention to UI wireframes, especially "dev notes".

QA

Risk assessment

  • Risk level: Low

Test plan

Smoke test all cases where we switched to the lighter-weight database method (the method rename doesn't need to be tested as that'll be an automated refactor). All of the above should be tested on a team other than No Team.

Theoretically static analysis should mean that there are no issues in any of these cases but this is what changed.

  • Calendar processing
  • Adding a Fleet-maintained app
  • Get bootstrap package info
  • Update ABM token-default team association for macOS, iOS, and iPadOS
  • Manual device release from setup experience
  • Manual agent install from setup experience conflicting with setup experience software and/or script
  • Upload software installer and VPP app (for activity)
  • Upload software installer when VPP app already exists for team (for error message)
  • Batch set software installers when VPP apps already exist for the same title for team (for error message)
  • Batch set VPP apps when software installers already exist for the same title for team (for error message)
  • Update software installer and VPP app (for activity)
  • Delete software installer and VPP app (for activity)
  • List team users
  • Delete team (for activity)
  • End User Authentication on Android enroll
  • End User Authentication on Orbit enroll
  • Host scheduled query/pack stats (requires at least one executed scheduled query)
  • Failing policy integration automation
  • List MDM config profiles endpoint
  • Reset policy automation endpoint (both team and no-team, including at least one automation of webhook/zendesk/jira)
  • Transfer host between teams (for activity)
  • Aggregate MacAdmins data (e.g. Munki)
  • Fix for Setup Experience - new ADE workflow will break enrollment for customers on older versions of Fleetd #23366 against fleetd 1.34
  • Host status (not seen in X days) webhook
  • Calendar policy result processing on check-in
  • /spec/queries endpoint
  • Setup experience "is all software required" check
  • List, count, delete team policies

Testing notes

Confirmation

  1. Engineer: Added comment to user story confirming successful completion of test plan.
  2. QA: Added comment to user story confirming successful completion of test plan.

Metadata

Metadata

Assignees

Labels

#g-orchestrationOrchestration product groupP2Urgent: Supported workflow not functioning as intended, newly drafted feature with urgent Fleet needstoryA user story defining an entire feature~engineering-initiatedEngineering-initiated story, such as a bug, refactor, or contributor experience improvement.~postmortem-action-itemIssue is an action item resulting from an incident postmortem.

Type

No type

Projects

Status

✔️Awaiting QA

Status

No status

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions