Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

az appconfig feature list broken 2.64.0 -> 2.65.0 #30106

Open
DanoThom opened this issue Oct 16, 2024 · 3 comments
Open

az appconfig feature list broken 2.64.0 -> 2.65.0 #30106

DanoThom opened this issue Oct 16, 2024 · 3 comments
Labels
App Configuration Auto-Assign Auto assign by bot bug This issue requires a change to an existing behavior in the product in order to be resolved. customer-reported Issues that are reported by GitHub users external to the Azure organization. Service Attention This issue is responsible by Azure service team.

Comments

@DanoThom
Copy link

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:

WARNING: Invalid value. Unable to decode the following JSON value

Image

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

Image

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

@DanoThom DanoThom added the bug This issue requires a change to an existing behavior in the product in order to be resolved. label Oct 16, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added customer-reported Issues that are reported by GitHub users external to the Azure organization. Auto-Assign Auto assign by bot labels Oct 16, 2024
@yonzhan
Copy link
Collaborator

yonzhan commented Oct 16, 2024

Thank you for opening this issue, we will look into it.

@microsoft-github-policy-service microsoft-github-policy-service bot added App Configuration Service Attention This issue is responsible by Azure service team. labels Oct 16, 2024
@sjchapmanuk
Copy link

sjchapmanuk commented Oct 21, 2024

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"
  }
]

@gonzmed
Copy link

gonzmed commented Oct 23, 2024

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": []
    }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
App Configuration Auto-Assign Auto assign by bot bug This issue requires a change to an existing behavior in the product in order to be resolved. customer-reported Issues that are reported by GitHub users external to the Azure organization. Service Attention This issue is responsible by Azure service team.
Projects
None yet
Development

No branches or pull requests

4 participants