text:
Public Preview of Variants, Telemetry in the .NET Feature Management Library, and Split Experimentation Integration in App Configuration

Azure App Configuration has introduced advanced capabilities in Feature Management and Experimentation for .NET applications. The .NET feature management library has added two new features in the form of variant feature flags and feature flag telemetry. These features, along with Azure App Configuration's integration of Split Experimentation, are designed to provide you with greater control, insights, and optimization opportunities for your application's feature releases.
Variant Feature Flags in the .NET Feature Management Library
The introduction of variant feature flags in the .NET feature management library enables more sophisticated and flexible feature rollouts. With variant feature flags, you can:

Tailor User Experiences: Define multiple variants of a feature to customize experiences for different user segments.
Manage Controlled Rollouts: Gradually release variants of a feature to minimize risk and ensure a smooth transition for users.
Enable A/B/n Testing: Deploy different variants of a feature to specific user groups for more precise A/B/n testing.

Explore more about Variants in the Feature Management Library here
Enhanced Telemetry for Deeper Insights
Telemetry in the .NET feature management library now offers robust tracking and analytics for your feature flags. This enhancement allows you to:

Monitor Feature Usage: Gain real-time insights into feature usage patterns.
Analyze Performance Impact: Evaluate how feature releases impact your application's performance.
Make Data-Driven Decisions: Utilize detailed telemetry data to inform your future feature management strategies.

Learn more about the enhanced Telemetry capabilities here.
Experimentation Powered by Integration with Split Experimentation
Our integration with Split Experimentation brings experimentation capabilities directly into Azure App Configuration.
With this integration, you can:

Easily Run Experiments: Set up and manage experiments to test new features and configurations effortlessly.
Detect and triage issues in Feature rollouts: Use Split’s advanced analytics to measure the impact of feature changes on key metrics to act as guardrails for your new feature rollouts.
Continuously Optimize Features: Leverage experimentation results to continuously optimize your features, ensuring the best possible user experience.

Learn how to set up an experiment in App Configuration or simply run an azd up for this repo and run an experiment for the sample "QuoteofTheDay" app.
Currently, all these features are available in .NET, and we will soon be releasing the same capabilities in libraries for other programming languages as well.
More resources

Learn more about Experimentation as a concept.
azd up repo to run an experiment for the sample "QuoteofTheDay" app.
blogpost for Split Experimentation.
Learn more about Split Experimentation on Azure

We look forward to seeing the innovative ways you will use these new capabilities. Do share your feedback for the above features or App Configuration.

[celebrate]     Zhiyuan Liang reacted to your message:

From: Mukta Batra @.>
Sent: Wednesday, June 19, 2024 7:57:56 PM
To: Azure/AppConfiguration-Announcements @.>
Cc: Subscribed @.***>
Subject: [Azure/AppConfiguration-Announcements] Public Preview of Variants, Telemetry in the .NET Feature Management Library, and Split Experimentation Integration in App Configuration (Issue #39)
Azure App Configuration has introduced advanced capabilities in Feature Management and Experimentation for .NET applications. The .NET feature management library has added two new features in the form of variant feature flags and feature flag telemetry. These features, along with Azure App Configuration's integration of Split Experimentation, are designed to provide you with greater control, insights, and optimization opportunities for your application's feature releases.
Variant Feature Flags in the .NET Feature Management Library
The introduction of variant feature flags in the .NET feature management library enables more sophisticated and flexible feature rollouts. With variant feature flags, you can:

Tailor User Experiences: Define multiple variants of a feature to customize experiences for different user segments.
Manage Controlled Rollouts: Gradually release variants of a feature to minimize risk and ensure a smooth transition for users.
Enable A/B/n Testing: Deploy different variants of a feature to specific user groups for more precise A/B/n testing.

Explore more about Variants in the Feature Management Library herehttps://learn.microsoft.com/azure/azure-app-configuration/feature-management-dotnet-reference?pivots=preview-version#variants.
Enhanced Telemetry for Deeper Insights
Telemetry in the .NET feature management library now offers robust tracking and analytics for your feature flags. This enhancement allows you to:

Monitor Feature Usage: Gain real-time insights into feature usage patterns.
Analyze Performance Impact: Evaluate how feature releases impact your application's performance.
Make Data-Driven Decisions: Utilize detailed telemetry data to inform your future feature management strategies.

Learn more about the enhanced Telemetry capabilities herehttps://learn.microsoft.com/azure/azure-app-configuration/feature-management-dotnet-reference?pivots=preview-version#telemetry.
Experimentation Powered by Integration with Split Experimentation
Our integration with Split Experimentation brings experimentation capabilities directly into Azure App Configuration.
With this integration, you can:

Easily Run Experiments: Set up and manage experiments to test new features and configurations effortlessly.
Detect and triage issues in Feature rollouts: Use Split’s advanced analytics to measure the impact of feature changes on key metrics to act as guardrails for your new feature rollouts.
Continuously Optimize Features: Leverage experimentation results to continuously optimize your features, ensuring the best possible user experience.

Learn how to set up an experiment in App Configurationhttps://learn.microsoft.com/azure/azure-app-configuration/run-experiments-aspnet-core or simply run an azd uphttps://github.com/Azure-Samples/quote-of-the-day-dotnet/tree/main for this repo and run an experiment for the sample "QuoteofTheDay" app.
Currently, all these features are available in .NET, and we will soon be releasing the same capabilities in libraries for other programming languages as well.
More resources

Learn morehttps://learn.microsoft.com/azure/azure-app-configuration/concept-experimentation about Experimentation as a concept.
azd uphttps://github.com/Azure-Samples/quote-of-the-day-dotnet/tree/main repo to run an experiment for the sample "QuoteofTheDay" app.
blogposthttps://aka.ms/appconfig/exppreview for Split Experimentation.
Learn morehttps://learn.microsoft.com/azure/partner-solutions/split-experimentation/ about Split Experimentation on Azure

We look forward to seeing the innovative ways you will use these new capabilities. Do share your feedbackhttps://github.com/Azure/AppConfiguration/issues/new for the above features or App Configuration.
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/AppConfiguration-Announcements/issues/39 or unsubscribehttps://github.com/notifications/unsubscribe-auth/BBYX6IQVCGWWPCO35SPVYA3ZIHPELBFKMF2HI4TJMJ2XIZLTSOBKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJLJONZXKZNENZQW2ZNLORUHEZLBMRPXI6LQMWBKK5TBNR2WLJDUOJ2WLJDOMFWWLLTXMF2GG2C7MFRXI2LWNF2HTLDTOVRGUZLDORPXI6LQMWSUS43TOVS2M5DPOBUWG44SQKSHI6LQMWVHEZLQN5ZWS5DPOJ42K5TBNR2WLKJSGA3TOOJQGAZTHAVEOR4XAZNFNFZXG5LFUV3GC3DVMWVDEMZWGMYDINJSGM42O5DSNFTWOZLSUZRXEZLBORSQ.
You are receiving this email because you are subscribed to this thread.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

authors: Muksvso zhiyuanliang-ms

repo: Azure/AppConfiguration-Announcements


text:
Add PSScriptAnalyzer Tests

Add PSScriptAnalyzer Tests
This PR fixes #47 by adding PSScriptAnalyzer to the list of tests being completed.
This PR also updates existing Pester tests to support version 5.0.2. To avoid issues with future breaking changes, this includes updating existing test scripts to use Tags to control which tests are run, and implementing the new -CI flag to generate test data files for upload to Azure Pipelines.
As tags don't control test order, tests for PSScriptAnalyzer, Manifest and Cmdlets have been combined in a single test file. These can be run individually with Tags, or all together with a single "module" tag.
Original test files have been retained (with .ignore file extension) and can be removed on a future PR if no longer needed.

/azp run

source: gharchive/pull-request

repo: Azure/AzOps

license: MIT

license_type: permissive

license_source: github-api


text:
Citrix Analytics for Security template spec solution

Required items, please complete
Change(s):

See guidance below

Reason for Change(s):

See guidance below

Version Updated:

Required only for Detections/Analytic Rule templates
See guidance below

Testing Completed:

See guidance below

Checked that the validations are passing and have addressed any issues that are present:

See guidance below

Guidance <- remove section before submitting

Before submitting this PR please ensure that you have read the following sections and filled out the changes, reason for change and testing complete sections:
Thank you for your contribution to the Microsoft Sentinel Github repo.

Details of the code changes in your submitted PR.  Providing descriptions for pull requests ensures there is context to changes being made and greatly enhances the code review process.  Providing associated Issues that this resolves also easily connects the reason.

Change(s):

Updated syntax for XYZ.yaml

Reason for Change(s):

New schema used for XYZ.yaml
Resolves ISSUE #1234

Version updated:

Yes
Detections/Analytic Rule templates are required to have the version updated

The code should have been tested in a Microsoft Sentinel environment that does not have any custom parsers, functions or tables, so that you validate no incorrect syntax and execution functions properly.  If your submission requires a custom parser or function, it must be submitted with the PR.

Testing Completed:

Yes/No/Need Help

Note: If updating a detection, you must update the version field.

Before the submission has been made, please look at running the KQL and Yaml Validation Checks locally.
https://github.com/Azure/Azure-Sentinel#run-kql-validation-locally

Checked that the validations are passing and have addressed any issues that are present:

Yes/No/Need Help

Note: Let us know if you have tried fixing the validation error and need help.

References:

Guidance for Detection checks
General contribution guidance
PR validation troubleshooting

Hi @v-dvedak, please include additional domain category as well. both in Solution metadata and mainTemplate

Additional domain category details are added.

repo: Azure/Azure-Sentinel


text:
Not being able to launch Azurite from DockerHub.

Which service(blob, file, queue, table) does this issue concern?
All.
Which version of the Azurite was used?
Latest. Using the commands: docker pull mcr.microsoft.com/azure-storage/azurite & docker run -p 10000:10000 -p 10001:10001 -p 10002:10002 mcr.microsoft.com/azure-storage/azurite
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
DockerHub.
What's the Node.js version?
v20.10.0 (by running node -v in the exec tab of the container).
What problem was encountered?
Azurite Blob service is successfully listening at http://0.0.0.0:10000
<Error>
    InvalidQueryParameterValue
    <Message>Value for one of the query parameters specified in the request URI is invalid. RequestId:6cc67582-7a47-4b9b-bf2f-a6bdf4d0431b Time:2024-07-16T11:27:39.184Z</Message>
</Error>

Azurite Queue service is successfully listening at http://0.0.0.0:10001
HTTP ERROR 400
Azurite Table service is successfully listening at http://0.0.0.0:10002:
HTTP ERROR 400
Steps to reproduce the issue?
Follow the steps from: https://hub.docker.com/r/microsoft/azure-storage-azurite.
Azurite Blob service is starting at http://0.0.0.0:10000
Azurite Blob service is successfully listening at http://0.0.0.0:10000
Azurite Queue service is starting at http://0.0.0.0:10001
Azurite Queue service is successfully listening at http://0.0.0.0:10001
Azurite Table service is starting at http://0.0.0.0:10002
Azurite Table service is successfully listening at http://0.0.0.0:10002
172.17.0.1 - - [16/Jul/2024:11:42:48 +0000] "GET / HTTP/1.1" 400 -
172.17.0.1 - - [16/Jul/2024:11:42:48 +0000] "GET /favicon.ico HTTP/1.1" 400 -
172.17.0.1 - - [16/Jul/2024:11:42:55 +0000] "GET / HTTP/1.1" 400 -
172.17.0.1 - - [16/Jul/2024:11:42:59 +0000] "GET / HTTP/1.1" 400 -

Have you found a mitigation/solution?
No.

@electronic-heartbreak
Would you please share the Azurite debug log for the failed request (which returns 400), then we can continue the investigation of the failure.

@blueww
Thank you for your reply. This is the debug.log I found in my local Azurite folder:
2024-07-16T11:12:35.038Z 	 info: Azurite Blob service is starting on 0.0.0.0:7777
2024-07-16T11:12:35.040Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:12:35.040Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:12:35.077Z 	 info: BlobGCManager:start() Starting BlobGCManager. Set status to Initializing.
2024-07-16T11:12:35.077Z 	 info: BlobGCManager:start() Trigger mark and sweep loop. Set status to Running.
2024-07-16T11:12:35.077Z 	 info: BlobGCManager:markSweepLoop() Start next mark and sweep.
2024-07-16T11:12:35.077Z 	 info: BlobGCManager:markSweep() Get all extents.
2024-07-16T11:12:35.078Z 	 info: BlobGCManager:start() BlobGCManager successfully started.
2024-07-16T11:12:35.081Z 	 info: BlobGCManager:markSweep() Got 0 extents.
2024-07-16T11:12:35.081Z 	 info: BlobGCManager:markSweep() Get referred extents.
2024-07-16T11:12:35.081Z 	 info: BlobGCManager:markSweep() Got referred extents, unreferenced extents count is 0.
2024-07-16T11:12:35.082Z 	 info: BlobGCManager:markSweepLoop() Mark and sweep finished, taken 5ms.
2024-07-16T11:12:35.082Z 	 info: BlobGCManager:markSweepLoop() Sleep for 600000ms.
2024-07-16T11:12:35.083Z 	 info: Azurite Blob service successfully listens on http://0.0.0.0:7777
2024-07-16T11:12:35.083Z 	 info: Azurite Queue service is starting on 0.0.0.0:8888
2024-07-16T11:12:35.084Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:12:35.084Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:12:35.099Z 	 info: QueueGCManager:start() Starting QueueGCManager, set status to Initializing
2024-07-16T11:12:35.099Z 	 info: QueueGCManager:start() Trigger mark and sweep loop, set status to Running.
2024-07-16T11:12:35.099Z 	 info: QueueGCManager:markSweepLoop() Start new mark and sweep.
2024-07-16T11:12:35.100Z 	 info: QueueGCManger:markSweep() Get all extents.
2024-07-16T11:12:35.100Z 	 info: QueueGCManager:start() QueueGCManager successfully started.
2024-07-16T11:12:35.100Z 	 info: QueueGCManager:marksweep() Get 0 extents.
2024-07-16T11:12:35.100Z 	 info: QueueGCManager:markSweep() Get referred extents, then remove from allExtents.
2024-07-16T11:12:35.100Z 	 info: QueueGCManager:markSweep() Got referred extents, unreferenced extents count is 0.
2024-07-16T11:12:35.100Z 	 info: QueueGCManager:markSweepLoop() Mark and sweep finished, take 1ms.
2024-07-16T11:12:35.100Z 	 info: QueueGCManager:markSweepLoop() Sleep for 60000
2024-07-16T11:12:35.101Z 	 info: Azurite Queue service successfully listens on http://0.0.0.0:8888
2024-07-16T11:12:35.101Z 	 info: Azurite Table service is starting on 0.0.0.0:9999
2024-07-16T11:12:35.101Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:12:35.101Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:12:35.107Z 	 info: Azurite Table service successfully listens on http://0.0.0.0:9999
2024-07-16T11:12:54.768Z 32994a3b-5522-41ad-b994-589529a80de5 info: BlobStorageContextMiddleware: RequestMethod=GET RequestURL=http://localhost/ RequestHeaders:{"host":"localhost:7777","connection":"keep-alive","sec-ch-ua":"\"Not/A)Brand\";v=\"8\", \"Chromium\";v=\"126\", \"Brave\";v=\"126\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"Windows\"","upgrade-insecure-requests":"1","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8","sec-gpc":"1","sec-fetch-site":"none","sec-fetch-mode":"navigate","sec-fetch-user":"?1","sec-fetch-dest":"document","accept-encoding":"gzip, deflate, br, zstd","accept-language":"nl-NL,nl;q=0.9,en-US;q=0.8,en;q=0.7,fr;q=0.6,de;q=0.5","cookie":"_xsrf=2|cda7a733|fed746432ff843c4cd4dcbfb8edfaea0|1719941153; username-localhost-8889=\"2|1:0|10:1719941232|23:username-localhost-8889|44:ZDVjZGEzYmU1N2ZjNGNjOTk1NDI1MDUxMzk2MTBjYmQ=|bd4142edfd4a308ce7b96a4e5de61e455e703e694ea8f8391cf67ab0714e0511\"; username-localhost-8888=\"2|1:0|10:1719942834|23:username-localhost-8888|44:NDdlZWJhODc5NDUyNDZkYWI1ZmZlZDA4ZGQwYmE2ZDI=|baa58d56118aec2b6016c3019c5c01687fb0e28047426c980ad8b10bbb44c82a\""} ClientIP=172.17.0.1 Protocol=http HTTPVersion=1.1
2024-07-16T11:12:54.775Z 32994a3b-5522-41ad-b994-589529a80de5 error: BlobStorageContextMiddleware: BlobStorageContextMiddleware: Value for one of the query parameters specified in the request URI is invalid.
2024-07-16T11:12:54.776Z 32994a3b-5522-41ad-b994-589529a80de5 error: ErrorMiddleware: Received a MiddlewareError, fill error information to HTTP response
2024-07-16T11:12:54.776Z 32994a3b-5522-41ad-b994-589529a80de5 error: ErrorMiddleware: ErrorName=StorageError ErrorMessage=Value for one of the query parameters specified in the request URI is invalid.  ErrorHTTPStatusCode=400 ErrorHTTPStatusMessage=Value for one of the query parameters specified in the request URI is invalid. ErrorHTTPHeaders={"x-ms-error-code":"InvalidQueryParameterValue","x-ms-request-id":"32994a3b-5522-41ad-b994-589529a80de5"} ErrorHTTPBody="<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Error>\n  InvalidQueryParameterValue\n  <Message>Value for one of the query parameters specified in the request URI is invalid.\nRequestId:32994a3b-5522-41ad-b994-589529a80de5\nTime:2024-07-16T11:12:54.769Z</Message>\n</Error>" ErrorStack="StorageError: Value for one of the query parameters specified in the request URI is invalid.\n    at StorageErrorFactory.getInvalidQueryParameterValue (/opt/azurite/dist/src/blob/errors/StorageErrorFactory.js:45:16)\n    at blobStorageContextMiddleware (/opt/azurite/dist/src/blob/middlewares/blobStorageContext.middleware.js:127:60)\n    at /opt/azurite/dist/src/blob/middlewares/blobStorageContext.middleware.js:15:16\n    at Layer.handle [as handle_request] (/opt/azurite/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/opt/azurite/node_modules/express/lib/router/index.js:328:13)\n    at /opt/azurite/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/opt/azurite/node_modules/express/lib/router/index.js:346:12)\n    at next (/opt/azurite/node_modules/express/lib/router/index.js:280:10)\n    at logger (/opt/azurite/node_modules/morgan/index.js:144:5)\n    at Layer.handle [as handle_request] (/opt/azurite/node_modules/express/lib/router/layer.js:95:5)"
2024-07-16T11:12:54.776Z 32994a3b-5522-41ad-b994-589529a80de5 error: ErrorMiddleware: Set HTTP code: 400
2024-07-16T11:12:54.777Z 32994a3b-5522-41ad-b994-589529a80de5 error: ErrorMiddleware: Set HTTP status message: Value for one of the query parameters specified in the request URI is invalid.
2024-07-16T11:12:54.777Z 32994a3b-5522-41ad-b994-589529a80de5 error: ErrorMiddleware: Set HTTP Header: x-ms-error-code=InvalidQueryParameterValue
2024-07-16T11:12:54.777Z 32994a3b-5522-41ad-b994-589529a80de5 error: ErrorMiddleware: Set HTTP Header: x-ms-request-id=32994a3b-5522-41ad-b994-589529a80de5
2024-07-16T11:12:54.777Z 32994a3b-5522-41ad-b994-589529a80de5 error: ErrorMiddleware: Set content type: application/xml
2024-07-16T11:12:54.777Z 32994a3b-5522-41ad-b994-589529a80de5 error: ErrorMiddleware: Set HTTP body: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<Error>\n  InvalidQueryParameterValue\n  <Message>Value for one of the query parameters specified in the request URI is invalid.\nRequestId:32994a3b-5522-41ad-b994-589529a80de5\nTime:2024-07-16T11:12:54.769Z</Message>\n</Error>"
2024-07-16T11:12:54.780Z 32994a3b-5522-41ad-b994-589529a80de5 info: EndMiddleware: End response. TotalTimeInMS=13 StatusCode=400 StatusMessage=Value for one of the query parameters specified in the request URI is invalid. Headers={"server":"Azurite-Blob/3.31.0","x-ms-error-code":"InvalidQueryParameterValue","x-ms-request-id":"32994a3b-5522-41ad-b994-589529a80de5","content-type":"application/xml"}
2024-07-16T11:12:54.858Z abc297bb-58da-4c86-ba07-66cae9e76dbd info: BlobStorageContextMiddleware: RequestMethod=GET RequestURL=http://localhost/favicon.ico RequestHeaders:{"host":"localhost:7777","connection":"keep-alive","sec-ch-ua":"\"Not/A)Brand\";v=\"8\", \"Chromium\";v=\"126\", \"Brave\";v=\"126\"","sec-ch-ua-mobile":"?0","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36","sec-ch-ua-platform":"\"Windows\"","accept":"image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8","sec-gpc":"1","sec-fetch-site":"same-origin","sec-fetch-mode":"no-cors","sec-fetch-dest":"image","referer":"http://localhost:7777/","accept-encoding":"gzip, deflate, br, zstd","accept-language":"nl-NL,nl;q=0.9,en-US;q=0.8,en;q=0.7,fr;q=0.6,de;q=0.5","cookie":"_xsrf=2|cda7a733|fed746432ff843c4cd4dcbfb8edfaea0|1719941153; username-localhost-8889=\"2|1:0|10:1719941232|23:username-localhost-8889|44:ZDVjZGEzYmU1N2ZjNGNjOTk1NDI1MDUxMzk2MTBjYmQ=|bd4142edfd4a308ce7b96a4e5de61e455e703e694ea8f8391cf67ab0714e0511\"; username-localhost-8888=\"2|1:0|10:1719942834|23:username-localhost-8888|44:NDdlZWJhODc5NDUyNDZkYWI1ZmZlZDA4ZGQwYmE2ZDI=|baa58d56118aec2b6016c3019c5c01687fb0e28047426c980ad8b10bbb44c82a\""} ClientIP=172.17.0.1 Protocol=http HTTPVersion=1.1
2024-07-16T11:12:54.858Z abc297bb-58da-4c86-ba07-66cae9e76dbd info: BlobStorageContextMiddleware: Account=favicon.ico Container=undefined Blob=
2024-07-16T11:12:54.858Z abc297bb-58da-4c86-ba07-66cae9e76dbd verbose: DispatchMiddleware: Dispatching request...
2024-07-16T11:12:54.863Z abc297bb-58da-4c86-ba07-66cae9e76dbd error: DispatchMiddleware: Incoming URL doesn't match any of swagger defined request patterns.
2024-07-16T11:12:54.863Z abc297bb-58da-4c86-ba07-66cae9e76dbd error: ErrorMiddleware: Received a MiddlewareError, fill error information to HTTP response
2024-07-16T11:12:54.863Z abc297bb-58da-4c86-ba07-66cae9e76dbd error: ErrorMiddleware: ErrorName=UnsupportedRequestError ErrorMessage=Incoming URL doesn't match any of swagger defined request patterns.  ErrorHTTPStatusCode=400 ErrorHTTPStatusMessage=undefined ErrorHTTPHeaders=undefined ErrorHTTPBody=undefined ErrorStack="UnsupportedRequestError: Incoming URL doesn't match any of swagger defined request patterns.\n    at dispatchMiddleware (/opt/azurite/dist/src/blob/generated/middleware/dispatch.middleware.js:41:30)\n    at /opt/azurite/dist/src/blob/generated/ExpressMiddlewareFactory.js:50:47\n    at Layer.handle [as handle_request] (/opt/azurite/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/opt/azurite/node_modules/express/lib/router/index.js:328:13)\n    at /opt/azurite/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/opt/azurite/node_modules/express/lib/router/index.js:346:12)\n    at next (/opt/azurite/node_modules/express/lib/router/index.js:280:10)\n    at blobStorageContextMiddleware (/opt/azurite/dist/src/blob/middlewares/blobStorageContext.middleware.js:137:5)\n    at /opt/azurite/dist/src/blob/middlewares/blobStorageContext.middleware.js:15:16\n    at Layer.handle [as handle_request] (/opt/azurite/node_modules/express/lib/router/layer.js:95:5)"
2024-07-16T11:12:54.864Z abc297bb-58da-4c86-ba07-66cae9e76dbd error: ErrorMiddleware: Set HTTP code: 400
2024-07-16T11:12:54.864Z abc297bb-58da-4c86-ba07-66cae9e76dbd error: ErrorMiddleware: Set HTTP body: undefined
2024-07-16T11:12:54.864Z abc297bb-58da-4c86-ba07-66cae9e76dbd info: EndMiddleware: End response. TotalTimeInMS=6 StatusCode=400 StatusMessage=undefined Headers={"server":"Azurite-Blob/3.31.0"}
2024-07-16T11:12:58.575Z 0d80eaa7-a4e4-44dc-b550-df416b0e07da info: QueueStorageContextMiddleware: RequestMethod=GET RequestURL=http://localhost/ RequestHeaders:{"host":"localhost:8888","connection":"keep-alive","sec-ch-ua":"\"Not/A)Brand\";v=\"8\", \"Chromium\";v=\"126\", \"Brave\";v=\"126\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"Windows\"","upgrade-insecure-requests":"1","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8","sec-gpc":"1","sec-fetch-site":"none","sec-fetch-mode":"navigate","sec-fetch-user":"?1","sec-fetch-dest":"document","accept-encoding":"gzip, deflate, br, zstd","accept-language":"nl-NL,nl;q=0.9,en-US;q=0.8,en;q=0.7,fr;q=0.6,de;q=0.5","cookie":"_xsrf=2|cda7a733|fed746432ff843c4cd4dcbfb8edfaea0|1719941153; username-localhost-8889=\"2|1:0|10:1719941232|23:username-localhost-8889|44:ZDVjZGEzYmU1N2ZjNGNjOTk1NDI1MDUxMzk2MTBjYmQ=|bd4142edfd4a308ce7b96a4e5de61e455e703e694ea8f8391cf67ab0714e0511\"; username-localhost-8888=\"2|1:0|10:1719942834|23:username-localhost-8888|44:NDdlZWJhODc5NDUyNDZkYWI1ZmZlZDA4ZGQwYmE2ZDI=|baa58d56118aec2b6016c3019c5c01687fb0e28047426c980ad8b10bbb44c82a\""} ClientIP=172.17.0.1 Protocol=http HTTPVersion=1.1
2024-07-16T11:12:58.576Z 0d80eaa7-a4e4-44dc-b550-df416b0e07da info: QueueStorageContextMiddleware: Account= Queue=undefined Message=undefined MessageId=undefined
2024-07-16T11:12:58.577Z 0d80eaa7-a4e4-44dc-b550-df416b0e07da verbose: DispatchMiddleware: Dispatching request...
2024-07-16T11:12:58.579Z 0d80eaa7-a4e4-44dc-b550-df416b0e07da error: DispatchMiddleware: Incoming URL doesn't match any of swagger defined request patterns.
2024-07-16T11:12:58.581Z 0d80eaa7-a4e4-44dc-b550-df416b0e07da error: ErrorMiddleware: Received a MiddlewareError, fill error information to HTTP response
2024-07-16T11:12:58.582Z 0d80eaa7-a4e4-44dc-b550-df416b0e07da error: ErrorMiddleware: ErrorName=UnsupportedRequestError ErrorMessage=Incoming URL doesn't match any of swagger defined request patterns.  ErrorHTTPStatusCode=400 ErrorHTTPStatusMessage=undefined ErrorHTTPHeaders=undefined ErrorHTTPBody=undefined ErrorStack="UnsupportedRequestError: Incoming URL doesn't match any of swagger defined request patterns.\n    at dispatchMiddleware (/opt/azurite/dist/src/queue/generated/middleware/dispatch.middleware.js:41:30)\n    at /opt/azurite/dist/src/queue/generated/ExpressMiddlewareFactory.js:49:47\n    at Layer.handle [as handle_request] (/opt/azurite/node_modules/express/lib/router/layer.js:95:5)\n    at trim_prefix (/opt/azurite/node_modules/express/lib/router/index.js:328:13)\n    at /opt/azurite/node_modules/express/lib/router/index.js:286:9\n    at Function.process_params (/opt/azurite/node_modules/express/lib/router/index.js:346:12)\n    at next (/opt/azurite/node_modules/express/lib/router/index.js:280:10)\n    at queueStorageContextMiddleware (/opt/azurite/dist/src/queue/middlewares/queueStorageContext.middleware.js:97:5)\n    at /opt/azurite/dist/src/queue/middlewares/queueStorageContext.middleware.js:15:16\n    at Layer.handle [as handle_request] (/opt/azurite/node_modules/express/lib/router/layer.js:95:5)"
2024-07-16T11:12:58.582Z 0d80eaa7-a4e4-44dc-b550-df416b0e07da error: ErrorMiddleware: Set HTTP code: 400
2024-07-16T11:12:58.582Z 0d80eaa7-a4e4-44dc-b550-df416b0e07da error: ErrorMiddleware: Set HTTP body: undefined
2024-07-16T11:12:58.583Z 0d80eaa7-a4e4-44dc-b550-df416b0e07da info: EndMiddleware: End response. TotalTimeInMS=8 StatusCode=400 StatusMessage=undefined Headers={"server":"Azurite-Queue/3.31.0"}
2024-07-16T11:13:02.309Z d85d64a3-54f2-40e1-96bf-53ac06c0bf1a info: TableStorageContextMiddleware: RequestMethod=GET RequestURL=http://localhost/ RequestHeaders:{"host":"localhost:9999","connection":"keep-alive","sec-ch-ua":"\"Not/A)Brand\";v=\"8\", \"Chromium\";v=\"126\", \"Brave\";v=\"126\"","sec-ch-ua-mobile":"?0","sec-ch-ua-platform":"\"Windows\"","upgrade-insecure-requests":"1","user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36","accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8","sec-gpc":"1","sec-fetch-site":"none","sec-fetch-mode":"navigate","sec-fetch-user":"?1","sec-fetch-dest":"document","accept-encoding":"gzip, deflate, br, zstd","accept-language":"nl-NL,nl;q=0.9,en-US;q=0.8,en;q=0.7,fr;q=0.6,de;q=0.5","cookie":"_xsrf=2|cda7a733|fed746432ff843c4cd4dcbfb8edfaea0|1719941153; username-localhost-8889=\"2|1:0|10:1719941232|23:username-localhost-8889|44:ZDVjZGEzYmU1N2ZjNGNjOTk1NDI1MDUxMzk2MTBjYmQ=|bd4142edfd4a308ce7b96a4e5de61e455e703e694ea8f8391cf67ab0714e0511\"; username-localhost-8888=\"2|1:0|10:1719942834|23:username-localhost-8888|44:NDdlZWJhODc5NDUyNDZkYWI1ZmZlZDA4ZGQwYmE2ZDI=|baa58d56118aec2b6016c3019c5c01687fb0e28047426c980ad8b10bbb44c82a\""} ClientIP=172.17.0.1 Protocol=http HTTPVersion=1.1
2024-07-16T11:13:02.310Z d85d64a3-54f2-40e1-96bf-53ac06c0bf1a debug: tableStorageContextMiddleware: Dispatch pattern string: /
2024-07-16T11:13:02.310Z d85d64a3-54f2-40e1-96bf-53ac06c0bf1a info: tableStorageContextMiddleware: Account= tableName=undefined
2024-07-16T11:13:02.311Z d85d64a3-54f2-40e1-96bf-53ac06c0bf1a verbose: DispatchMiddleware: Dispatching request...
2024-07-16T11:13:02.314Z d85d64a3-54f2-40e1-96bf-53ac06c0bf1a error: DispatchMiddleware: Incoming URL doesn't match any of swagger defined request patterns.
2024-07-16T11:13:02.316Z d85d64a3-54f2-40e1-96bf-53ac06c0bf1a error: ErrorMiddleware: Received a MiddlewareError, fill error information to HTTP response
2024-07-16T11:13:02.317Z d85d64a3-54f2-40e1-96bf-53ac06c0bf1a error: ErrorMiddleware: ErrorName=UnsupportedRequestError ErrorMessage="Incoming URL doesn't match any of swagger defined request patterns."  ErrorHTTPStatusCode=400 ErrorHTTPStatusMessage=undefined ErrorHTTPHeaders=undefined ErrorHTTPBody=undefined ErrorStack="\"UnsupportedRequestError: Incoming URL doesn't match any of swagger defined request patterns.\\n    at dispatchMiddleware (/opt/azurite/dist/src/table/generated/middleware/dispatch.middleware.js:41:30)\\n    at /opt/azurite/dist/src/table/generated/ExpressMiddlewareFactory.js:49:47\\n    at Layer.handle [as handle_request] (/opt/azurite/node_modules/express/lib/router/layer.js:95:5)\\n    at trim_prefix (/opt/azurite/node_modules/express/lib/router/index.js:328:13)\\n    at /opt/azurite/node_modules/express/lib/router/index.js:286:9\\n    at Function.process_params (/opt/azurite/node_modules/express/lib/router/index.js:346:12)\\n    at next (/opt/azurite/node_modules/express/lib/router/index.js:280:10)\\n    at tableStorageContextMiddleware (/opt/azurite/dist/src/table/middleware/tableStorageContext.middleware.js:126:5)\\n    at /opt/azurite/dist/src/table/middleware/tableStorageContext.middleware.js:14:16\\n    at Layer.handle [as handle_request] (/opt/azurite/node_modules/express/lib/router/layer.js:95:5)\""
2024-07-16T11:13:02.317Z d85d64a3-54f2-40e1-96bf-53ac06c0bf1a error: ErrorMiddleware: Set HTTP code: 400
2024-07-16T11:13:02.317Z d85d64a3-54f2-40e1-96bf-53ac06c0bf1a error: ErrorMiddleware: Set HTTP body: undefined
2024-07-16T11:13:02.317Z d85d64a3-54f2-40e1-96bf-53ac06c0bf1a info: EndMiddleware: End response. TotalTimeInMS=8 StatusCode=400 StatusMessage=undefined Headers={"server":"Azurite-Table/3.31.0"}
2024-07-16T11:13:35.046Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:13:35.047Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:13:35.084Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:13:35.084Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:13:35.101Z 	 info: QueueGCManager:markSweepLoop() Start new mark and sweep.
2024-07-16T11:13:35.101Z 	 info: QueueGCManger:markSweep() Get all extents.
2024-07-16T11:13:35.101Z 	 info: QueueGCManager:marksweep() Get 0 extents.
2024-07-16T11:13:35.101Z 	 info: QueueGCManager:markSweep() Get referred extents, then remove from allExtents.
2024-07-16T11:13:35.101Z 	 info: QueueGCManager:markSweep() Got referred extents, unreferenced extents count is 0.
2024-07-16T11:13:35.101Z 	 info: QueueGCManager:markSweepLoop() Mark and sweep finished, take 0ms.
2024-07-16T11:13:35.101Z 	 info: QueueGCManager:markSweepLoop() Sleep for 60000
2024-07-16T11:13:35.101Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:13:35.101Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:14:35.050Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:14:35.051Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:14:35.084Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:14:35.085Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:14:35.101Z 	 info: QueueGCManager:markSweepLoop() Start new mark and sweep.
2024-07-16T11:14:35.101Z 	 info: QueueGCManger:markSweep() Get all extents.
2024-07-16T11:14:35.101Z 	 info: QueueGCManager:marksweep() Get 0 extents.
2024-07-16T11:14:35.101Z 	 info: QueueGCManager:markSweep() Get referred extents, then remove from allExtents.
2024-07-16T11:14:35.102Z 	 info: QueueGCManager:markSweep() Got referred extents, unreferenced extents count is 0.
2024-07-16T11:14:35.102Z 	 info: QueueGCManager:markSweepLoop() Mark and sweep finished, take 1ms.
2024-07-16T11:14:35.102Z 	 info: QueueGCManager:markSweepLoop() Sleep for 60000
2024-07-16T11:14:35.102Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:14:35.102Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:15:35.056Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:15:35.056Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:15:35.085Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:15:35.086Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:15:35.102Z 	 info: QueueGCManager:markSweepLoop() Start new mark and sweep.
2024-07-16T11:15:35.102Z 	 info: QueueGCManger:markSweep() Get all extents.
2024-07-16T11:15:35.102Z 	 info: QueueGCManager:marksweep() Get 0 extents.
2024-07-16T11:15:35.102Z 	 info: QueueGCManager:markSweep() Get referred extents, then remove from allExtents.
2024-07-16T11:15:35.102Z 	 info: QueueGCManager:markSweep() Got referred extents, unreferenced extents count is 0.
2024-07-16T11:15:35.102Z 	 info: QueueGCManager:markSweepLoop() Mark and sweep finished, take 0ms.
2024-07-16T11:15:35.102Z 	 info: QueueGCManager:markSweepLoop() Sleep for 60000
2024-07-16T11:15:35.103Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:15:35.103Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:16:35.061Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:16:35.062Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:16:35.087Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:16:35.087Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:16:35.103Z 	 info: QueueGCManager:markSweepLoop() Start new mark and sweep.
2024-07-16T11:16:35.103Z 	 info: QueueGCManger:markSweep() Get all extents.
2024-07-16T11:16:35.103Z 	 info: QueueGCManager:marksweep() Get 0 extents.
2024-07-16T11:16:35.103Z 	 info: QueueGCManager:markSweep() Get referred extents, then remove from allExtents.
2024-07-16T11:16:35.103Z 	 info: QueueGCManager:markSweep() Got referred extents, unreferenced extents count is 0.
2024-07-16T11:16:35.103Z 	 info: QueueGCManager:markSweepLoop() Mark and sweep finished, take 0ms.
2024-07-16T11:16:35.103Z 	 info: QueueGCManager:markSweepLoop() Sleep for 60000
2024-07-16T11:16:35.103Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2024-07-16T11:16:35.103Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2024-07-16T11:16:48.266Z 	 info: Azurite Blob service is closing...
2024-07-16T11:16:48.267Z 	 info: Azurite Queue service is closing...
2024-07-16T11:16:48.267Z 	 info: Azurite Table service is closing...
2024-07-16T11:16:48.268Z 	 info: BlobGCManager:close() Start closing BlobGCManager. Set status to Closing.
2024-07-16T11:16:48.269Z 	 info: QueueGCManager:close() Start closing QueueGCManager, set status to Closing.
2024-07-16T11:16:48.270Z 	 info: BlobGCManager:start() Mark and sweep loop is closed.
2024-07-16T11:16:48.270Z 	 info: BlobGCManager:close() BlobGCManager successfully closed. Set status to Closed.
2024-07-16T11:16:48.270Z 	 info: QueueGCManager:start() Mark and sweep loop is closed.
2024-07-16T11:16:48.270Z 	 info: QueueGCManager:close() QueueGCManager successfully closed, set status to Closed.
2024-07-16T11:16:48.271Z 	 info: Azurite Table service successfully closed
2024-07-16T11:16:48.272Z 	 info: Azurite Blob service successfully closed
2024-07-16T11:16:48.273Z 	 info: Azurite Queue service successfully closed

Hope this helps 👍 .

@electronic-heartbreak
From the debug log, you are send a request RequestMethod=GET RequestURL=http://localhost/.
This method and Uri doesn't meet any blob rest API. So this is not a valid request.
Please send a valid request to Azurite.
You can find all blob API in https://learn.microsoft.com/en-us/rest/api/storageservices/blob-service-rest-api

Hi there,
Thanks for reaching out. I initially expected that when clicking on http://0.0.0.0:10000 it would open the Microsoft Azure Storage Explorer (MASE). After some more digging, I found out that MASE is an external program that needed to be installed.
In the end I managed to get a connection through Docker and it all works now.

source: gharchive/issue

authors: blueww electronic-heartbreak

repo: Azure/Azurite


text:
Feature: Docker context ACI

Until now, Cloud Shell only contains the Docker CLI, not the daemon (which I think is good, due to issues with DinD). Now, with Context and ACI support the Docker CLI could default to the ACI integration to allow easy and simple run containers using Docker CLI.

@nmeisenzahl could you please point to documentation on ACI integration that you are referring to. We are unclear about your requirement.

For example this tutorial show that feature https://learn.microsoft.com/en-us/azure/container-instances/tutorial-docker-compose

authors: dsajanice marcindulak nmeisenzahl

repo: Azure/CloudShell


text:
Log Analytics Workspace in  Azure Multiregion

Describe the feature end to end, including deployment scenario details under which the feature would occur.
Looking at the reference architecture https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/ready/landing-zone/ there does not appear to be any consideration for log analytics in a DR scenario (Loss of region). Is this something that is being considered in ALZ to offer this as part of the deployment as per the link below?
https://learn.microsoft.com/en-us/azure/azure-monitor/logs/workspace-replication
Why is this feature important. Describe why this would be important for your organization and others. Would this impact similar orgs in the same way?
Multi-region failover for LAW
Please provide the correlation id associated with your error or bug.
N\A
Can you describe any alternatives that you have taken since this feature does not exist?
N\A
Feature Implementation
N\A

Check previous GitHub issues

[x] I have searched the issues for this item and found no duplicate

Code of Conduct

[x] I agree to follow this project's Code of Conduct

@gerrynicol Thanks for opening this issue, we haven't yet started working on adding guidance for this item given there hasn't been enough evidence on the need for such implementation. Did you face any outage for log analytics that triggered this issue, or you are just looking for guidance at the moment?
cc: @paulgrimley

authors: gerrynicol sebassem

repo: Azure/Enterprise-Scale


text:
Moodle on AKS slow with Azure File and no file when using Azure blob

Hello everyone.
I have a moodle running on Azure Kubernetes Services using an external Postrges DB.
I am actually trying to switch default storage disk to an azure storage account.
I have tried with Azure File, things looks good but application is very slow. Pages takes too much time to appear than normal time. Tried to use premium file share to improve performance but it is same.
I now want to use a blob or block container following this ( https://learn.microsoft.com/en-us/azure/aks/azure-csi-blob-storage-provision?tabs=mount-nfs%2Csecret#statically-provision-a-volume )
Tried to deploy an empty new moodle but seems moodle do not know how to write in container of a storage account.
Have anybody tried to do this please.?
any hint and help will be appreciable

Hello  @naioja ;
Thank you for helping on this .
So i am deploying the moodle from a Helm chart version 14.1.9 ( https://artifacthub.io/packages/helm/bitnami/moodle/14.1.9 ).

AZURE FILE SCENARIO

1- my values looks like something like this :

moodleSkipInstall: true
moodlePassword: *************
allowEmptyPassword: false
mariadb
  enabled: false
extraEnvVars:
- name: PHP_MAX_INPUT_VARS
  value: "5000"
- name: PHP_POST_MAX_SIZE
  value: 500m
- name: PHP_UPLOAD_MAX_FILESIZE
  value: 500m
persistence
  existingClaim : azure-file-moodle-pvc
livenessProbe
  enabled: false
readinessProbe
  enabled: false
ingress
  enabled: true
  hostname: *************
  ingressClassName: nginx
  tls: true
  annotations:
    acme.cert-manager.io/http01-edit-in-place: "true"
    cert-manager.io/cluster-issuer: *************
    nginx.org/client-max-body-size: 500m
containerSecurityContext
  enabled: false
externalDatabase
  type: pgsql
  host: ******
  port: 5432
  user: bn_moodle
  password: ********
  database: bitnami_moodle

2- The PVC given in the helm values reference a PV that reference a secrect and that secret reference a storage account containing the share used for moodle . so it all look like this :
SECRET

kubectl create secret generic azure-file-moodle -n moodle --from-literal=azurestorageaccountname=************ --from-literal=azurestorageaccountkey=***********

PV & PVC

apiVersion: v1
kind: PersistentVolume
metadata:
  annotations:
    pv.kubernetes.io/provisioned-by: file.csi.azure.com
  name: azure-file-moodle-pv
spec:
  capacity:
    storage: 40Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  storageClassName: azurefile-csi
  csi:
    driver: file.csi.azure.com
    readOnly: false
    volumeHandle: 9e6091d1-7121-413a-bc6a-134df98b375a
    volumeAttributes:
      shareName: moodle-persistence
    nodeStageSecretRef:
      name: azure-file-moodle
      namespace: moodle
  mountOptions:
    - dir_mode=0777
    - file_mode=0777
    - uid=0
    - gid=0
    - mfsymlinks
    - cache=strict
    - nosharesock
    - nobrl
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: azure-file-moodle-pvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 40Gi
  volumeName: azure-file-moodle-pv
  storageClassName: azurefile-csi

So those are my configuration.
At Azure side i have a storage account and a share named  moodle-persistence
Site is UP, persistence are well bound; but page are very very very slow. When i try to use default disk it is good.
I tried using premium file share to see if high performance can help but nothing.

AZURE BLOB SCENARIO

I did the same scenario but this time the used storage class is azureblob-fuse-premium and provisionner is blob.csi.azure.com but i have error stating that moodle was unable to attach to that volume.

Hello
@naioja still looking foward for a help on this please :) :)

