Skip to content

Cancel pending installs/uninstalls when editing and deleting App Store (VPP) apps #25912

@noahtalerman

Description

@noahtalerman

Goal

User story
As an IT admin, editing or deleting an App Store app
I want Fleet to cancel all pending installs and uninstalls and revoke licenses
so that I can be sure the app won't be installed or uninstalled on hosts outside of my new scope or deleted.

Key result

Auto-update (patch) any software without writing custom policies

Original requests

Context

Changes

Product

  • UI changes: Figma here
  • CLI (fleetctl) usage changes: No changes.
  • YAML changes: No changes.
  • REST API changes: No changes.
  • Fleet's agent (fleetd) changes: No changes.
  • Activity changes: No changes.
  • Permissions changes: No changes.
  • Changes to paid features or tiers: Fleet Premium
  • Transparency changes: No changes.
  • First draft of test plan added
  • Other reference documentation changes: No changes.
  • Once shipped, requester has been notified
  • Once shipped, dogfooding issue has been filed

Engineering

  • Test plan is finalized
  • Feature guide changes: TODO
  • Database schema migrations: TODO
  • Load testing: TODO

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

QA

Risk assessment

  • Requires load testing: TODO
  • Risk level: Low / High TODO
  • Risk description: TODO

Test plan

Manual install

  • Add an App Store app, trigger an installation and uninstallation on several hosts, head to the Software title page, and verify that the "Pending" count is accurate.
  • Select Actions > Edit and change the software's targets. Select Save.
    • Verify that pending installs and uninstalls are canceled for hosts that are outside of the new target.
    • Verify that the "Pending" count is set to 0 to reflect that pending installs and uninstalls were canceled.
    • Verify that the the activities in Host details > Activity > Pending for hosts outside of the new target are removed, and that the software is never installed.

Automatic install (via policy)

  • Add an App Store app with automatic install enabled. Head to the Software title page, and verify that the "Pending" count is accurate.
    • Select Actions > Edit and change the software's targets. Select Save. Verify that all
    • Verify that the "Pending" count is first set to 0 and then updated to reflect that pending installs and uninstalls were canceled and then re-triggered for the hosts part of the new target.
    • Verify that the the activities in Host details > Activity > Pending for hosts outside of the new target are removed, and that the software is never installed.

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

No one assigned

    Type

    No type

    Projects

    Status

    No status

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions