Repository navigation
Adding CLI Configuration for DisableInformerCache Flag - #2
Merged
Merged
Conversation
This is required for our helm charts where customers can opt to change the caching behaviour during restore.
mayankagg9722
requested review from
NarayanThiru,
anagg929,
bavneetsingh16 and
deeksha345
as code owners
May 15, 2025 03:35
|
The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR. Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions). pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>
|
CodeGen Tools Feedback CollectionThank you for using our CodeGen tool. We value your feedback, and we would like to know how we can improve our product. Please take a few minutes to fill our codegen survey |
bavneetsingh16
approved these changes
May 15, 2025
bavneetsingh16
pushed a commit
that referenced
this pull request
May 23, 2025
This is required for our helm charts where customers can opt to change the caching behaviour during restore.
bavneetsingh16
pushed a commit
that referenced
this pull request
May 23, 2025
This is required for our helm charts where customers can opt to change the caching behaviour during restore.
bavneetsingh16
pushed a commit
that referenced
this pull request
May 29, 2025
This is required for our helm charts where customers can opt to change the caching behaviour during restore.
bavneetsingh16
added a commit
that referenced
this pull request
May 30, 2025
* add pester tests for k8s-extension * Adding CLI Configuration for DisableInformerCache Flag (#2) This is required for our helm charts where customers can opt to change the caching behaviour during restore. * fix testcases for nodepool image issues (#5) * update readme and version release notes (#6) * fix: simplify logic and enable correct recording rule groups for managed prom extension (#7) * remove test cases specific to fork repo --------- Co-authored-by: Bavneet Singh <bavneetsingh@microsoft.com> Co-authored-by: Mayank Aggarwal <mayankagg9722@gmail.com> Co-authored-by: bragi92 <kadubey@microsoft.com>
prasannajsns
pushed a commit
that referenced
this pull request
Sep 16, 2026
* Update CSP version (Azure#50) * Adding CLI changes for AGC Scenario (#30) * Adding CLI changes for AGC Scenario * Adding CLI changes for AGC Scenario * remove special case for base_path, false scenario * Refactor CLI tool locations * Address mypy error * Ruff formatting * [az-cli][connectedk8s][MultiCloudConnector] Allow AgentNotInstalled to Agent conversion in connected clusters (Azure#46) * [az-cli][connectedk8s][MultiCloudConnector] Allow AgentNotInstalled to Agent conversion in connected clusters * Update CODEOWNERS for connectedk8s directory * ensure correlation propagation happens e2e for connectedk8s proxy (Azure#51) * propagate correlation-id to arc proxy * code clean up * add version infirmation * add doc * nit: fix logger statement * style check - code cleanup * remove redundant import * code clean up. * Fix telemetry "Unknown" errors: wrap string exceptions, add missing instrumentation, and catch-all decorato (Azure#53) * adding telemetry updates to update unknown * Fix telemetry reporting: wrap string exceptions in Exception() and add catch-all decorator - Replace all exception='string' calls with exception=Exception('string') across custom.py, _utils.py, and _precheckutils.py so that ExceptionName in telemetry shows 'Exception' instead of 'str' - Add _telemetry_catch_all decorator to top-level command functions (create, delete, update, upgrade) to catch unhandled exceptions, log them to telemetry with proper ExceptionName/FaultType, and re-raise as CLIInternalError instead of letting them become 'UnknownError' * Fix mypy and ruff: add type annotations to _telemetry_catch_all decorator and fix import sorting * Apply ruff format to fix CI format check * Remove accidentally committed files * Update csp version (Azure#55) * Fix azdev style pass with targeted cleanup (Azure#52) * fix(connectedk8s): make azdev style pass with targeted formatting and justified suppressions * fix(connectedk8s): narrow broad exception suppressions where low risk * Add rationale comments for style suppressions * Add rationale comments for exception handling in clientproxy helper * fix: ruff format clientproxyhelper/_utils.py * narrow broad-exception-caught to specific types in _precheckutils.py and _utils.py - _precheckutils.py: narrow 3 of 5 catches (KeyError/AttributeError/TypeError for watch loop, ValueError/TypeError for file writes after OSError handler) - _utils.py: remove module-level pylint disable, narrow 8 catches to specific types (ValueError/TypeError for file I/O, ValueError/KeyError for JSON parsing, TypeError/AttributeError/RecursionError for dict flattening, KeyError/TypeError for dict access), keep inline disable on 6 genuinely polymorphic catches (ARM calls, K8s API, retry loops) - _troubleshootutils.py: keep module-level disable (21 catches, deferred to follow-up) * fix: resolve all azdev style (pylint) violations to 10.00/10 - W0707 raise-missing-from: add 'from e/ex/exc' to re-raises across custom.py, _utils.py, _precheckutils.py - C0209 consider-using-f-string: convert .format() calls to f-strings in custom.py, _utils.py, _client_factory.py - R1714 consider-using-in: merge comparisons in custom.py, _precheckutils.py, _troubleshootutils.py - C0207 use-maxsplit-arg: add maxsplit=1 in custom.py - W1514 unspecified-encoding: add encoding='utf-8' to open() calls across all files - C0206 consider-using-dict-items: use .items() iteration in custom.py - C0325 superfluous-parens: remove extra parens on raise in custom.py - E1101 no-member: inline disable for HttpResponseError.response in custom.py - Module-level pylint disables for: too-many-lines, too-many-positional-arguments, too-many-statements, consider-using-with (cannot refactor without breaking API) - R0915/R0917 inline disables in _params.py, clientproxyhelper/_utils.py, clientproxyhelper/_proxylogic.py * fix: resolve flake8 E203/E122/E125/E115 formatting errors - Fix misplaced encoding='utf-8' argument formatting in multi-line open() calls - Remove misplaced pylint disable comments inside except block - Add too-many-lines disable at module level in _utils.py * style: apply ruff format to pass CI formatting check * fix: add linter exclusion for require_wait_command_if_no_wait * fix: use bare raise in ValidationError except block per review * fix: use bare raise in ArgumentUsageError except block per review * removing workload identity preview feature flag (Azure#60) * Add Diagnosis Logic for Helm Timeouts to improve failure classification (Azure#56) * Add diagnosability to helm timeouts * update logic to ensure image pulls get priority, and ensure only one fault is emitted per failure * logging changes * update error messages * review fixes * only look at secret metadata to avoid secret leak * fix unwrapped exception * Update Error Codes --------- Co-authored-by: John McCormick <mccormickjo@microsoft.com> * Fix ruff lint and format violations (Azure#64) * Pin ruff<0.16.0 to avoid breaking default rule changes * Fix W1203: use lazy % formatting in logger.debug calls * Fix I001: sort imports alphabetically in test_utils_.py * Apply ruff format to unformatted files * move kubeadm to be evaluated last (Azure#65) * Add prediagnostic telemetry for onboarding failures (Azure#54) * prediag * messagefix * logprediagerrors * historyupdate * duplicatestring * test * fix: prediagnostic telemetry improvements - Fix empty-log NotCompleted returning Passed instead of Incomplete - Fix double telemetry firing (job-execution-error + check-failure) - Fix NotApplicable for all checks when pod never ran - Fix Entra/CRD error message parsing (filter non-error lines) - Trim multi-line error messages to first line - Add always-save log for completed jobs - Add console diagnostic output block - Add State 3 telemetry for LinuxNodeExists and ClusterRoleBindings - Add Post_Diagnostic_Precheck_Fault_Type constant Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * prompt * test: add unit tests for prediagnostic telemetry functions - Add test_precheckutils.py with 14 unit tests covering: - send_prediagnostic_job_execution_error_telemetry (error type, status, reason) - send_prediagnostic_check_failure_telemetry (check results, error extraction, multiline trimming, non-error line filtering) - send_post_diagnostic_precheck_failure_telemetry (error type, check name/reason) - Use sys.modules stubs to avoid heavy runtime dependencies - Fix code corruption in _precheckutils.py (IDE selection leaked into source) - Remove temporary debug helper (_debug_add_extension_event) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * test: use setdefault for stubs to allow real modules in azdev CI Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * linterrors * linterrors * testfixes * fix unittest * removingunexpetedfiles * Fix test_utils_.py: add missing knack submodule stubs * Replace debug print() with logger.debug() in telemetry functions * Fix telemetry corruption caused by apostrophes in telemetry payloads The CLI telemetry client uses json.loads(data.replace(chr(39), chr(34))) which converts apostrophes to double quotes, breaking JSON parsing and dropping entire telemetry batches. Changes: - _precheckutils.py: Replace Couldn't with Could not in set_exception calls - custom.py: Replace Couldn't/couldn't with Could not/could not in set_exception calls, remove single quotes around 'linux' in telemetry strings - _utils.py: Strip apostrophes from helm_error_detail before add_extension_event calls * Move telemetry key strings to constants Address PR review: move Context.Default.AzureCLI.onboardingErrorType and Context.Default.AzureCLI.onboardingErrorMessage to _constants.py as Telemetry_Onboarding_Error_Type_Key and Telemetry_Onboarding_Error_Message_Key * Address PR Azure#54 review comments: refactor telemetry, add comments - Extract common _send_onboarding_telemetry_event() helper - Refactor check_results to generic list structure with componentName/checkResult/error - Move job status and check result strings to _constants.py - Select newest pod by creation_timestamp to avoid stale logs - Extract _parse_entra_check_result() and _parse_crd_check_result() - Revert helm chart version bump (separate PR) - Replace print() with logger.warning() in custom.py - Add clarifying comment for DNS error strings in _utils.py - Add comprehensive comments throughout _precheckutils.py * Fix prediagnostic telemetry: use set_exception, encode check results in fault_type - Replace add_extension_event with set_exception for GDPR-whitelisted fields - Encode individual check results (dns/outbound/entra/crd) in fault_type string - Add common _send_onboarding_telemetry_event helper - Convert print() calls to logger.debug()/logger.info() - Select latest pod by creationTimestamp - Extract _parse_entra_check_result into separate function * refactor(telemetry): structured component list for prediagnostic check results Address bgriddaluru PR review comments #2 and #3: - Replace string-based error extraction with structured add_extension_event payloads containing generic component lists [{componentName, checkResult, error}] - ADX dashboard queries no longer need custom name parsing (dnsCheck, dnsError) - Error details extracted from diagnoser_output by component keyword matching - Wire up send_prediagnostic_check_failure_telemetry in fetch_diagnostic_checks_results - Keep set_exception fault_type encoding for ADX backward compatibility * Add informational telemetry for non-2xx outbound connectivity responses During pre-onboarding diagnostics, when an outbound connectivity check receives a non-2xx HTTP response (4xx/5xx) that is NOT a connection-level failure (code 000), emit an informational extension event with fault type 'prediagnostics-outbound-non2xx-response'. This preserves the existing PASS behavior while surfacing the unexpected response codes in ADX for monitoring and investigation. Changes: - _constants.py: Add Outbound_Connectivity_Non2xx_Response_Type constant - _utils.py: Emit telemetry in 3 code paths (cluster-connect, onboarding, troubleshoot) when response code starts with '4' or '5' - _precheckutils.py: Improve per-check telemetry emission with structured fault descriptions and SERVFAIL detection - Unit tests added for all new telemetry paths Verified in ADX: events appear with correct fault type and message containing endpoint, code, and target information. * Replace standalone test scripts with Pester-format PrediagnosticTelemetry.Tests.ps1 * fix: ruff lint (PIE810), ruff format, and mypy type-arg errors for prediagnostic telemetry * fix: ruff format test_precheckutils.py and test_utils_.py * Remove per-component set_exception loop; send single aggregate fault per onboarding failure * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Address PR review: explain 404 in Entra check docstring, replace for-loop with if-guard for single pod * Add wheel for E2E testing * Add pylint disable comments for new code * Fix global statement syntax for ruff compatibility * Apply ruff format to PR files * fix: restore onboarding_error_type usage in helm_error_detail (lint F841) --------- Co-authored-by: Atchut Kumar Barli <atchut@gmail.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Add 'Arc' keyword to --proxy-skip-range for Azure Arc private-link endpoints (Azure#61) * Add 'Arc' keyword for --proxy-skip-range to expand Azure Arc private-link endpoints * Add unit tests for Arc proxy-skip-range keyword expansion * Add Arc keyword help text * Bump Version * Revert "Bump Version" This reverts commit 6c4f3d0. Drops the 1.10.13 -> 1.10.14 version bump from the PR; the Arc proxy-skip-range feature can be published under a batched release bump instead. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: aa3f5a60-e3b1-49b4-a4e5-5d656000d376 * Text modify * Extract Arc proxy-skip-range endpoints into a constant and simplify help text Move the Arc private-link endpoint suffixes into a shared Arc_Private_Link_Endpoints constant and consume it from get_arc_proxy_skip_range_endpoints (behavior unchanged). Simplify the --proxy-skip-range help text and fold the Arc keyword into the existing examples, dropping the dedicated private-link example blocks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add proxy test for the Arc keyword in --proxy-skip-range Assert that 'az connectedk8s update --proxy-skip-range Arc' expands to the Azure Arc private-link endpoints in the agent noProxy value. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Added dedup functionality and tests --------- Co-authored-by: Sai Tareesh Reddy Eppeti <seppeti@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: aa3f5a60-e3b1-49b4-a4e5-5d656000d376 * Fix pre-onboarding diagnostic checks grading NotCompleted job as Pass (Azure#67) * Fix pre-onboarding diagnostic checks grading NotCompleted job as Passed when partial container output is present * Update clusterdiagnosticchecks image version to 1.36.1 * Fix mypy no-any-return in get_cloud_based_domain: cast endpoints.active_directory to str before split * ruff format custom.py * Bump version to 1.11.2 and update HISTORY.rst * Fix azdev scan false positive in test_utils_: use string concat for PEM headers (Azure#69) * update proxy tests to build the url at runtime to avoid failing the (Azure#71) azdev cred scan Co-authored-by: John McCormick <mccormickjo@microsoft.com> * Remove fork-specific testing directory (not for upstream) * Remove committed whl artifact and revert fork-specific workflow changes --------- Co-authored-by: shlokpatel57 <shlokpatel@microsoft.com> Co-authored-by: junw98 <junweihe@microsoft.com> Co-authored-by: ILAVELAN KANNIAPPAN <ikanni@microsoft.com> Co-authored-by: Jianyun <jianyunt@users.noreply.github.com> Co-authored-by: revchandra <revchandra@microsoft.com> Co-authored-by: Ashlee Nanze <ashleenanzework@gmail.com> Co-authored-by: Pynk Fysh <34255011+deeksha345@users.noreply.github.com> Co-authored-by: John McCormick <mccormickjo@microsoft.com> Co-authored-by: Atchut Kumar Barli <atchut@gmail.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Tareesh <saitareeshreddy12@gmail.com> Co-authored-by: Sai Tareesh Reddy Eppeti <seppeti@microsoft.com> Co-authored-by: Ashlee Nanze <ashleenanze@microsoft.com> Copilot-Session: aa3f5a60-e3b1-49b4-a4e5-5d656000d376
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is required for our helm charts where customers can opt to change the caching behaviour during restore.
This checklist is used to make sure that common guidelines for a pull request are followed.
Related command
Create command:
az k8s-extension create --name azure-aks-backup --extension-type Microsoft.DataProtection.Kubernetes --scope cluster --cluster-name p1a-scaleTest-cluster --resource-group priyansh-p1a --cluster-type managedClusters --release-train stable --configuration-settings blobContainer=extension-aks storageAccountResourceGroup=priyansh-p1a storageAccount=p1ascalesa storageAccountSubscriptionId=a54fc8c4-a7cd-4ae1-b404-b2c317c2e58c disableInformerCache=true cpuRequest=1000m cpuLimit=1200m memoryRequest=300Mi memoryLimit=1800MiUpdate Command
az k8s-extension update --name azure-aks-backup --cluster-name p1a-scaleTest-cluster --resource-group priyansh-p1a --cluster-type managedClusters --release-train stable --configuration-settings blobContainer=extension-aks storageAccountResourceGroup=priyansh-p1a storageAccount=p1ascalesa storageAccountSubscriptionId=a54fc8c4-a7cd-4ae1-b404-b2c317c2e58c disableInformerCache=true cpuRequest=1000m cpuLimit=1200m memoryRequest=300Mi memoryLimit=1800MiGeneral Guidelines
azdev style <YOUR_EXT>locally? (pip install azdevrequired)python scripts/ci/test_index.py -qlocally? (pip install wheel==0.30.0required)For new extensions:
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.jsonautomatically.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.