repo: Azure/Moodle


text:
[RULE]  Zonal-deployed Azure Firewalls should consider using an Azure NAT Gateway for outbound access

Existing rule
No response
Suggested rule
Azure Firewall can be deployed with up to 250 public IP addresses, each providing 2,496 SNAT ports. This setup offers a maximum of 1,248,000 SNAT ports.
Managing a large number of public IP addresses comes with challenges, particularly regarding downstream IP address filtering requirements. When Azure Firewall is associated with multiple public IP addresses, these filtering requirements must be applied to all associated addresses.
Even when using Public IP address prefixes, associating 250 public IP addresses requires managing 16 public IP address prefixes on the downstream side.
A more efficient solution for scaling and dynamically allocating outbound SNAT ports is to use an Azure NAT Gateway:

High Capacity: Each public IP address on a NAT Gateway provides 64,512 SNAT ports, and up to 16 public IP addresses can be associated, resulting in up to 1,032,192 SNAT ports.
Dynamic Allocation: SNAT ports are dynamically allocated at the subnet level, making all provided SNAT ports available on demand for outbound connectivity.

This configuration simplifies management for downstream systems, as it requires handling only up to 16 public IP addresses.
Pillar
Reliability
Additional context

RE:05 Redundancy
Scale SNAT ports with Azure NAT Gateway
Plan for inbound and outbound internet connectivity
Azure deployment reference - Virtual Network
Azure deployment reference - Subnet

Hi, @BernieWhite. Let me know what you think about this one regarding our discussion.


text:
Redistribute SFNuGet as NuGet?

We get most of our build tools via NuGet. This simplifies developer and build agent setup, as we don't have to add additional steps for each custom build tool we use.
Would be convenient if SFNuGet were itself available as a nuget package.

@aaronla-ms - you mean SFNuGet?

authors: MedAnd aaronla-ms

repo: Azure/SFNuGet


text:
add repo url to sirupsen dependency to fix glide installs

fixes #803
does not update logrus dependency or any code or imports,
just glide.yaml and lock file

@sgoings,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

LGTM

authors: msftclas seanknox sgoings

repo: Azure/acs-engine

license: mit

license_source: bigquery


text:
fix a bug where version is override when omitted during update

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
If applicable:

[ ] documentation
[ ] unit tests
[ ] tested backward compatibility (ie. deploy with previous version, upgrade with this branch)

Release note:

dont merge just yet...

@weinong let me know when it's ready

@CecileRobertMichon it's ready to merge!

authors: CecileRobertMichon weinong


text:
SP with resource group level scope example

What this PR does / why we need it:
Added example on how to create a service principal with a resource group level scope
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
If applicable:

[ x ] documentation
[ ] unit tests
[ ] tested backward compatibility (ie. deploy with previous version, upgrade with this branch)

Release note:

/assign @brendandburns

Thanks @billpratt!

authors: CecileRobertMichon billpratt


text:
Cannot create new ingress due to invalid length

Describe the bug
When trying to create a new ingress, I receive the following error.
Resource name k8s-ag-ingress-api-turnouttuserapi-80-bp-80-turnoutt-services-ingress-dev-1520020d is invalid. The name can be up to 80 characters long. It must begin with a word character, and it must end with a word character or with '_'. The name may contain word characters or '.', '-', '_'.
Is there any way to shorten the name down?
To Reproduce
Steps to reproduce the behavior:

Configure the Gateway and Ingress as specified.
Create a new ingress.

Ingress Controller details

Output of kubectl describe pod <ingress controller> . The  pod name can be obtained by running helm list.

Name:               foolhardy-albatross-ingress-azure-65dfdbb775-nfcpm
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               aks-agentpool-32228829-3/10.241.0.97
Start Time:         Mon, 08 Apr 2019 08:50:49 -0700
Labels:             aadpodidbinding=foolhardy-albatross-ingress-azure
                    app=ingress-azure
                    pod-template-hash=65dfdbb775
                    release=foolhardy-albatross
