Skip to content

UNH: Enrollment update logic changes #40165

@JordanMontgomery

Description

@JordanMontgomery

Related user story

#39713

Task

Current state

macOS, iOS and iPAdOS update configuration settings allow setting versions which are not valid(not offered/listed by gdmf) and which devices cannot update to.

Update new hosts to latest checkbox updates all hosts to the latest version of the OS they support(as offered by gdmf), even if they are already on a version higher than the minimum version set in the update policy

Desired state

Modify the existing macOS, iOS and iPadOS Update configuration to only allow setting versions which are currently valid and offered by Apple for the given platform.

Modify the logic used in needsOSUpdateForDEPEnrollment to apply the following logic:

  1. Use existing logic to compare minimum version set in config to current version for non-macOS devices. No changes. UpdateNewHosts flag does not affect iOS and iPadOS enrollment
  2. If "UpdateNewHosts" is false and the host is macOS, do not update it. If it needs to be updated it will be handled post-enrollment
  3. If "UpdateNewHosts" is set and the host is macOS
    1. If a minimum version is set, update the host if a version higher than its current version is offered by GDMF and its current version is below the minimum set version
    2. If a minimum version is not set, update the host if a version higher than its current version is offered by GDMF
  • Note for all above cases: If no version is offered by gdmf for the host or the maximum version offered by gdmf is the same as the version the host is on, even if it is below the minimum version set by the customer, do not update the host

Condition of satisfaction

Updated enrollment logic implemented such that hosts are properly updated based on the version the host is at, the latest version available, the host's platform(and model, since older models like iPod touch have less versions available), and the Update New Hosts flag and minimum version set by the admin

Error messages added or updated to reflect requirements for invalid versions or invalid deadlines. Error messages are reflected whether the version is set via Gitops, API or UI

Metadata

Metadata

Assignees

Labels

#g-mdmMDM product group:releaseReady to write code. Scheduled in a release. See "Making changes" in handbook.~sub-taskA technical sub-task that is part of a story. (Not QA'd. Not estimated.)

Type

No type

Projects

Status

Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions