-
Notifications
You must be signed in to change notification settings - Fork 1k
Configuration profiles: Custom targets with "Include any" and "Exclude any" #32073
Copy link
Copy link
Closed
6 / 66 of 6 issues completed
Copy link
Labels
#g-apple-at-workProduct group focused on Apple devicesProduct group focused on Apple devices:help-customersCustomer success issue.Customer success issue.customer-antonellacustomer-figalicustomer-panoramixcustomer-redqueencustomer-sondycustomer-starchikprospect-luciastoryA user story defining an entire featureA user story defining an entire feature~contextFeature that customers consider mission critical for their particular buying situation.Feature that customers consider mission critical for their particular buying situation.
Milestone
Description
Activity
Metadata
Metadata
Assignees
Labels
#g-apple-at-workProduct group focused on Apple devicesProduct group focused on Apple devices:help-customersCustomer success issue.Customer success issue.customer-antonellacustomer-figalicustomer-panoramixcustomer-redqueencustomer-sondycustomer-starchikprospect-luciastoryA user story defining an entire featureA user story defining an entire feature~contextFeature that customers consider mission critical for their particular buying situation.Feature that customers consider mission critical for their particular buying situation.
Type
Projects
- StatusShow more project fieldsDone
- StatusShow more project fieldsDone
Goal
Changes
Product
labels_include_allandlabels_include_any:For each profile, only one of "labels_exclude_any", "labels_include_all", "labels_include_any" or "labels" can be included.) update to:Couldn't edit configuration profiles. For each profile, only one of "labels_include_all" or "labels_include_any" can be included.Couldn't delete. A configuration profile targets this label. Please delete the profile and try again.fleetctl applyandfleetctl generate-gitopswill need to handle new functionality of combined labels.Engineering
Test plan
Note that in all test cases below "all 6 cases" means:
"All 4 profile types" means:
"All 3 label types" means:
Finally: When testing any exclude-any rules with dynamic labels, note that the rule can't apply until the host has run queries and its labels have been recalculated AFTER the creation of the exclued any label, meaning if for instance:
A profile with that label on it shouldn't get installed on macs running a build lower than tahoe until after the next refetch. So if 1 happened, then 2-3 happened one minute later, 4 shouldn't happen until a bit less than 1 hour later
Core flow
Include any + exclude any via API
include_anyandexclude_anyand verify profile is created successfully and both fields returned in response. Verify include-any list labels can't be included on the exclude listInclude all + exclude any via API
include_allandexclude_anyand verify profile is created successfully and both fields returned in response. Verify labels are shown properly. Verify include-all list labels can't be included on the exclude listProfiles batch endpoint:
Profile targeting UI
Run all tests for all 4 profile types
include_alland verify profile is created successfully and displayed properly.include_anyand verify profile is created successfully and displayed properly.exclude_anyand verify profile is created successfully and displayed properly.Profile targeting backend
Confirm that any time exclude-any rules are used, the existing exclusion logic is used such that the host must check in and have its labels calculated AFTER(see note above)
No labels UI
Delete label
Fleet Premium & Fleet Free
Platform testing(Covered above, listed here as a checklist)
Label types(Covered above, listed here as a checklist)
UI
labels_include_allandlabels_include_any:Couldn't edit configuration profiles. For each profile, only one of "labels_include_all" or "labels_include_any" can be included.Couldn't delete. A configuration profile targets this label. Please delete the profile and try again.GitOps (generate + run)
fleetctl applywith labels_include_any + labels_exclude_any on a profile. Verify success.fleetctl generate-gitopsfor a fleet with a combined-label profile. Verify output includes both keys.Supplemental testing
Testing notes
Confirmation