Annotations:        <none>
Status:             Running
IP:                 10.241.0.123
Controlled By:      ReplicaSet/foolhardy-albatross-ingress-azure-65dfdbb775
Containers:
  ingress-azure:
    Container ID:   docker://953951014b81b426564c28289ef1e902e10c939ddc7e34eda2db3a74f1ad0e7f
    Image:          mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:0.3.0
    Image ID:       docker-pullable://mcr.microsoft.com/azure-application-gateway/kubernetes-ingress@sha256:c110f441f81fc53060d4a88367ca9430c681e9a513cc978d55bed8c9025e9121
    Port:           <none>
    Host Port:      <none>
    State:          Running
      Started:      Mon, 08 Apr 2019 08:50:57 -0700
    Ready:          True
    Restart Count:  0
    Environment Variables from:
      foolhardy-albatross-cm-ingress-azure  ConfigMap  Optional: false
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from foolhardy-albatross-sa-ingress-azure-token-qxtcl (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  foolhardy-albatross-sa-ingress-azure-token-qxtcl:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  foolhardy-albatross-sa-ingress-azure-token-qxtcl
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason     Age   From                               Message
  ----    ------     ----  ----                               -------
  Normal  Scheduled  10m   default-scheduler                  Successfully assigned default/foolhardy-albatross-ingress-azure-65dfdbb775-nfcpm to aks-agentpool-32228829-3
  Normal  Pulling    10m   kubelet, aks-agentpool-32228829-3  pulling image "mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:0.3.0"
  Normal  Pulled     10m   kubelet, aks-agentpool-32228829-3  Successfully pulled image "mcr.microsoft.com/azure-application-gateway/kubernetes-ingress:0.3.0"
  Normal  Created    10m   kubelet, aks-agentpool-32228829-3  Created container
  Normal  Started    10m   kubelet, aks-agentpool-32228829-3  Started container

Output of `kubectl logs .

ERROR: logging before flag.Parse: W0408 15:51:02.875764       1 controller.go:105] unable to send CreateOrUpdate request, error [network.ApplicationGatewaysClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: Code="InvalidResourceName" Message="Resource name k8s-ag-ingress-api-turnouttuserapi-80-bp-80-turnoutt-services-ingress-dev-1520020d is invalid. The name can be up to 80 characters long. It must begin with a word character, and it must end with a word character or with '_'. The name may contain word characters or '.', '-', '_'." Details=[]]
ERROR: logging before flag.Parse: I0408 15:51:02.876025       1 controller.go:106] ~~~~~~~~ ↑ ApplicationGateway deployment ↑ ~~~~~~~~
ERROR: logging before flag.Parse: I0408 15:51:02.876044       1 eventqueue.go:126] Processing event failed
ERROR: logging before flag.Parse: I0408 15:51:02.876055       1 eventqueue.go:119] Processing event begin, time since event generation: 2.717826788s
ERROR: logging before flag.Parse: I0408 15:51:02.876060       1 controller.go:50] controller.processEvent called with type k8scontext.Event
ERROR: logging before flag.Parse: I0408 15:51:02.911702       1 backendhttpsettings.go:86] resolving port name http
ERROR: logging before flag.Parse: I0408 15:51:02.911730       1 backendhttpsettings.go:86] resolving port name http
ERROR: logging before flag.Parse: I0408 15:51:02.911740       1 backendhttpsettings.go:86] resolving port name http
ERROR: logging before flag.Parse: I0408 15:51:02.911933       1 backendhttpsettings.go:86] resolving port name http
ERROR: logging before flag.Parse: I0408 15:51:02.911964       1 backendhttpsettings.go:86] resolving port name http
ERROR: logging before flag.Parse: I0408 15:51:02.912149       1 controller.go:98] ~~~~~~~~ ↓ ApplicationGateway deployment ↓ ~~~~~~~~
ERROR: logging before flag.Parse: W0408 15:51:03.016742       1 controller.go:105] unable to send CreateOrUpdate request, error [network.ApplicationGatewaysClient#CreateOrUpdate: Failure sending request: StatusCode=400 -- Original Error: Code="InvalidResourceName" Message="Resource name k8s-ag-ingress-api-turnouttuserapi-80-bp-80-turnoutt-services-ingress-dev-1520020d is invalid. The name can be up to 80 characters long. It must begin with a word character, and it must end with a word character or with '_'. The name may contain word characters or '.', '-', '_'." Details=[]]
ERROR: logging before flag.Parse: I0408 15:51:03.016766       1 controller.go:106] ~~~~~~~~ ↑ ApplicationGateway deployment ↑ ~~~~~~~~
ERROR: logging before flag.Parse: I0408 15:51:03.016798       1 eventqueue.go:126] Processing event failed

Any Azure support tickets associated with this issue.

I can confirm this issue. I installed cert-manager to maintain letsencryp certificates from acme into my cluster and setup a dns name for a http service in the namespace emqx.
The azure gateway seems to pick that up and creates a pod with the name cm-acme-http-solver-cgx4k in the emqx namespace.
The application gateway ingress controller automatically picks up that name as well and creates this rather long resource name:
k8s-ag-ingress-emqx-cm-acme-http-solver-bhd6x-8089-bp-8089-cm-acme-http-solver-4czkt
This is invalid due to length restriction of 80 characters.
Due to this I'm currently unable to connect the service through the gateway

Thanks for reporting this @psachs @cwoolum. This has been highlighted previously as well and needs to be fixed. Part of the problem comes from the prefix, and part from the way we encode the resource names. Need to come up with a more determinsitic scheme. Will take this up.

authors: asridharan cwoolum psachs


text:
When returning an object via createUiDefinition.json, the tooling reports error Cannot find an overload for "Matches" and the argument count: "1".

If the output of the createUiDefintion.json contains an object instead of just a value, the tooling reports the error:
[-] Controls In Outputs Must Exist (6 ms)
Cannot find an overload for "Matches" and the argument count: "1".
Example file attached here:
createUiDefinition.json.txt

@scseely - thx for the repro...

@StartAutomating for debug

authors: bmoore-msft scseely

repo: Azure/arm-ttk


text:
[LLC] Use options.Apply() in service method calls

A static Apply() method was recently added to RequestOptions to apply the options specified in LLC methods all in one place.
This will replace the existing sections where RequestOptions are applied in LLC generated code.

Any backward-compat issues we should be aware about?

I think this one is safe.

LLC in general is in preview
We are moving pretty much the same code from being generated to being in the shared library

authors: AlexanderSher annelo-msft pakrym


text:
Set default/global content-type and accept header

As these decorators are deprecated, we need to figure out a way to set default content-type and accept.
@Cadl.Rest.produces("application/json")
@Cadl.Rest.consumes("application/json")

Solutions:

We hard code the default value of content-type/accept header as "application/json".
We force user to define the content-type/accept header at operation level.
We configure default value in sidecar since this issue only exists in .NET.

According to https://github.com/microsoft/cadl/blob/main/docs/cadl-for-openapi-dev.md#consumes--produces-oas2, application/json is assumed to be the default for http.
We want to have @header contentType: <value> be the way to change the content type having those decorators as well cause a lot of confusion specially as they were only allowed on the service namespace. This is consistent to how openapi3 define content type and solve the issue of making sure a payload and content type are correctly mapped.
This issue is used to track the docs for default value should be application/json: https://github.com/microsoft/cadl/issues/1035


text:
Finalize on design for Generate.ps1 for mgc

We don't want an exact copy of Generate.ps1, but we should have something that works similarly.
One of the things I would like to do in the new world is have a consistent generation structure
outputfolder

project.sln
src

project.csproj

test

project.tests.csproj

Some other things we should consider:

We can automate clearing the packages from cache & the plugin's folder until https://github.com/Azure/autorest.csharp/issues/4450 is completed.
The script should also automate packing the projects.

Punting the folder scaffolding generation to this item https://github.com/Azure/autorest.csharp/issues/4463

for now generate.ps1 will invoke mgc.exe until this item is finished https://github.com/Azure/autorest.csharp/issues/4464

Punting the auto discovery to this item https://github.com/Azure/autorest.csharp/issues/4466

authors: jorgerangel-msft m-nash


text:
Formatting: Default Smart Behavior

Default Behavior

Only ID parameters, in reverse order, should be in table formats
From: https://github.com/Azure/autorest.powershell/issues/299

Fixed.


text:
AKS Create error when trying to attach acr and using aks-preview

Describe the bug
When running the command below, an error is simply returned. Turning the aks-preview extension off makes the command work as expected.
Command Name
az aks create Extension Name: aks-preview. Version: 0.4.24.
Errors:
az aks create: error: 'Namespace' object has no attribute 'detach_acr'
To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

az aks create --node-count 1 -g <MyResourceGroup> -n <MyAksName> --attach-acr <AcrName>

Expected Behavior
It creates an AKS instance with the correct permissions
Environment Summary
Linux-5.3.13-300.fc31.x86_64-x86_64-with-fedora-31-Thirty_One
Python 3.7.5
Shell: bash

azure-cli 2.0.75 *

Extensions:
aks-preview 0.4.24
azure-devops 0.15.0

Additional Context

@sauryadas can you take a look at this?

Correct. This command is not available in the CLI extension. It is only a part of the core CLI

Closing this ticket in favor of the AKS driven one opened here given they are the same issue. https://github.com/Azure/AKS/issues/1349

authors: GeeWee jluk sauryadas

repo: Azure/azure-cli-extensions


text:
az network bastion tunnel target_ip_address

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az network bastion tunnel Extension Name: bastion. Version: 0.2.0.
Errors:
The command failed with an unexpected error. Here is the traceback:
_validate_and_generate_resourceid() missing 1 required positional argument: 'target_ip_address'
Traceback (most recent call last):
  File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 233, in invoke
  File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 663, in execute
  File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 726, in _run_jobs_serially
  File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 697, in _run_job
  File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 333, in __call__
  File "D:\a\_work\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
  File "${user.home}/.azure\cliextensions\bastion\azext_bastion\custom.py", line 153, in ssh_bastion_host
    _validate_and_generate_resourceid(cmd, bastion, target_resource_id, target_ip_address)
TypeError: _validate_and_generate_resourceid() missing 1 required positional argument: 'target_ip_address'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az network bastion tunnel --name {} --resource-group {} --target-resource-id {} --port {} --resource-port {}

Expected Behavior
Environment Summary
Windows-10-10.0.19045-SP0
Python 3.10.8
Installer: MSI

azure-cli 2.45.0

Extensions:
bastion 0.2.0
ssh 1.1.3

Dependencies:
msal 1.20.0
azure-mgmt-resource 21.1.0b1

Additional Context

Same issue, unable to access to VMs
Environment Summary
macOS-13.1-x86_64-i386-64bit, Darwin 22.2.0
Python 3.10.9
Installer: HOMEBREW

azure-cli 2.45.0

Extensions:
front-door 1.0.17
azure-firewall 0.14.4
bastion 0.2.0
aks-preview 0.5.128
logic 0.1.6
ssh 1.1.3

Dependencies:
msal 1.20.0
azure-mgmt-resource 21.1.0b1

route to CXP team

@lgranie I've switched temporarily to the Azure Cloud Shell and it works (I know is not the same as using the local terminal)

Workaround by downgrading to Azure CLI 2.40 resolved the issue.
I get a warning "The 'bastion' extension version 0.2.0 is not compatible with your current CLI core version 2.40.0." but at least I can connect again.

@lgranie @bollicino @perttulaurila  The fix is being worked upon and should be made available in the 0.2.1 version of bastion extension. I will keep you posted.

@lgranie @bollicino @perttulaurila As mentioned in the above comment, Could you please try updating your bastion extension (to 0.2.1) ? That should resolve this issue. Please run the below command to update your extension.

az extension update -n bastion

@lgranie @bollicino @perttulaurila As mentioned in the above comment, Could you please try updating your bastion extension (to 0.2.1) ? That should resolve this issue. Please run the below command to update your extension.

az extension update -n bastion

ciao @navba-MSFT
yes it works (sorry for late reply, I was on vacation ⛷).
thank you!

everything is ok
thk

authors: bollicino lgranie navba-MSFT perttulaurila yonzhan


text:
add support for bastion developer create

This checklist is used to make sure that common guidelines for a pull request are followed.
Related command

General Guidelines

[ ] Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
[ ] Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)
[ ] My extension version conforms to the Extension version schema

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

Thank you for your contribution! We will review the pull request and get back to you soon.

authors: yonzhan zhangjacq


text:
az aks nodepool add with --vnet-subnet-id does not use vnet for nodepool

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug
I am trying to add a nodepool to an existing AKS cluster with a different vnet-id as the main pool
In the documentation there is an option to specify the subnet id https://docs.microsoft.com/bs-latn-ba/cli/azure/ext/aks-preview/aks/nodepool?view=azure-cli-latest#ext-aks-preview-az-aks-nodepool-add
To Reproduce

az aks nodepool add --subscription "Faktion AXA ADP" --resource-group "axa-prod" --cluster-name "adpaxaaksprod" --name "mempool" --node-count 1 --node-vm-size "Standard_DS14_v2" --enable-cluster-autoscaler --min-count 1 --max-count 6 --node-taints "type=worker:NoSchedule" --priority "Low" --vnet-subnet-id "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/RGNAME/providers/Microsoft.Network/virtualNetworks/customer-network-prod/subnets/newpool-subnet" --kubernetes-version 1.13.10

Expected behavior
I would expect the nodepool to be using addresses from the specified subnet. Currently it is taking addresses from the subnet where AKS is deployed
Environment summary
The existing cluster is using the Azure CNI for networking
Linux-5.0.0-32-generic-x86_64-with-debian-buster-sid
Python 3.6.5
Shell: bash

azure-cli 2.0.75

Extensions:
interactive 0.4.3
aks-preview 0.4.17

@zeroX-tj today all the subnets in each nodepool must align, hence the behavior you are seeing is by design. we have this functionality on the roadmap to enable a distinct subnet per pool which can be tracked here. https://github.com/Azure/AKS/issues/1338
closing as by design, with a redirection to the requested feature.

authors: jluk zeroX-tj

repo: Azure/azure-cli


text:
error geeting while enabling dashboard addon

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az aks enable-addons
Errors:
az aks enable-addons: error: the following arguments are required: --resource-group/-g, --name/-n

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az aks enable-addons --addons {}

Expected Behavior
Environment Summary
Darwin-19.4.0-x86_64-i386-64bit
Python 3.7.6
Shell: bash

azure-cli 2.0.76 *

Extensions:
azure-devops 0.12.0

Additional Context

aks

hi @pavanmutra is resource-group and name is provided in your command? they're required params in this command

Closing for now since the answer has been provided above.

authors: Jen7714 pavanmutra yonzhan yungezz


text:
Webapp:OpenSSL.SSL.SysCallError: (10054, 'WSAECONNRESET')

Hey when i am uploading my Flask + Pytorch by following command
az webapp up --sku F1 -n b appname
I am getting following errors
This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az webapp up
Errors:
('Connection aborted.', OSError("(10054, 'WSAECONNRESET')",))
Traceback (most recent call last):
urllib3\urllib3\contrib\pyopenssl.py, ln 320, in _send_until_done
pip-install-_kvuguic\pyOpenSSL\OpenSSL\SSL.py, ln 1737, in send
pip-install-_kvuguic\pyOpenSSL\OpenSSL\SSL.py, ln 1639, in _raise_ssl_error
OpenSSL.SSL.SysCallError: (10054, 'WSAECONNRESET')

...

pip-install-_kvuguic\requests\requests\sessions.py, ln 646, in send
pip-install-_kvuguic\requests\requests\adapters.py, ln 498, in send
requests.exceptions.ConnectionError: ('Connection aborted.', OSError("(10054, 'WSAECONNRESET')",))

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az webapp up --sku {} -n {} --debug

Expected Behavior
Environment Summary
Windows-10-10.0.18362-SP0
Python 3.6.6
Installer: MSI

azure-cli 2.7.0

Additional Context

webapp

Please try with the latest version of CLI and open a new issue if this still a problem thanks.

authors: kbrajwani panchagnula yonzhan


text:
az ad permission - app_role id??

Went through this page and found that that there is no mention of getting existing app_role ids from custom app_roles from az ad permission command, its possible to add/delete etc & grant but I have to manually goto the portal/manifest and find out the uuid for the specific app_role ie ( -api-permissions 311a71cc-e848-46a1-bdf8-97ff7156d8e6=Scope ) for custom app_roles and then use the admin consent grant.
az ad app permission add --id eeba0b46-78e5-4a1a-a1aa-cafe6c123456 --api 00000002-0000-0000-c000-000000000000 --api-permissions  00000006-0000-0000-c000-000000000000=Role
Is there anyway of getting the uui for custom app_roles?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 6a5b5348-f67e-ef14-0529-4c80fddd4bc6
Version Independent ID: bfd7e6b1-1fba-3d25-8ee3-5105bcf4157d
Content: az ad app permission
Content Source: src/azure-cli/azure/cli/command_modules/role/_help.py
Service: active-directory
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

@arrownj please take a look

@arrownj is it in output of show command?

appRoleId can be retrieved with az ad sp show. Please see https://github.com/Azure/azure-cli/issues/12137#issuecomment-596567479 for detailed explanation.

authors: edjwhho jiasli yonzhan yungezz


text:
az webapp list-runtimes doesn't provide the most up to date information

Running this today (2021-17-11) returns
az webapp list-runtimes --linux
[
  "DOTNETCORE|2.1",
  "DOTNETCORE|3.1",
  "DOTNET|5.0",
  "NODE|14-lts",
  "NODE|12-lts",
  "NODE|10-lts",
  "NODE|10.1",
  "NODE|10.6",
  "NODE|10.14",
  "JAVA|8-jre8",
  "JAVA|11-java11",
  "TOMCAT|8.5-jre8",
  "TOMCAT|9.0-jre8",
  "TOMCAT|8.5-java11",
  "TOMCAT|9.0-java11",
  "JBOSSEAP|7.2-java8",
  "PHP|7.2",
  "PHP|7.3",
  "PHP|7.4",
  "PYTHON|3.8",
  "PYTHON|3.7",
  "PYTHON|3.6",
  "RUBY|2.5",
  "RUBY|2.6"
]

Nothing is displayed related to .NET 6.
Although

it's GA.
tweaking the Portal UI and exporting the settings as an ARM template shows that "DOTNETCORE|6.0" is a supported value.

Where can one go to find the list of up-to-date supported values?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2983e943-cce1-effd-57d0-cce4b0c0a7e1
Version Independent ID: 4262c40a-7140-b420-58b5-5cf40ab2316e
Content: az webapp
Content Source: latest/docs-ref-autogen/webapp.yml
Service: app-service-web
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

route to service team

@nulltoken - Thank you for bringing this to our attention. We are getting this updated.

@nulltoken - Thank you for bringing this to our attention. We are getting this updated.

@seligj95 Thanks for your answer. However this doesn't cover the part "Where can one go to find the list of up-to-date supported values?" of the initial issue?
Applying reverse-engineering practices to find the magic values to properly configure your deployment isn't the sweetest experience.

@nulltoken - Apologies for the confusion. Currently the CLI command runs off a list of hardcoded values while the portal uses an API to get the available runtimes so the portal is the current "source of truth". We are working on getting the list-runtimes command to use that same API so there is parity. This update should roll out with the next CLI release which is scheduled for the first week of December.

@nulltoken - which version of the CLI are you using? The latest version (2.30.0) has already been updated and includes .net 6. Please let me know if there is an issue otherwise we can close this.

@seligj95 I don't know (at this moment) the version of the CLI. Will get back to you tomorrow about that.
However, what you're writing seems to infer that the list of runtimes is hardcoded in the CLI source code/resources. Would that be the case could you please point me to the github file containing this up-to-date runtime list?

Please let me know if there is an issue otherwise we can close this.

I don't think closing this will resolve the underlying issue. There's still nothing helping the user, at any random moment, point to the latest up-to-date available runtimes.
The doc states

Nowhere is mentioned "for this to work, you have to run against the latest version of the CLI otherwise you'll only see outdated information".
Sorry for being dense but it looks to me there's a real usability issue here that's not dealt with.

Once the command uses the API rather than the hard-coded list (https://github.com/Azure/azure-cli/blob/dev/src/azure-cli/azure/cli/command_modules/appservice/resources/WebappRuntimeStacks.json) which we try to avoid for our commands for obvious reasons, I think that will solve the usability issue, assuming users update to the latest version of the CLI which they should be prompted to do when a new version is released.

Nowhere is mentioned "for this to work, you have to run against the latest version of the CLI otherwise you'll only see outdated information".

Agreed that this would have been good to add for the current cli, but we are expecting the next release to use the API. Help text updates go out at the same time as CLI releases so it shouldn't be necessary moving forward as I can't make a change to a previous version. If for some reason we can't get the API out with the next release, that help text will be included.

@seligj95 Thanks for the pointer to the hard coded list!

we are expecting the next release to use the API

Could you please point me to this API endpoint? I'm unable to find anything relevant (https://docs.microsoft.com/en-us/rest/api/?term=runtime versions) about that

GET https://management.azure.com/providers/Microsoft.Web/webAppStacks?api-version=2020-10-01
for Linux only:
GET https://management.azure.com/providers/Microsoft.Web/webAppStacks?stackOsType=linux&api-version=2020-10-01
Reference:
https://docs.microsoft.com/en-us/rest/api/appservice/provider/get-web-app-stacks

@seligj95 Thanks!
I've got provided with all the answers I needed.
Good to be closed.

authors: nulltoken seligj95 yonzhan


text:
global admin on my own subscription, not being able to read contents of my own blobs in azure storage account, tried to add role to read via Azure PowerShell, failed with below error

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az role assignment create
Errors:
The command failed with an unexpected error. Here is the traceback:
Invalid filter clause
Traceback (most recent call last):
  File "/opt/az/lib/python3.10/site-packages/azure/cli/command_modules/role/msgrpah/_graph_client.py", line 40, in _send
    r = send_raw_request(self.cli_ctx, method, url, resource=self.resource, uri_parameters=param, body=body)
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/util.py", line 982, in send_raw_request
    raise HTTPError(reason, r)
azure.cli.core.azclierror.HTTPError: Bad Request({"error":{"code":"BadRequest","message":"Invalid filter clause","innerError":{"date":"2022-06-23T01:12:43","request-id":"18e09c80-f825-4268-bb51-23b50e9cb229","client-request-id":"18e09c80-f825-4268-bb51-23b50e9cb229"}}})

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/az/lib/python3.10/site-packages/knack/cli.py", line 231, in invoke
    cmd_result = self.invocation.execute(args)
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 663, in execute
    raise ex
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 726, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 697, in _run_job
    result = cmd_copy(params)
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py", line 333, in __call__
    return self.handler(*args, **kwargs)
  File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
    return op(**c

@jiasli for awareness

Could you run the command with --debug and see which request failed?

@.:~$ az role assignment create --role "Storage Blob Data
Contributor" --assignee "
@." --scope
"/subscriptions/2dd1404c-a6a5-4d0e-97f6-2dd07788eb73" --debug
cli.knack.cli: Command arguments: ['role', 'assignment', 'create',
'--role', 'Storage Blob Data Contributor', '--assignee', '
@.***', '--scope',
'/subscriptions/2dd1404c-a6a5-4d0e-97f6-2dd07788eb73', '--debug']
cli.knack.cli: init debug log:
Enable color in terminal.
cli.knack.cli: Event: Cli.PreExecute []
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [<function
CLILogging.on_global_arguments at 0x7f9d91e83c70>, <function
OutputProducer.on_global_arguments at 0x7f9d91bec4c0>, <function
CLIQuery.on_global_arguments at 0x7f9d91c1d6c0>]
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate []
cli.azure.cli.core: Modules found from index for 'role':
['azure.cli.command_modules.role']
cli.azure.cli.core: Loading command modules:
cli.azure.cli.core: Name                  Load Time    Groups  Commands
cli.azure.cli.command_modules.role: This command or command group has been
migrated to Microsoft Graph API. Please carefully review all breaking
changes introduced during this migration:
https://docs.microsoft.com/cli/azure/microsoft-graph-migration
cli.azure.cli.core: role                      0.026        16        56
cli.azure.cli.core: Total (1)                 0.026        16        56
cli.azure.cli.core: These extensions are not installed and will be skipped:
['azext_next']
cli.azure.cli.core: Loading extensions:
cli.azure.cli.core: Name                  Load Time    Groups  Commands
Directory
cli.azure.cli.core: ai-examples               0.130         1         1
/opt/az/lib/python3.10/site-packages/azure-cli-extensions/ai-examples
cli.azure.cli.core: Total (1)                 0.130         1         1
cli.azure.cli.core: Loaded 17 groups, 57 commands.
cli.azure.cli.core: Found a match in the command table.
cli.azure.cli.core: Raw command  : role assignment create
cli.azure.cli.core: Command table: role assignment create
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function
AzCliLogging.init_command_file_logging at 0x7f9d9135f370>]
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs
to
'/home/samuel/.azure/commands/2022-06-24.11-50-21.role_assignment_create.133.log'.
az_command_data_logger: command args: role assignment create --role {}
--assignee {} --scope {} --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [<function
register_global_subscription_argument..add_subscription_parameter
at 0x7f9d91120dc0>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [<function
register_ids_argument..add_ids_arguments at 0x7f9d911d1240>,
<function register_cache_arguments..add_cache_arguments at
0x7f9d911d1360>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
cli.knack.cli: Event: CommandInvoker.OnPostParseArgs [<function
OutputProducer.handle_output_argument at 0x7f9d91bec550>, <function
CLIQuery.handle_query_parameter at 0x7f9d91c1d750>, <function
register_ids_argument..parse_ids_arguments at 0x7f9d911d12d0>]
urllib3.connectionpool: Starting new HTTP connection (1): localhost:50342
urllib3.connectionpool: http://localhost:50342 "POST /oauth2/token
HTTP/1.1" 200 2105
msrestazure.azure_active_directory: MSI: Retrieving a token from
http://localhost:50342/oauth2/token, with payload {'resource': '
https://management.core.windows.net/'}
cli.azure.cli.core.util: Retrieving token for resource
https://graph.microsoft.com/
urllib3.connectionpool: Starting new HTTP connection (1): localhost:50342
On Thu, Jun 23, 2022 at 1:43 AM Jiashuo Li @.***> wrote:

Could you run the command with --debug and see which request failed?
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/azure-cli/issues/22974#issuecomment-1163973099,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AR6X2F4IYRKQ6SDEX5QUM23VQP2QVANCNFSM5ZSQDV7A
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Best Regards,
Samuel Nadim
Cloud Engineer
Microsoft Certified: Azure Solutions Architect Expert
https://www.credly.com/badges/ab0070b7-0771-4522-a5b7-20c0954bce9b/public_url
Cisco Certified Network Associate Routing and Switching (CCNA Routing and
Switching)
https://www.credly.com/badges/bd07c1b2-2b67-4c1c-9357-7704a3457086/public_url
(703) 786-2865
@.***
[image: Microsoft Certified: Azure Solutions Architect Expert]
https://www.credly.com/badges/ab0070b7-0771-4522-a5b7-20c0954bce9b/public_url
https://www.credly.com/badges/c1439d24-022d-4fb4-9b14-49a0784c02f1/public_url
[image: Cisco Certified Network Associate Routing and Switching (CCNA
Routing and Switching)]
https://www.credly.com/badges/bd07c1b2-2b67-4c1c-9357-7704a3457086/public_url
[image: HashiCorp Certified: Terraform Associate]
https://www.credly.com/badges/f382eeca-a752-46a2-a98a-380d34fdc1a1/public_url
[image: AWS Certified Cloud Practitioner]
https://www.credly.com/badges/9c62f83b-a2f1-400b-a1de-d2d50fa22e35/public_url
[image: CompTIA A+ ce Certification]
https://www.credly.com/badges/92c41c07-1a0e-4a5e-aeda-df7cdaa71277/public_url

samuel@Azure:~$ az role assignment create --role "Storage Blob Data Contributor" --assignee "wnadim2992_gmail.com#EXT#@wnadim2992gmail.onmicrosoft.com" --scope "/subscriptions/2dd1404c-a6a5-4d0e-97f6-2dd07788eb73" --debug
cli.knack.cli: Command arguments: ['role', 'assignment', 'create', '--role', 'Storage Blob Data Contributor', '--assignee', 'wnadim2992_gmail.com#EXT#@wnadim2992gmail.onmicrosoft.com', '--scope', '/subscriptions/2dd1404c-a6a5-4d0e-97f6-2dd07788eb73', '--debug']
cli.knack.cli: init debug log:
Enable color in terminal.
cli.knack.cli: Event: Cli.PreExecute []
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate [<function CLILogging.on_global_arguments at 0x7f9d91e83c70>, <function OutputProducer.on_global_arguments at 0x7f9d91bec4c0>, <function CLIQuery.on_global_arguments at 0x7f9d91c1d6c0>]
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableCreate []
cli.azure.cli.core: Modules found from index for 'role': ['azure.cli.command_modules.role']
cli.azure.cli.core: Loading command modules:
cli.azure.cli.core: Name                  Load Time    Groups  Commands
cli.azure.cli.command_modules.role: This command or command group has been migrated to Microsoft Graph API. Please carefully review all breaking changes introduced during this migration: https://docs.microsoft.com/cli/azure/microsoft-graph-migration
cli.azure.cli.core: role                      0.026        16        56
cli.azure.cli.core: Total (1)                 0.026        16        56
cli.azure.cli.core: These extensions are not installed and will be skipped: ['azext_next']
cli.azure.cli.core: Loading extensions:
cli.azure.cli.core: Name                  Load Time    Groups  Commands  Directory
cli.azure.cli.core: ai-examples               0.130         1         1  /opt/az/lib/python3.10/site-packages/azure-cli-extensions/ai-examples
cli.azure.cli.core: Total (1)                 0.130         1         1
cli.azure.cli.core: Loaded 17 groups, 57 commands.
cli.azure.cli.core: Found a match in the command table.
cli.azure.cli.core: Raw command  : role assignment create
cli.azure.cli.core: Command table: role assignment create
cli.knack.cli: Event: CommandInvoker.OnPreCommandTableTruncate [<function AzCliLogging.init_command_file_logging at 0x7f9d9135f370>]
cli.azure.cli.core.azlogging: metadata file logging enabled - writing logs to '/home/samuel/.azure/commands/2022-06-24.11-50-21.role_assignment_create.133.log'.
az_command_data_logger: command args: role assignment create --role {} --assignee {} --scope {} --debug
cli.knack.cli: Event: CommandInvoker.OnPreArgumentLoad [<function register_global_subscription_argument..add_subscription_parameter at 0x7f9d91120dc0>]
cli.knack.cli: Event: CommandInvoker.OnPostArgumentLoad []
cli.knack.cli: Event: CommandInvoker.OnPostCommandTableCreate [<function register_ids_argument..add_ids_arguments at 0x7f9d911d1240>, <function register_cache_arguments..add_cache_arguments at 0x7f9d911d1360>]
cli.knack.cli: Event: CommandInvoker.OnCommandTableLoaded []
cli.knack.cli: Event: CommandInvoker.OnPreParseArgs []
cli.knack.cli: Event: CommandInvoker.OnPostParseArgs [<function OutputProducer.handle_output_argument at 0x7f9d91bec550>, <function CLIQuery.handle_query_parameter at 0x7f9d91c1d750>, <function register_ids_argument..parse_ids_arguments at 0x7f9d911d12d0>]
urllib3.connectionpool: Starting new HTTP connection (1): localhost:50342
urllib3.connectionpool: http://localhost:50342 "POST /oauth2/token HTTP/1.1" 200 2105
msrestazure.azure_active_directory: MSI: Retrieving a token from http://localhost:50342/oauth2/token, with payload {'resource': 'https://management.core.windows.net/'}
cli.azure.cli.core.util: Retrieving token for resource https://graph.microsoft.com/
urllib3.connectionpool: Starting new HTTP connection (1): localhost:50342
urllib3.connectionpool: http://localhost:50342 "POST /oauth2/token HTTP/1.1" 400 126
msrestazure.azure_active_directory: MSI: Retrieving a token from http://localhost:50342/oauth2/token, with payload {'resource': 'https://graph.microsoft.com/'}
msrestazure.azure_active_directory: MSI: Failed to retrieve a token from 'http://localhost:50342/oauth2/token' with an error of '400 Client Error: Bad Request for url: http://localhost:50342/oauth2/token'. This could be caused by the MSI extension not yet fully provisioned.
cli.azure.cli.core.auth.adal_authentication: throw requests.exceptions.HTTPError when doing MSIAuthentication:
Traceback (most recent call last):
File "/opt/az/lib/python3.10/site-packages/azure/cli/core/auth/adal_authentication.py", line 75, in set_token
super().set_token()
File "/opt/az/lib/python3.10/site-packages/msrestazure/azure_active_directory.py", line 598, in set_token
self.scheme, _, self.token = get_msi_token(self.resource, self.port, self.msi_conf)
File "/opt/az/lib/python3.10/site-packages/msrestazure/azure_active_directory.py", line 486, in get_msi_token
result.raise_for_status()
File "/opt/az/lib/python3.10/site-packages/requests/models.py", line 953, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: http://localhost:50342/oauth2/token
cli.azure.cli.core.util: azure.cli.core.util.handle_exception is called with an exception:
cli.azure.cli.core.util: Traceback (most recent call last):
File "/opt/az/lib/python3.10/site-packages/azure/cli/core/auth/adal_authentication.py", line 75, in set_token
super().set_token()
File "/opt/az/lib/python3.10/site-packages/msrestazure/azure_active_directory.py", line 598, in set_token
self.scheme, _, self.token = get_msi_token(self.resource, self.port, self.msi_conf)
File "/opt/az/lib/python3.10/site-packages/msrestazure/azure_active_directory.py", line 486, in get_msi_token
result.raise_for_status()
File "/opt/az/lib/python3.10/site-packages/requests/models.py", line 953, in raise_for_status
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: http://localhost:50342/oauth2/token
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/az/lib/python3.10/site-packages/azure/cli/core/auth/adal_authentication.py", line 87, in set_token
.format(err.response.status, err.response.reason))
AttributeError: 'Response' object has no attribute 'status'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/az/lib/python3.10/site-packages/knack/cli.py", line 231, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/init.py", line 663, in execute
raise ex
File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/init.py", line 726, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/init.py", line 697, in _run_job
result = cmd_copy(params)
File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/init.py", line 333, in call
return self.handler(*args, **kwargs)
File "/opt/az/lib/python3.10/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
return op(**command_args)
File "/opt/az/lib/python3.10/site-packages/azure/cli/command_modules/role/custom.py", line 166, in create_role_assignment
object_id, principal_type = _resolve_object_id_and_type(cmd.cli_ctx, assignee, fallback_to_object_id=True)
File "/opt/az/lib/python3.10/site-packages/azure/cli/command_modules/role/custom.py", line 1481, in _resolve_object_id_and_type
result = list(client.user_list(filter="userPrincipalName eq '{}'".format(assignee)))
File "/opt/az/lib/python3.10/site-packages/azure/cli/command_modules/role/msgrpah/_graph_client.py", line 256, in user_list
result = self._send("GET", "/users" + _filter_to_query(filter))
File "/opt/az/lib/python3.10/site-packages/azure/cli/command_modules/role/msgrpah/_graph_client.py", line 40, in _send
r = send_raw_request(self.cli_ctx, method, url, resource=self.resource, uri_parameters=param, body=body)
File "/opt/az/lib/python3.10/site-packages/azure/cli/core/util.py", line 958, in send_raw_request
token_info, _, _ = profile.get_raw_token(resource)
File "/opt/az/lib/python3.10/site-packages/azure/cli/core/_profile.py", line 378, in get_raw_token
msi_creds = MsiAccountTypes.msi_auth_factory(MsiAccountTypes.system_assigned, identity_id,
File "/opt/az/lib/python3.10/site-packages/azure/cli/core/_profile.py", line 700, in msi_auth_factory
return MSIAuthenticationWrapper(resource=resource)
File "/opt/az/lib/python3.10/site-packages/msrestazure/azure_active_directory.py", line 592, in init
self.set_token()
File "/opt/az/lib/python3.10/site-packages/azure/cli/core/auth/adal_authentication.py", line 89, in set_token
raise AzureResponseError('Failed to connect to MSI. Please make sure MSI is configured correctly.\n'
azure.cli.core.azclierror.AzureResponseError: Failed to connect to MSI. Please make sure MSI is configured correctly.
Get Token request returned: <Response [400]>
cli.azure.cli.core.azclierror: Failed to connect to MSI. Please make sure MSI is configured correctly.
Get Token request returned: <Response [400]>
az_command_data_logger: Failed to connect to MSI. Please make sure MSI is configured correctly.
Get Token request returned: <Response [400]>
cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x7f9d9135f5b0>]
az_command_data_logger: exit code: 1
cli.main: Command ran in 40.483 seconds (init: 0.107, invoke: 40.376)
telemetry.save: Save telemetry record of length 3201 in cache
telemetry.check: Negative: The /home/samuel/.azure/telemetry.txt was modified at 2022-06-24 11:49:48.053784, which in less than 600.000000 s
samuel@Azure:~$
samuel@Azure:~$ az role assignment create --role "Storage Blob Data Contributor" --assignee "wnadim2992_gmail.com#EXT#@wnadim2992gmail.onmicrosoft.com" --scope "/subscriptions/2dd1404c-a6a5-4d0e-97f6-2dd07788eb73"
This command or command group has been migrated to Microsoft Graph API. Please carefully review all breaking changes introduced during this migration: https://docs.microsoft.com/cli/azure/microsoft-graph-migration
Failed to connect to MSI. Please make sure MSI is configured correctly.
Get Token request returned: <Response [400]>
samuel@Azure:~$

authors: jiasli wnadim92 yonzhan