Open DanoThom opened 2 weeks ago
Thank you for opening this issue, we will look into it.
Just chiming in to say I'm seeing the exact same issue - deployments failing due to a change in the behaviour of the output of the az appconfig feature list
command.
In reality we actually have more like ~40 feature flags. There is no clear defining characteristic for those which are failing vs those which are succeeding. There are a variety of created dates, last modified dates, key lengths, descriptions, states etc. and there is no clear correlation with which keys are failing vs those which are being returned.
v2.63.0:
[
{
"conditions": {
"client_filters": []
},
"description": "",
"key": ".appconfig.featureflag/ExampleName1",
"label": null,
"lastModified": "2024-08-27T11:25:21+00:00",
"locked": false,
"name": "ExampleName1",
"state": "on"
},
{
"conditions": {
"client_filters": []
},
"description": "",
"key": ".appconfig.featureflag/ExampleName2",
"label": null,
"lastModified": "2024-08-29T12:47:24+00:00",
"locked": false,
"name": "ExampleName2",
"state": "on"
}
]
v2.65.0:
Invalid value. Unable to decode the following JSON value:
key:.appconfig.featureflag/ExampleName1 value:{"id": "ExampleName1", "enabled": true, "conditions": {"client_filters": null}, "display_name": null, "description": null}
Full exception:
'NoneType' object is not iterable
Found 1 invalid feature flags. These feature flags will be skipped.
[
{
"conditions": {
"client_filters": []
},
"description": "",
"key": ".appconfig.featureflag/ExampleName2",
"label": null,
"lastModified": "2024-08-29T12:47:24+00:00",
"locked": false,
"name": "ExampleName2",
"state": "on"
}
]
We have encounter the same issue after the upgrade and suspect that it is related to the value in the conditions field. If there is no value or if the value looks like this:
{
"conditions": {
"client_filters": null
}
}
we encounter an error. We were able to resolve the issue by using the portal and making an advanced edit to the feature flags, adding or modifying the conditions field as follows
{
"id": "flagName",
"description": "desc",
"enabled": false,
"conditions": null
}
OR
{
"id": "flagName",
"description": "desc",
"enabled": false,
"conditions": {
"client_filters": []
}
}
Describe the bug
The Az CLI App Configuration command
az appconfig feature list
to list out feature flags broke after upgrading from version 2.64.0 to 2.65.0. Worked previously for many months locally and in the Azure DevOps pipelines. After the upgrade in the pipelines and locally we noticed the following JSON decode error in the output:I replicated this locally and in Azure Pipeline build agents.
Downgrading back to version 2.64.0 works successfully.
Related command
az appconfig feature list
Errors
WARNING: Invalid value. Unable to decode the following JSON value: key:.appconfig.featureflag/xxx-BandwidthPolicyNewProps value:{"id": "xxx-BandwidthPolicyNewProps", "description": "Shows UI elements that control maximumConcurrentUploads, maximumConcurrentDownloads, disableSubscriptionNotifications, maximumUploadSpeed and maximumDownloadSpeed in CDM in the bandwidth policy.", "enabled": false, "display_name": null, "conditions": {"client_filters": null}} Full exception: 'NoneType' object is not iterable
WARNING: Invalid value. Unable to decode the following JSON value: key:.appconfig.featureflag/xxx-CleanupPolicyPage value:{"id": "xxx-CleanupPolicyPage", "description": "Allows users to decide how configure the way in which the app manages and cleans cache data.", "enabled": true, "display_name": null, "conditions": {"client_filters": null}} Full exception: 'NoneType' object is not iterable
Issue script & Debug output
Expected behavior
Lists out feature flags from an App Configuration service without error.
Environment Summary
{ "azure-cli": "2.65.0", "azure-cli-core": "2.65.0", "azure-cli-telemetry": "1.1.0", "extensions": { "azure-devops": "1.0.1", "image-copy-extension": "0.2.13", "maintenance": "1.7.0b1", "storage-preview": "1.0.0b4" } }
Additional context
No response