)]}'
{"releasenotes/notes/remove-nova-helper-retries-7065f3ce8c134d0e.yaml":[{"robot_id":"zuul","robot_run_id":"6902600fc50f4ee3a0d2a95a01c7456a","url":"https://zuul.teim.app/t/main/buildset/6902600fc50f4ee3a0d2a95a01c7456a","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"d03f11b240ea76740e5b79bb68bdebdb4428032c","patch_set":27,"id":"5d82fadd_33727bfe","line":8,"updated":"2026-04-27 10:50:50.000000000","message":"The release note YAML file is missing a trailing newline. The file ends with \u0027adapter configuration.\u0027 without a final newline character.\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: Minor style issue. Some git diffs and editors show a \u0027No newline at end of file\u0027 marker. POSIX text files should end with a newline.\n\n**Suggestion**:\nAdd a trailing newline to the release note YAML file.","commit_id":"f3e1ae18ef192915bec14c9779ba12cb22a9db12"}],"watcher/common/clients.py":[{"robot_id":"zuul","robot_run_id":"5c02caa6791840248a2737591155e488","url":"https://zuul.teim.app/t/main/buildset/5c02caa6791840248a2737591155e488","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"cb1aacbd7cd70eadebbaaf8d310b49bd60001e37","patch_set":24,"id":"7c991306_6f0c09f8","line":116,"updated":"2026-02-24 11:37:57.000000000","message":"get_sdk_connection() does not handle the case when neither context nor session is provided with retry parameters\n\n**Severity**: WARNING | **Confidence**: 0.7\n\n**Impact**: When neither context nor session is provided, the function creates a new session with ka_loading.load_session_from_conf_options() and returns a connection.Connection with oslo_conf\u003dCONF. The connect_retries and connect_retry_delay parameters are not used in this code path, so they would be ignored.\n\n**Suggestion**:\nEither document that retry parameters are only used with context-based connections, or implement retry configuration for the session-based path as well.","commit_id":"6584fb2957e9faab17a055394d9fb43a862850f9"},{"robot_id":"zuul","robot_run_id":"6902600fc50f4ee3a0d2a95a01c7456a","url":"https://zuul.teim.app/t/main/buildset/6902600fc50f4ee3a0d2a95a01c7456a","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"d03f11b240ea76740e5b79bb68bdebdb4428032c","patch_set":27,"id":"e74500a5_d63d1474","line":52,"updated":"2026-04-27 10:50:50.000000000","message":"The get_sdk_connection() function now has 7 parameters (conf_group, session, context, interface, region_name, connect_retries, connect_retry_delay), exceeding the recommended maximum of 6 parameters. The interface and region_name parameters are no longer used directly but only as overrides for CONF values.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: The function signature is becoming unwieldy. The interface and region_name parameters are now only used as fallback overrides, making their purpose less clear. Future additions of more adapter options would further bloat the parameter list.\n\n**Suggestion**:\nConsider removing the interface and region_name parameters and relying solely on CONF-based resolution, since no callers pass explicit values for these that differ from what the function would read from CONF. Alternatively, accept a single options dict for adapter overrides.","commit_id":"f3e1ae18ef192915bec14c9779ba12cb22a9db12"},{"robot_id":"zuul","robot_run_id":"6902600fc50f4ee3a0d2a95a01c7456a","url":"https://zuul.teim.app/t/main/buildset/6902600fc50f4ee3a0d2a95a01c7456a","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"d03f11b240ea76740e5b79bb68bdebdb4428032c","patch_set":27,"id":"96cc0e93_bd19d074","line":70,"updated":"2026-04-27 10:50:50.000000000","message":"The docstring for connect_retries and connect_retry_delay has continuation lines that do not align with the opening :param text, breaking the standard OpenStack docstring formatting convention.\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: Minor documentation readability issue. The docstring format does not follow the standard OpenStack :param continuation style, which may cause rendering issues in generated API documentation.\n\n**Suggestion**:\nReformat the docstring continuation lines to align with the opening description text:\n    :param connect_retries: Number of times to retry in case of\n        connection errors.\n    :param connect_retry_delay: Amount of time to wait between\n        retries for connection errors.","commit_id":"f3e1ae18ef192915bec14c9779ba12cb22a9db12"},{"robot_id":"zuul","robot_run_id":"6902600fc50f4ee3a0d2a95a01c7456a","url":"https://zuul.teim.app/t/main/buildset/6902600fc50f4ee3a0d2a95a01c7456a","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"d03f11b240ea76740e5b79bb68bdebdb4428032c","patch_set":27,"id":"86dd200b_346a194b","line":91,"updated":"2026-04-27 10:50:50.000000000","message":"The connect_retries and connect_retry_delay handling in get_sdk_connection() follows the same pattern (check if caller provided value, else read from CONF, then add to extra_args). This duplicated pattern could be extracted into a small helper or loop.\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Would reduce code duplication and make it easier to add more adapter options in the future without repeating the same lookup pattern.\n\n**Recommendation**:\nConsider using a loop over a list of (option_name, caller_value) tuples to populate extra_args:\n    for opt_name, value in [(\u0027connect_retries\u0027, connect_retries),\n                             (\u0027connect_retry_delay\u0027, connect_retry_delay)]:\n        if value is not None:\n            extra_args[opt_name] \u003d value\n        elif opt_name in CONF[conf_group] and getattr(CONF[conf_group], opt_name) is not None:\n            extra_args[opt_name] \u003d getattr(CONF[conf_group], opt_name)","commit_id":"f3e1ae18ef192915bec14c9779ba12cb22a9db12"},{"robot_id":"zuul","robot_run_id":"6902600fc50f4ee3a0d2a95a01c7456a","url":"https://zuul.teim.app/t/main/buildset/6902600fc50f4ee3a0d2a95a01c7456a","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"d03f11b240ea76740e5b79bb68bdebdb4428032c","patch_set":27,"id":"46b34a21_94ccf221","line":92,"updated":"2026-04-27 10:50:50.000000000","message":"The connect_retries/connect_retry_delay config lookup in get_sdk_connection() silently ignores missing options by checking \u0027opt_name in CONF[conf_group]\u0027, but this check will always return True if the option is registered even if its value is None. When users have not explicitly set connect_retries, the fallback path may pass None to the SDK Connection, which disables retries entirely -- differing from the previous default of 3 retries.\n\n**Severity**: HIGH | **Confidence**: 0.8\n\n**Risk**: Existing deployments that relied on the default 3 retries via http_retries will silently lose retry behaviour if the DeprecatedOpt mapping does not resolve connect_retries from the old option name.\n\n**Priority**: Before merge\n**Why This Matters**: This is a behavioural regression: operators who did not explicitly configure retries but relied on the default of 3 will get zero retries after this change if the deprecation fallback does not supply a value.\n\n**Recommendation**:\nVerify that the DeprecatedOpt mapping in _deprecations() correctly maps the old http_retries default value (3) to connect_retries when the user has not set the new option. Consider adding a test that asserts the default retry count is preserved when only the deprecated option is configured, and another test for when neither option is set.","commit_id":"f3e1ae18ef192915bec14c9779ba12cb22a9db12"}],"watcher/common/nova_helper.py":[{"robot_id":"zuul","robot_run_id":"f6d3d0c7757c4a34ae2d8a60fd034c3e","url":"https://zuul.teim.app/t/main/buildset/f6d3d0c7757c4a34ae2d8a60fd034c3e","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"16c607ce11b8aef847dd9fca1dc44e70fbc55138","patch_set":3,"id":"03ae2b7d_411b0b48","line":140,"updated":"2026-02-04 12:20:50.000000000","message":"Potential for improving observability of retry behavior with logging\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Better observability of connection retry behavior would help operators troubleshoot transient connection issues with the Nova service\n\n**Recommendation**:\nThe custom nova_retries decorator provided detailed logging of retry attempts. Consider adding logging or monitoring to track when retries occur through openstacksdk configuration or logging decorators.","commit_id":"93d8d32c7a6cf9614f4b2b301c014a5031079355"},{"robot_id":"zuul","robot_run_id":"08e80233aa6842198a055e9ee294a62f","url":"https://zuul.teim.app/t/main/buildset/08e80233aa6842198a055e9ee294a62f","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"62269454c072f88dfeef89b06fa6f6532afeb286","patch_set":4,"id":"cd4ef4ec_b8d7dcbf","line":317,"updated":"2026-02-06 13:37:08.000000000","message":"Consider emitting a deprecation warning when deprecated options are used\n\n**Severity**: SUGGESTION | **Confidence**: 0.6\n\n**Benefit**: Improved observability - logs would show when deprecated configuration options are being used, helping operators identify where they need to update their configuration files\n\n**Recommendation**:\nOptionally add a deprecation warning log message when http_retries or http_retry_interval are explicitly set (non-default values). This would help operators transition to using the native openstacksdk configuration options directly.","commit_id":"c9ad0fd487cf947d7cb1892a81c4d9afbc4d027d"},{"robot_id":"zuul","robot_run_id":"08e80233aa6842198a055e9ee294a62f","url":"https://zuul.teim.app/t/main/buildset/08e80233aa6842198a055e9ee294a62f","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"62269454c072f88dfeef89b06fa6f6532afeb286","patch_set":4,"id":"3239e8e5_764145cc","line":317,"updated":"2026-02-06 13:37:08.000000000","message":"Consider whether status_code_retries should also be configured for completeness\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: More comprehensive retry coverage - openstacksdk supports both connection retries and status code retries for certain HTTP status codes (e.g., 503 Service Unavailable)\n\n**Recommendation**:\nConsider adding configuration for status_code_retries if Watcher previously handled HTTP 503 errors or other retryable status codes. This would provide more complete retry coverage beyond just connection errors.","commit_id":"c9ad0fd487cf947d7cb1892a81c4d9afbc4d027d"},{"robot_id":"zuul","robot_run_id":"08e80233aa6842198a055e9ee294a62f","url":"https://zuul.teim.app/t/main/buildset/08e80233aa6842198a055e9ee294a62f","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"62269454c072f88dfeef89b06fa6f6532afeb286","patch_set":4,"id":"e7397311_e0b4b521","line":317,"updated":"2026-02-06 13:37:08.000000000","message":"Missing test coverage for configuration override logic that maps Watcher\u0027s http_retries to connect_retries and http_retry_interval to connect_retry_delay\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: Without tests, future refactoring could break the configuration mapping, causing retries to not be configured as expected. Users may experience different behavior if the override logic is accidentally removed or modified.\n\n**Suggestion**:\nAdd test coverage for the _override_deprecated_configs() method to verify that http_retries correctly sets connect_retries and http_retry_interval correctly sets connect_retry_delay in the keystoneauth adapter options","commit_id":"c9ad0fd487cf947d7cb1892a81c4d9afbc4d027d"},{"robot_id":"zuul","robot_run_id":"08e80233aa6842198a055e9ee294a62f","url":"https://zuul.teim.app/t/main/buildset/08e80233aa6842198a055e9ee294a62f","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"62269454c072f88dfeef89b06fa6f6532afeb286","patch_set":4,"id":"2ab347b6_d6879e67","line":321,"updated":"2026-02-06 13:37:08.000000000","message":"Typo in comment: \u0027adpater\u0027 should be \u0027adapter\u0027\n\n**Severity**: HIGH | **Confidence**: 1.0\n\n**Risk**: Minor code quality issue - incorrect spelling in documentation could confuse future maintainers\n\n**Priority**: Before merge\n**Why This Matters**: Documentation typos reduce code readability and could mislead developers trying to understand the keystoneauth adapter configuration\n\n**Recommendation**:\nFix the typo on line 321: change \u0027adpater\u0027 to \u0027adapter\u0027 in the comment explaining configuration override","commit_id":"c9ad0fd487cf947d7cb1892a81c4d9afbc4d027d"},{"robot_id":"zuul","robot_run_id":"dc2330b7f32d46d5847b564afaf6ed71","url":"https://zuul.teim.app/t/main/buildset/dc2330b7f32d46d5847b564afaf6ed71","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"f0e36d5937528266ab29ce971b39e20fbc9229f1","patch_set":6,"id":"63a29dbe_905ad312","line":1,"updated":"2026-02-06 14:32:49.000000000","message":"Add upgrade/release notes documenting the retry behavior change\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: This change alters how connection retries work from custom decorator to keystoneauth1 adapter options. Operators should understand this behavior change.\n\n**Recommendation**:\nConsider adding a release note explaining that retry behavior is now handled by keystoneauth1 adapter options, and that operators can tune connect_retries and connect_retry_delay in the [nova] config section.","commit_id":"e2902e9e04421b5525dcb34ef26d4f7b5fd06024"},{"robot_id":"zuul","robot_run_id":"11c988506cea4ae2b344c1b6b06f4e9c","url":"https://zuul.teim.app/t/main/buildset/11c988506cea4ae2b344c1b6b06f4e9c","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"2ab00286d13aed2a7defc6f99c28ea439222320b","patch_set":7,"id":"12a37cb3_e25dd99b","line":20,"updated":"2026-02-06 17:38:39.000000000","message":"The time module is imported but no longer used after removing the nova_retries decorator which called time.sleep(). The import should be removed.\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: Dead import increases code clutter and minor overhead. Should be cleaned up for better code hygiene.\n\n**Suggestion**:\nRemove \u0027import time\u0027 from nova_helper.py since time.sleep() is no longer called after removing the nova_retries decorator.","commit_id":"52a6c92e891563c6b2a495d1a9329f49010e9f3a"},{"robot_id":"zuul","robot_run_id":"11c988506cea4ae2b344c1b6b06f4e9c","url":"https://zuul.teim.app/t/main/buildset/11c988506cea4ae2b344c1b6b06f4e9c","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"2ab00286d13aed2a7defc6f99c28ea439222320b","patch_set":7,"id":"74b7b18e_0afcd540","line":23,"updated":"2026-02-06 17:38:39.000000000","message":"The removal of the \u0027from keystoneauth1 import exceptions as ksa_exc\u0027 import leaves \u0027ksa_exc\u0027 unused in nova_helper.py, but it should be verified that no other code depends on this import.\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: Import cleanup is good, but needs verification that ksa_exc is not referenced elsewhere in the file or expected to be available for other purposes.\n\n**Suggestion**:\nThe diff shows ksa_exc import was removed along with the nova_retries decorator. Verify by searching the entire file that ksa_exc is not referenced anywhere else.","commit_id":"52a6c92e891563c6b2a495d1a9329f49010e9f3a"},{"robot_id":"zuul","robot_run_id":"11c988506cea4ae2b344c1b6b06f4e9c","url":"https://zuul.teim.app/t/main/buildset/11c988506cea4ae2b344c1b6b06f4e9c","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"2ab00286d13aed2a7defc6f99c28ea439222320b","patch_set":7,"id":"6badfae4_72f1516b","line":319,"updated":"2026-02-06 17:38:39.000000000","message":"The code comment could be enhanced with more detail about why this mapping is done and what behavior is expected.\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Improved documentation helps future maintainers understand the relationship between Watcher\u0027s configuration options and openstacksdk\u0027s adapter options.\n\n**Recommendation**:\nExpand the comment to include a reference to keystoneauth1 adapter documentation and a note about behavioral differences between the old and new retry mechanisms.","commit_id":"52a6c92e891563c6b2a495d1a9329f49010e9f3a"},{"robot_id":"zuul","robot_run_id":"11c988506cea4ae2b344c1b6b06f4e9c","url":"https://zuul.teim.app/t/main/buildset/11c988506cea4ae2b344c1b6b06f4e9c","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"2ab00286d13aed2a7defc6f99c28ea439222320b","patch_set":7,"id":"763baa75_268c4a7b","line":322,"updated":"2026-02-06 17:38:39.000000000","message":"Consider adding a release note to document the migration from custom retry logic to openstacksdk\u0027s built-in retry mechanism\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Release notes help operators understand what changed, why, and whether they need to adjust their configurations or monitoring.\n\n**Recommendation**:\nAdd a new release note file that explains the custom nova_retries decorator was removed, retry behavior is now handled by openstacksdk, and any behavioral differences operators should be aware of.","commit_id":"52a6c92e891563c6b2a495d1a9329f49010e9f3a"},{"robot_id":"zuul","robot_run_id":"11c988506cea4ae2b344c1b6b06f4e9c","url":"https://zuul.teim.app/t/main/buildset/11c988506cea4ae2b344c1b6b06f4e9c","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"2ab00286d13aed2a7defc6f99c28ea439222320b","patch_set":7,"id":"27da5351_60e579e5","line":322,"updated":"2026-02-06 17:38:39.000000000","message":"The mapping from http_retries to connect_retries may have different retry semantics. The custom decorator retried on ksa_exc.ConnectionError, but keystoneauth1\u0027s connect_retries typically only handles initial connection setup failures.\n\n**Severity**: HIGH | **Confidence**: 0.8\n\n**Risk**: Retry behavior change could lead to different failure handling. The custom decorator caught ksa_exc.ConnectionError at the API call level, while connect_retries typically only handles initial TCP/TLS connection establishment failures.\n\n**Priority**: Before merge\n**Why This Matters**: This represents a behavioral change in error handling. The keystoneauth1 adapter\u0027s connect_retries is more narrowly focused on initial connection establishment. This could result in fewer retries in certain failure scenarios.\n\n**Recommendation**:\n1) Verify that keystoneauth1.adapter\u0027s connect_retries handles the same error types as the original ksa_exc.ConnectionError catcher. 2) Consider adding integration tests that simulate connection failures. 3) Document behavioral differences in release notes.","commit_id":"52a6c92e891563c6b2a495d1a9329f49010e9f3a"},{"robot_id":"zuul","robot_run_id":"15c799f2a74042d2bb19cca8bb74c4ca","url":"https://zuul.teim.app/t/main/buildset/15c799f2a74042d2bb19cca8bb74c4ca","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"b101ed59b0bd4dfd5519222b39f001a040fdd9e6","patch_set":8,"id":"9c90d599_c821753a","line":318,"updated":"2026-02-10 13:13:00.000000000","message":"Consider documenting the retry behavior difference in class docstring\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Documenting that retries are now handled by openstacksdk\u0027s keystoneauth adapter rather than application-level decorator helps maintainers understand the architectural change and troubleshoot connection issues.\n\n**Recommendation**:\nAdd a note to the NovaHelper class docstring explaining that HTTP connection retries are handled by openstacksdk\u0027s keystoneauth adapter via connect_retries and connect_retry_delay configuration options, not by application-level retry logic.","commit_id":"4a789b4758f2720564e37301cb2108f5c6088335"},{"robot_id":"zuul","robot_run_id":"15c799f2a74042d2bb19cca8bb74c4ca","url":"https://zuul.teim.app/t/main/buildset/15c799f2a74042d2bb19cca8bb74c4ca","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"b101ed59b0bd4dfd5519222b39f001a040fdd9e6","patch_set":8,"id":"b8b5e849_d005d60f","line":347,"updated":"2026-02-10 13:13:00.000000000","message":"Consider adding logging when openstacksdk retry configuration is applied\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Adding debug logging when retry configuration is overridden would help operators and troubleshooters verify that the SDK is using the correct retry values, especially important since this is a behavior change from application-level to SDK-level retries.\n\n**Recommendation**:\nAdd LOG.debug() statement after setting connect_retries and connect_retry_delay to log the configured values, similar to: \u0027LOG.debug(\u0027Configured Nova SDK with connect_retries\u003d%s, connect_retry_delay\u003d%s\u0027, CONF.nova.http_retries, retry_interval)\u0027","commit_id":"4a789b4758f2720564e37301cb2108f5c6088335"},{"robot_id":"zuul","robot_run_id":"15c799f2a74042d2bb19cca8bb74c4ca","url":"https://zuul.teim.app/t/main/buildset/15c799f2a74042d2bb19cca8bb74c4ca","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"b101ed59b0bd4dfd5519222b39f001a040fdd9e6","patch_set":8,"id":"dafb199c_b9e2e7d7","line":918,"updated":"2026-02-10 13:13:00.000000000","message":"Exception handling in abort_live_migrate catches generic \u0027exception\u0027 instead of specific exception class\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: The broad exception handler may catch unexpected exceptions including SystemExit or KeyboardInterrupt, potentially masking serious errors and making debugging difficult.\n\n**Suggestion**:\nReplace \u0027except exception as e:\u0027 with a specific exception type. Based on the context, this should likely catch sdk_exc.SDKException or a more specific exception class for the abort operation failure.","commit_id":"4a789b4758f2720564e37301cb2108f5c6088335"},{"robot_id":"zuul","robot_run_id":"15c799f2a74042d2bb19cca8bb74c4ca","url":"https://zuul.teim.app/t/main/buildset/15c799f2a74042d2bb19cca8bb74c4ca","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"b101ed59b0bd4dfd5519222b39f001a040fdd9e6","patch_set":8,"id":"31766ed4_165460bd","line":921,"updated":"2026-02-10 13:13:00.000000000","message":"LOG.exception() call without exception context in abort_live_migrate\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: Using LOG.exception() without an actual exception being handled (when catching \u0027exception\u0027 which may not derive from Exception) may not log useful stack trace information and could mask errors.\n\n**Suggestion**:\nEither use LOG.error() with the exception message if not re-raising, or ensure the caught exception derives from Exception. Consider logging specific error details from the exception object.","commit_id":"4a789b4758f2720564e37301cb2108f5c6088335"},{"robot_id":"zuul","robot_run_id":"8a593c7be7c5450bb6e44b03672671ed","url":"https://zuul.teim.app/t/main/buildset/8a593c7be7c5450bb6e44b03672671ed","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"03619b2dfc930fdd8801fab811fadde9527c61e1","patch_set":9,"id":"44b98752_27ddab47","line":1,"updated":"2026-02-10 15:28:56.000000000","message":"Consider adding a release note documenting the migration from custom retry logic to openstacksdk built-in retries for operator awareness\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Helps operators understand the change in retry behavior and configuration options\n\n**Recommendation**:\nAdd a release note explaining that the custom nova_retries decorator has been removed and that retries are now handled by openstacksdk\u0027s connect_retries and connect_retry_delay configuration options via keystoneauth1 adapter","commit_id":"0f468ac0c72ba61fbb50de1f761af11012d569df"},{"robot_id":"zuul","robot_run_id":"8a593c7be7c5450bb6e44b03672671ed","url":"https://zuul.teim.app/t/main/buildset/8a593c7be7c5450bb6e44b03672671ed","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"03619b2dfc930fdd8801fab811fadde9527c61e1","patch_set":9,"id":"f4894c52_dc812b71","line":281,"updated":"2026-02-10 15:28:56.000000000","message":"Consider adding a more detailed docstring to _override_deprecated_configs explaining the configuration mapping relationship\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Improves code maintainability by documenting why specific configuration options are overridden and their relationship to keystoneauth1 adapter\n\n**Recommendation**:\nEnhance the docstring for _override_deprecated_configs to explain that Watcher uses http_retries/http_retry_interval naming but openstacksdk/keystoneauth1 use connect_retries/connect_retry_delay, so the method maps these deprecated Watcher options to their SDK equivalents","commit_id":"0f468ac0c72ba61fbb50de1f761af11012d569df"},{"robot_id":"zuul","robot_run_id":"40d78c4952d34c0da9532bdfe0a1a23d","url":"https://zuul.teim.app/t/main/buildset/40d78c4952d34c0da9532bdfe0a1a23d","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"d4871c9ebdbadeab16e542bd8a689cd338519f41","patch_set":10,"id":"67cfb75e_a976b8a4","line":346,"updated":"2026-02-11 08:40:44.000000000","message":"Consider adding a release note or migration guide documenting the retry behavior change from application-level to adapter-level\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Helps operators understand the retry mechanism change and ensures proper observability during debugging\n\n**Recommendation**:\nAdd a note in reno/ or documentation explaining that retry behavior is now handled by openstacksdk\u0027s keystoneauth1 adapter, and that operators should check adapter logs instead of application logs for retry information","commit_id":"e90046b78db2465234c5d3324bbdd3101aa52b28"},{"robot_id":"zuul","robot_run_id":"4d9fde3223324776b3ba15fc38735b4f","url":"https://zuul.teim.app/t/main/buildset/4d9fde3223324776b3ba15fc38735b4f","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"562c5ed9c25e92b1b17b7d5e531563313d57f396","patch_set":11,"id":"9d181ee9_30f56191","line":326,"updated":"2026-02-11 18:17:26.000000000","message":"Consider adding a release note for this change since it removes internal retry logic in favor of openstacksdk native retries\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Release notes help operators understand behavior changes when upgrading. This change replaces custom retry logic with openstacksdk\u0027s built-in mechanism.\n\n**Recommendation**:\nAdd a release note documenting that nova_retries decorator has been removed and connection retries are now handled by openstacksdk\u0027s keystoneauth1 adapter.","commit_id":"5030eec49a11a04deb990a326cf0967e0eb8678b"},{"robot_id":"zuul","robot_run_id":"adc956a3bf784f6eb12e4bf2dd0deae7","url":"https://zuul.teim.app/t/main/buildset/adc956a3bf784f6eb12e4bf2dd0deae7","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"0c34ff396d13a9759c5b00b57fafa555a2ed913d","patch_set":14,"id":"45bc888b_e1c1cd57","line":37,"updated":"2026-02-17 19:25:40.000000000","message":"Logging of retry attempts has been reduced. The old nova_retries decorator logged warning messages for each retry attempt; new openstacksdk adapter may provide less visibility.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: Reduced visibility into retry attempts may make troubleshooting connection issues more difficult. Operators may lose visibility into retry occurrences.\n\n**Suggestion**:\nConsider adding logging to track retry behavior if openstacksdk does not provide sufficient logging via adapter configuration or custom logging.","commit_id":"2fd56c9ecb1e219cd8d7e47a857d5848aa00ae9b"},{"robot_id":"zuul","robot_run_id":"adc956a3bf784f6eb12e4bf2dd0deae7","url":"https://zuul.teim.app/t/main/buildset/adc956a3bf784f6eb12e4bf2dd0deae7","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"0c34ff396d13a9759c5b00b57fafa555a2ed913d","patch_set":14,"id":"2636db25_46dc71fb","line":374,"updated":"2026-02-17 19:25:40.000000000","message":"Consider adding a release note to document the retry mechanism change and any behavioral differences that operators should be aware of.\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Helps operators understand the retry behavior change and troubleshoot issues. Provides visibility into migration from custom retry logic to openstacksdk adapter.\n\n**Recommendation**:\nAdd a release note explaining: (1) retry mechanism changed from application-level to transport-level, (2) config options remain the same, (3) behavioral differences.","commit_id":"2fd56c9ecb1e219cd8d7e47a857d5848aa00ae9b"},{"robot_id":"zuul","robot_run_id":"adc956a3bf784f6eb12e4bf2dd0deae7","url":"https://zuul.teim.app/t/main/buildset/adc956a3bf784f6eb12e4bf2dd0deae7","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"0c34ff396d13a9759c5b00b57fafa555a2ed913d","patch_set":14,"id":"f40ef781_550932dd","line":374,"updated":"2026-02-17 19:25:40.000000000","message":"The new retry configuration code could benefit from additional comments explaining the configuration override and integration with openstacksdk\u0027s adapter mechanism.\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Improved code maintainability and clarity for future developers who need to understand the retry configuration mapping.\n\n**Recommendation**:\nAdd detailed comment explaining openstacksdk uses keystoneauth1 adapter with connect_retries and connect_retry_delay options.","commit_id":"2fd56c9ecb1e219cd8d7e47a857d5848aa00ae9b"},{"robot_id":"zuul","robot_run_id":"adc956a3bf784f6eb12e4bf2dd0deae7","url":"https://zuul.teim.app/t/main/buildset/adc956a3bf784f6eb12e4bf2dd0deae7","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"0c34ff396d13a9759c5b00b57fafa555a2ed913d","patch_set":14,"id":"db5e3fa7_d7c62982","line":377,"updated":"2026-02-17 19:25:40.000000000","message":"Configuration override during NovaHelper initialization uses CONF.set_override which modifies global configuration state, potentially affecting multiple NovaHelper instances.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: Global configuration overrides could cause unexpected behavior if multiple NovaHelper instances are created with different retry configuration expectations.\n\n**Suggestion**:\nDocument that NovaHelper modifies global configuration state during initialization. Consider passing retry config directly to connection.","commit_id":"2fd56c9ecb1e219cd8d7e47a857d5848aa00ae9b"},{"robot_id":"zuul","robot_run_id":"adc956a3bf784f6eb12e4bf2dd0deae7","url":"https://zuul.teim.app/t/main/buildset/adc956a3bf784f6eb12e4bf2dd0deae7","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"0c34ff396d13a9759c5b00b57fafa555a2ed913d","patch_set":14,"id":"42da0caa_4a6da5a6","line":377,"updated":"2026-02-17 19:25:40.000000000","message":"Retry behavior change from application-level to transport-level may have subtle error handling differences. Old decorator caught ksa_exc.ConnectionError explicitly; openstacksdk adapter may handle errors differently.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: May affect which connection errors are retried and how they are logged. Old approach logged warnings per retry; new relies on openstacksdk adapter behavior.\n\n**Suggestion**:\nConsider adding functional tests to verify connection error retry behavior is preserved with temporary connection failure scenarios.","commit_id":"2fd56c9ecb1e219cd8d7e47a857d5848aa00ae9b"},{"robot_id":"zuul","robot_run_id":"c0ff1ee415604eb69f61055d3717f0a1","url":"https://zuul.teim.app/t/main/buildset/c0ff1ee415604eb69f61055d3717f0a1","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"3bcb1f533eef00e2b604b4ff42f0f57660c0a3ad","patch_set":15,"id":"38455b9a_29c3767a","line":374,"updated":"2026-02-18 09:00:33.000000000","message":"The NOTE comment about using Watcher\u0027s specific options could reference the related keystoneauth1 documentation URL for better maintainability\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Including the documentation reference would help future maintainers understand the relationship between Watcher\u0027s configuration and keystoneauth1\u0027s adapter options, making the code more self-documenting.\n\n**Recommendation**:\nAdd a reference to the keystoneauth1 adapter documentation similar to the commit message: https://docs.openstack.org/keystoneauth/latest/api/keystoneauth1.adapter.html","commit_id":"5739d917e987580760e21db9c0676cf64e5f4d47"},{"robot_id":"zuul","robot_run_id":"377f541d57e642939cbf344240bee3ac","url":"https://zuul.teim.app/t/main/buildset/377f541d57e642939cbf344240bee3ac","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"752d6e5835dd577fe9d26bb8ba07c82a80b2c40d","patch_set":16,"id":"e75421bc_5cda9a7a","line":21,"updated":"2026-02-18 11:55:56.000000000","message":"Unused time import could be removed\n\n**Severity**: SUGGESTION | **Confidence**: 0.9\n\n**Benefit**: Cleaner imports, removing unused dependencies after removing the nova_retries decorator that used time.sleep()\n\n**Recommendation**:\nRemove \u0027import time\u0027 from nova_helper.py since the nova_retries decorator that used time.sleep() has been removed. Check if time is still used elsewhere in the file (it is used in wait_for_instance_state, confirm_resize, and wait_for_volume_status methods, so the import should be kept).","commit_id":"47d6ad0f896c38c15f99210cde89ce865603c6c8"},{"robot_id":"zuul","robot_run_id":"377f541d57e642939cbf344240bee3ac","url":"https://zuul.teim.app/t/main/buildset/377f541d57e642939cbf344240bee3ac","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"752d6e5835dd577fe9d26bb8ba07c82a80b2c40d","patch_set":16,"id":"56533d68_361fa6ef","line":369,"updated":"2026-02-18 11:55:56.000000000","message":"Config override logic runs on every NovaHelper instantiation without validation of values\n\n**Severity**: WARNING | **Confidence**: 0.7\n\n**Impact**: The _override_deprecated_configs method sets connect_retries and connect_retry_delay using CONF.set_override on every NovaHelper instantiation, but these values could be explicitly set by operators. If operators set these values directly in config, the override would silently replace their values.\n\n**Suggestion**:\nConsider only setting the override values if they are not already explicitly configured. Add a check like: if not CONF.nova.connect_retries or CONF.nova.is_default(\u0027connect_retries\u0027): before setting the override. This preserves operator-configured values while providing sensible defaults.","commit_id":"47d6ad0f896c38c15f99210cde89ce865603c6c8"},{"robot_id":"zuul","robot_run_id":"377f541d57e642939cbf344240bee3ac","url":"https://zuul.teim.app/t/main/buildset/377f541d57e642939cbf344240bee3ac","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"752d6e5835dd577fe9d26bb8ba07c82a80b2c40d","patch_set":16,"id":"f626bf88_996c0d8a","line":369,"updated":"2026-02-18 11:55:56.000000000","message":"Retry behavior changed without proper migration documentation or compatibility validation\n\n**Severity**: HIGH | **Confidence**: 0.8\n\n**Risk**: The new openstacksdk retry mechanism via keystoneauth1 adapter may have different retry behavior than the custom nova_retries decorator. The old decorator caught ksa_exc.ConnectionError and retried, while the adapter\u0027s connect_retries only retries on specific connection errors at the HTTP adapter level. This could result in fewer retries or different error handling.\n\n**Priority**: Before merge\n**Why This Matters**: Operators may have deployed Watcher expecting specific retry behavior. Changing this without clear documentation or validation could lead to unexpected failures in production if the new retry mechanism behaves differently, especially during transient network issues.\n\n**Recommendation**:\nAdd documentation comparing old vs new retry behavior. Consider adding integration tests to verify the new retry mechanism works as expected under connection failure scenarios. Document that connect_retries applies at the HTTP adapter level vs the application-level ConnectionError catching of the old decorator.","commit_id":"47d6ad0f896c38c15f99210cde89ce865603c6c8"},{"robot_id":"zuul","robot_run_id":"4faad6ebcb36473dad1c8eb9949d6e87","url":"https://zuul.teim.app/t/main/buildset/4faad6ebcb36473dad1c8eb9949d6e87","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"84e8656721a51bc5723fe5612c25bea9d4cfd3d5","patch_set":17,"id":"48ab43dc_82e71456","line":376,"updated":"2026-02-18 14:23:41.000000000","message":"The configuration override logic in _override_deprecated_configs() always sets connect_retries and connect_retry_delay even when they might already have explicit values in the configuration.\n\n**Severity**: SUGGESTION | **Confidence**: 0.6\n\n**Benefit**: This could potentially override user-configured values, though in the current implementation this is the intended behavior to map legacy options to the new keystoneauth1 adapter options.\n\n**Recommendation**:\nDocument this behavior clearly in comments or release notes. Consider adding a note that users should use http_retries and http_retry_interval options rather than directly setting connect_retries and connect_retry_delay, since the former will override the latter.","commit_id":"13ac798e08b4a6f151665ebce2eeb1153b1d6edf"},{"robot_id":"zuul","robot_run_id":"e13e0617515044b697a651d270ec9a38","url":"https://zuul.teim.app/t/main/buildset/e13e0617515044b697a651d270ec9a38","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"7aa263c94bf5ab05c9b61297b23b17b9eef90f7b","patch_set":18,"id":"8a68188b_197f77ba","line":372,"updated":"2026-02-18 16:45:37.000000000","message":"Missing test coverage for the new config override behavior in _override_deprecated_configs method\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: The new config override code that sets connect_retries and connect_retry_delay has test coverage in test_nova_helper.py but the tests don\u0027t verify that openstacksdk actually uses these values for retries. This could lead to undetected regressions if the configuration mechanism changes.\n\n**Suggestion**:\nConsider adding an integration-style test that verifies the connection object is configured with the correct retry parameters, or document that the new tests in TestNovaHelperConfigOverrides are sufficient since they verify the config values are set correctly. The current tests verify the config is set but don\u0027t verify openstacksdk uses these values.","commit_id":"738a864cc0014bd7a0c23700374f424430b2b026"},{"robot_id":"zuul","robot_run_id":"1b9c37cc6c274360b6bf56e582614841","url":"https://zuul.teim.app/t/main/buildset/1b9c37cc6c274360b6bf56e582614841","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"3068e22fefb21baca7026b1471aa2f53bc349fe5","patch_set":19,"id":"9c6b19e5_390d9001","line":23,"updated":"2026-02-18 17:48:34.000000000","message":"Loss of diagnostic logging - custom retry logging removed without replacement\n\n**Severity**: HIGH | **Confidence**: 0.8\n\n**Risk**: The nova_retries decorator provided specific logging: \u0027Error connecting to Nova service\u0027, \u0027Retrying connection to Nova service\u0027, and \u0027Failed to connect after X attempts\u0027. This logging is now removed, reducing operational visibility into connection issues.\n\n**Priority**: Before merge\n**Why This Matters**: Operators rely on these log messages to diagnose Nova connectivity issues. Without them, troubleshooting connection problems becomes more difficult when retries occur at the keystoneauth layer where logging may not be as visible or watcher-specific.\n\n**Recommendation**:\nAdd logging at the NovaHelper level to track when retries are happening, either by configuring keystoneauth debug logging or adding wrapper logging around critical API calls to maintain operational visibility.","commit_id":"b45ffafbf6853770fc26adbb92d68fb3bf5c03fc"},{"robot_id":"zuul","robot_run_id":"1b9c37cc6c274360b6bf56e582614841","url":"https://zuul.teim.app/t/main/buildset/1b9c37cc6c274360b6bf56e582614841","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"3068e22fefb21baca7026b1471aa2f53bc349fe5","patch_set":19,"id":"fe8f4ac7_6874cdc2","line":24,"updated":"2026-02-18 17:48:34.000000000","message":"ksa_exc import removed but should verify if other code needs it\n\n**Severity**: WARNING | **Confidence**: 0.7\n\n**Impact**: The \u0027from keystoneauth1 import exceptions as ksa_exc\u0027 import was removed as part of removing the nova_retries decorator. Need to verify it\u0027s not used elsewhere.\n\n**Suggestion**:\nVerify that ksa_exc is not referenced elsewhere in the code. If the import is truly unused, the removal is correct. A grep search confirms the import was only used in the deleted nova_retries decorator.","commit_id":"b45ffafbf6853770fc26adbb92d68fb3bf5c03fc"},{"robot_id":"zuul","robot_run_id":"1b9c37cc6c274360b6bf56e582614841","url":"https://zuul.teim.app/t/main/buildset/1b9c37cc6c274360b6bf56e582614841","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"3068e22fefb21baca7026b1471aa2f53bc349fe5","patch_set":19,"id":"bca5ca71_b1da09cb","line":375,"updated":"2026-02-18 17:48:34.000000000","message":"Retry behavior semantics changed - the custom decorator caught only keystoneauth1.exceptions.ConnectionError, but keystoneauth adapter\u0027s connect_retries handles a different set of exceptions\n\n**Severity**: HIGH | **Confidence**: 0.8\n\n**Risk**: The old nova_retries decorator specifically caught ksa_exc.ConnectionError. The keystoneauth adapter\u0027s connect_retries mechanism handles different exception types (typically retriable HTTP errors). This may result in different retry behavior for connection errors.\n\n**Priority**: Before merge\n**Why This Matters**: If the openstacksdk/keystoneauth adapter doesn\u0027t retry on the same exceptions as the old decorator, transient connection failures that were previously retried may now fail immediately, causing operational issues in production.\n\n**Recommendation**:\nVerify which exceptions keystoneauth\u0027s connect_retries handles. If needed, document the exception handling differences or add custom exception handling to maintain parity with the old behavior. Consider testing connection failure scenarios to ensure retries still work as expected.","commit_id":"b45ffafbf6853770fc26adbb92d68fb3bf5c03fc"},{"robot_id":"zuul","robot_run_id":"6a6c321c03a74bde87de632f26e96c12","url":"https://zuul.teim.app/t/main/buildset/6a6c321c03a74bde87de632f26e96c12","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"363e9c2469541f9a93fbcfdde6807933360feca9","patch_set":20,"id":"ee6c559d_7d19c250","line":366,"updated":"2026-02-19 17:59:30.000000000","message":"Consider adding a release note or documentation update explaining the retry behavior change\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Helps operators understand how retry behavior works with openstacksdk and may reduce support questions. The current implementation uses CONF.set_override() which may not be immediately obvious to users troubleshooting connection issues.\n\n**Recommendation**:\nAdd a release note or documentation explaining that openstacksdk\u0027s keystoneauth1 adapter now handles connection retries automatically using connect_retries and connect_retry_delay options. Document that the custom nova_retries decorator has been removed and retry behavior is now managed at the adapter level.","commit_id":"4c5f2ed54497d0c391be9438698cff103fe1a1f3"},{"robot_id":"zuul","robot_run_id":"07c1d552e2e648bf9c0056be713db9d1","url":"https://zuul.teim.app/t/main/buildset/07c1d552e2e648bf9c0056be713db9d1","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"9e6cd986ef3500ea081e67f674e559ec79996290","patch_set":20,"id":"932b0875_4e08b041","line":369,"updated":"2026-02-19 09:04:05.000000000","message":"Retry behavior change: the old nova_retries decorator caught keystoneauth1.exceptions.ConnectionError, but openstacksdk\u0027s connect_retries mechanism may not cover the same exceptions. This could result in different error handling behavior.\n\n**Severity**: HIGH | **Confidence**: 0.8\n\n**Risk**: Connection errors that were previously retried may now fail immediately, causing operation failures in production that were previously recovered from. The keystoneauth adapter\u0027s connect_retries typically only retries on specific HTTP connection errors, not all ConnectionError subclasses.\n\n**Priority**: Before merge\n**Why This Matters**: The original nova_retries decorator caught ksa_exc.ConnectionError which is a broad exception class. The keystoneauth adapter\u0027s connect_retries typically only retries on specific network/HTTP errors (like socket errors, specific HTTP status codes). This behavioral difference could cause operations that previously succeeded after retries to now fail.\n\n**Recommendation**:\nVerify that openstacksdk\u0027s keystoneauth adapter connect_retries covers the same error cases. Consider documenting the specific exceptions that openstacksdk will retry. If coverage differs, either (1) keep a simplified retry decorator for ConnectionError cases not covered by openstacksdk, or (2) document that operators may need to adjust their retry expectations. Add integration tests to verify retry behavior matches production scenarios.","commit_id":"4c5f2ed54497d0c391be9438698cff103fe1a1f3"},{"robot_id":"zuul","robot_run_id":"c7946250067740b9bf8e950663823c97","url":"https://zuul.teim.app/t/main/buildset/c7946250067740b9bf8e950663823c97","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"a8653cd7eeaeee4fc6856ddc4258f2f05e73129c","patch_set":21,"id":"7530474b_228ecd37","line":369,"updated":"2026-02-19 18:17:05.000000000","message":"Retry behavior change from application-level to adapter-level may have different exception handling semantics. The custom decorator only caught ksa_exc.ConnectionError, while adapter retries handle connection failures at a lower level.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: Different retry behavior - keystoneauth1 adapter retries on connection failures but may not retry on the same set of exceptions as the custom decorator. Could lead to unexpected failures.\n\n**Suggestion**:\nDocument the specific exception types that keystoneauth1.adapter retries on and verify alignment with original intent. Add integration tests for retry behavior.","commit_id":"2b311a405321484b17c14c7e78aca2715e2f2518"},{"robot_id":"zuul","robot_run_id":"c7946250067740b9bf8e950663823c97","url":"https://zuul.teim.app/t/main/buildset/c7946250067740b9bf8e950663823c97","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"a8653cd7eeaeee4fc6856ddc4258f2f05e73129c","patch_set":21,"id":"3dafbe3c_173383f9","line":369,"updated":"2026-02-19 18:17:05.000000000","message":"The new retry configuration uses CONF.set_override() which modifies global configuration state. This could cause issues if multiple NovaHelper instances are created with different retry configurations.\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Using set_override on global config can lead to unexpected behavior in multi-instance scenarios. A more explicit approach would be clearer.\n\n**Recommendation**:\nConsider passing the adapter configuration directly to get_sdk_connection() instead of using global config overrides. Document that NovaHelper modifies global config by design.","commit_id":"2b311a405321484b17c14c7e78aca2715e2f2518"},{"robot_id":"zuul","robot_run_id":"1a272acd93054c2ea4725ffef3a93d4d","url":"https://zuul.teim.app/t/main/buildset/1a272acd93054c2ea4725ffef3a93d4d","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"ff87a54831a5f05bd88e8050239b1fc13bd4e494","patch_set":22,"id":"786eb203_81989530","line":21,"updated":"2026-02-19 18:38:57.000000000","message":"Verify that the time import is still needed after removing nova_retries decorator which used time.sleep.\n\n**Severity**: SUGGESTION | **Confidence**: 0.9\n\n**Benefit**: Ensures import cleanup is complete and no unused imports remain in the codebase.\n\n**Recommendation**:\nThe time module is used in confirm_resize(), live_migrate_instance(), and wait_for_volume_status(), so the import is still required. No change needed.","commit_id":"c684a9780dc2165bfa227695af9d05a27eaeb4cf"},{"robot_id":"zuul","robot_run_id":"1a272acd93054c2ea4725ffef3a93d4d","url":"https://zuul.teim.app/t/main/buildset/1a272acd93054c2ea4725ffef3a93d4d","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"ff87a54831a5f05bd88e8050239b1fc13bd4e494","patch_set":22,"id":"86f1d9fd_4b02cd0e","line":24,"updated":"2026-02-19 18:38:57.000000000","message":"The change removes the keystoneauth1.exceptions import since it was only used by nova_retries decorator. Documentation referencing this may need updates.\n\n**Severity**: WARNING | **Confidence**: 0.7\n\n**Impact**: Low impact - the import removal is correct. Only potential confusion if documentation or comments elsewhere reference ksa_exc.ConnectionError patterns.\n\n**Suggestion**:\nVerify any developer documentation or code comments that reference ksa_exc.ConnectionError or the retry decorator are updated to reflect the new retry mechanism.","commit_id":"c684a9780dc2165bfa227695af9d05a27eaeb4cf"},{"robot_id":"zuul","robot_run_id":"1a272acd93054c2ea4725ffef3a93d4d","url":"https://zuul.teim.app/t/main/buildset/1a272acd93054c2ea4725ffef3a93d4d","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"ff87a54831a5f05bd88e8050239b1fc13bd4e494","patch_set":22,"id":"852968d2_0e0743f9","line":363,"updated":"2026-02-19 18:38:57.000000000","message":"Document the behavioral differences between old and new retry implementations in a release note or upgrade notes.\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Helps operators understand what to expect when upgrading, particularly regarding log message format and retry timing differences.\n\n**Recommendation**:\nDocument that: 1) Log message format has changed, 2) openstacksdk may retry additional exception types beyond ConnectionError, 3) Retry timing may differ slightly.","commit_id":"c684a9780dc2165bfa227695af9d05a27eaeb4cf"},{"robot_id":"zuul","robot_run_id":"1a272acd93054c2ea4725ffef3a93d4d","url":"https://zuul.teim.app/t/main/buildset/1a272acd93054c2ea4725ffef3a93d4d","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"ff87a54831a5f05bd88e8050239b1fc13bd4e494","patch_set":22,"id":"db518d6f_3bab8893","line":363,"updated":"2026-02-19 18:38:57.000000000","message":"This is a behavioral change in retry logging that should be documented in a release note. No new release note documents the removal of the custom retry decorator.\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: Without a release note, operators upgrading to this version may be surprised by the change in logging format and reduced verbosity during connection retries.\n\n**Suggestion**:\nAdd a release note in releasenotes/ documenting the removal of nova_retries decorator and the change to openstacksdk\u0027s built-in retry mechanism.","commit_id":"c684a9780dc2165bfa227695af9d05a27eaeb4cf"},{"robot_id":"zuul","robot_run_id":"1a272acd93054c2ea4725ffef3a93d4d","url":"https://zuul.teim.app/t/main/buildset/1a272acd93054c2ea4725ffef3a93d4d","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"ff87a54831a5f05bd88e8050239b1fc13bd4e494","patch_set":22,"id":"8f40f798_364aee62","line":369,"updated":"2026-02-19 18:38:57.000000000","message":"Custom nova_retries decorator provided detailed logging including connection error and retry messages. The openstacksdk retry mechanism uses different log format. Operators relying on these messages will need to adapt.\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: Operators may see reduced visibility into retry behavior during troubleshooting. The detailed log messages \u0027Error connecting to Nova service\u0027 and \u0027Retrying connection to Nova service\u0027 will no longer appear.\n\n**Suggestion**:\nAdd a release note documenting the logging change. Consider adding logging in _override_deprecated_configs() to indicate retry configuration values being applied.","commit_id":"c684a9780dc2165bfa227695af9d05a27eaeb4cf"},{"robot_id":"zuul","robot_run_id":"fcb27408a0fd41c78a28be8ffb62f4d4","url":"https://zuul.teim.app/t/main/buildset/fcb27408a0fd41c78a28be8ffb62f4d4","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"2c260f061fefac21ec03851d77006169712b9697","patch_set":23,"id":"82df7167_a6c1eae4","line":353,"updated":"2026-02-24 09:50:14.000000000","message":"The _override_deprecated_configs method uses instance variable _config_overrides to prevent multiple executions, but this pattern relies on the object instance state. If multiple NovaHelper instances are created, each will independently set the same global CONF overrides.\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Prevents redundant global config modifications if multiple NovaHelper instances are created, though the current implementation is functionally correct\n\n**Recommendation**:\nConsider documenting this behavior or using a class-level flag instead of instance-level if the concern is about multiple NovaHelper instances setting the same global config values. The current implementation works correctly but may be slightly confusing.","commit_id":"ad6c31c7be0f0f3097dadfff453b91e22c3b373c"},{"robot_id":"zuul","robot_run_id":"fcb27408a0fd41c78a28be8ffb62f4d4","url":"https://zuul.teim.app/t/main/buildset/fcb27408a0fd41c78a28be8ffb62f4d4","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"2c260f061fefac21ec03851d77006169712b9697","patch_set":23,"id":"67ef9434_0b86ea3d","line":363,"updated":"2026-02-24 09:50:14.000000000","message":"Config override logic is executed in __init__ before get_sdk_connection is called, which is correct timing, but there is no documentation of this behavior in the docstring\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Better maintainability and clarity for future developers who need to understand how retry configuration is migrated from watcher options to openstacksdk adapter options\n\n**Recommendation**:\nConsider adding a note in the NovaHelper class docstring about the config override behavior, or add an inline comment explaining the timing of when these overrides are applied relative to connection creation.","commit_id":"ad6c31c7be0f0f3097dadfff453b91e22c3b373c"},{"robot_id":"zuul","robot_run_id":"5c02caa6791840248a2737591155e488","url":"https://zuul.teim.app/t/main/buildset/5c02caa6791840248a2737591155e488","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"cb1aacbd7cd70eadebbaaf8d310b49bd60001e37","patch_set":24,"id":"f49b002f_ce1348ad","line":38,"updated":"2026-02-24 11:37:57.000000000","message":"The retry behavior change from catching ksa_exc.ConnectionError only to openstacksdk\u0027s built-in retry may have different exception handling semantics\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: The old nova_retries decorator only caught ksa_exc.ConnectionError. The new implementation relies on openstacksdk\u0027s keystoneauth adapter retry behavior, which may retry on different exception types or have different retry logic. This could change the retry behavior in production.\n\n**Suggestion**:\nDocument the expected retry behavior in a docstring or comment, and add a release note highlighting the change in retry semantics. Consider adding integration tests to verify retry behavior under connection failure scenarios.","commit_id":"6584fb2957e9faab17a055394d9fb43a862850f9"},{"robot_id":"zuul","robot_run_id":"5c02caa6791840248a2737591155e488","url":"https://zuul.teim.app/t/main/buildset/5c02caa6791840248a2737591155e488","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"cb1aacbd7cd70eadebbaaf8d310b49bd60001e37","patch_set":24,"id":"a27aaeed_08536dc1","line":367,"updated":"2026-02-24 11:37:57.000000000","message":"Consider adding a comment explaining why the retry configuration is done via CONF.set_override instead of passing parameters directly\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Improves code maintainability by making it clear to future maintainers why this unusual pattern (modifying global CONF during object initialization) is used.\n\n**Recommendation**:\nAdd a more detailed NOTE comment explaining that keystoneauth adapter options are registered via ks_loading.register_adapter_conf_options() and need to be set via CONF.set_override because the openstacksdk Connection reads them from the oslo_conf rather than from constructor parameters.","commit_id":"6584fb2957e9faab17a055394d9fb43a862850f9"},{"robot_id":"zuul","robot_run_id":"5c02caa6791840248a2737591155e488","url":"https://zuul.teim.app/t/main/buildset/5c02caa6791840248a2737591155e488","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"cb1aacbd7cd70eadebbaaf8d310b49bd60001e37","patch_set":24,"id":"463eb906_a7b47a88","line":367,"updated":"2026-02-24 11:37:57.000000000","message":"Missing validation that connect_retries and connect_retry_delay are successfully set via CONF.set_override\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: If CONF.set_override fails for any reason (e.g., invalid option name, configuration system issues), the retry parameters would not be properly configured, silently falling back to openstacksdk defaults instead of Watcher\u0027s configured values.\n\n**Suggestion**:\nAdd logging to confirm the retry parameters are successfully set, or add try/except around CONF.set_override calls to handle potential configuration errors gracefully.","commit_id":"6584fb2957e9faab17a055394d9fb43a862850f9"},{"robot_id":"zuul","robot_run_id":"5c02caa6791840248a2737591155e488","url":"https://zuul.teim.app/t/main/buildset/5c02caa6791840248a2737591155e488","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"cb1aacbd7cd70eadebbaaf8d310b49bd60001e37","patch_set":24,"id":"65734a1d_bd4901c2","line":405,"updated":"2026-02-24 11:37:57.000000000","message":"Potential NoneType error when CONF.nova.connect_retries is None\n\n**Severity**: HIGH | **Confidence**: 0.8\n\n**Risk**: If CONF.nova.connect_retries is None (not set in config), passing None to connect_retries parameter may cause TypeError in openstacksdk connection initialization\n\n**Priority**: Before merge\n**Why This Matters**: Code passes CONF.nova.connect_retries directly without checking if it\u0027s None. Config override happens in __init__() but _create_sdk_connection() could be called separately.\n\n**Recommendation**:\nAdd a check in _create_sdk_connection() to ensure connect_retries and connect_retry_delay have valid values before passing to get_sdk_connection(), or use CONF.nova.http_retries and CONF.nova.http_retry_interval directly as fallbacks.","commit_id":"6584fb2957e9faab17a055394d9fb43a862850f9"},{"robot_id":"zuul","robot_run_id":"464124b5bcc34fb09a757853b53ea565","url":"https://zuul.teim.app/t/main/buildset/464124b5bcc34fb09a757853b53ea565","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"2f9a758ffd4db05a08d9713d7e760c1afdd3299e","patch_set":26,"id":"f6cccbf0_39b29f6a","line":1,"updated":"2026-02-25 09:18:21.000000000","message":"License header in nova_helper.py uses b\u003c\u003ecom format which differs from the standard Apache License header template used in clients.py\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: The existing license header in nova_helper.py uses the b\u003c\u003ecom format which predates the standard format. While this is valid, it differs from the standard Apache License header template used elsewhere in the project (e.g., clients.py). However, since this is an existing file being modified rather than a new file, maintaining consistency with the existing file\u0027s license header is appropriate.\n\n**Suggestion**:\nNo action needed - the existing license header is valid Apache 2.0. The file maintains its existing license format as appropriate for modifications to existing files.","commit_id":"25b4356dcfb6a1b74ee61d26ec2c6e67c1ebe6fa"},{"robot_id":"zuul","robot_run_id":"464124b5bcc34fb09a757853b53ea565","url":"https://zuul.teim.app/t/main/buildset/464124b5bcc34fb09a757853b53ea565","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"2f9a758ffd4db05a08d9713d7e760c1afdd3299e","patch_set":26,"id":"b9b08492_fd220be7","line":363,"updated":"2026-02-25 09:18:21.000000000","message":"The _override_deprecated_configs method documentation could be expanded to clarify its dual purpose\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: The method now handles both endpoint_type migration AND retry configuration mapping, but the method name and inline comment don\u0027t fully capture this dual responsibility.\n\n**Recommendation**:\nConsider renaming the method to _override_deprecated_configs_and_setup_adapter or updating the docstring to document both the endpoint_type handling and the retry configuration mapping responsibilities.","commit_id":"25b4356dcfb6a1b74ee61d26ec2c6e67c1ebe6fa"},{"robot_id":"zuul","robot_run_id":"6902600fc50f4ee3a0d2a95a01c7456a","url":"https://zuul.teim.app/t/main/buildset/6902600fc50f4ee3a0d2a95a01c7456a","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"d03f11b240ea76740e5b79bb68bdebdb4428032c","patch_set":27,"id":"957acf4a_1ea42c63","line":400,"updated":"2026-04-27 10:50:50.000000000","message":"The _create_sdk_connection method in NovaHelper passes CONF.nova.connect_retries and CONF.nova.connect_retry_delay to get_sdk_connection, which then reads the same values from CONF again when the parameters are None. This is redundant.\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Removing the redundant explicit passing would simplify the call site and avoid confusion about which layer is responsible for reading config values.\n\n**Recommendation**:\nSince get_sdk_connection already reads connect_retries and connect_retry_delay from CONF when the parameters are None, consider simplifying _create_sdk_connection to not pass these values explicitly.","commit_id":"f3e1ae18ef192915bec14c9779ba12cb22a9db12"}],"watcher/conf/nova.py":[{"robot_id":"zuul","robot_run_id":"d3c5158191754acf924425b8726def65","url":"https://zuul.teim.app/t/main/buildset/d3c5158191754acf924425b8726def65","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"ccdd31187e5948aa2e8b4059a79c9505df638b42","patch_set":1,"id":"a32faeca_96b5975a","line":44,"updated":"2026-02-03 11:07:41.000000000","message":"Unused http_retries and http_retry_interval configuration options remain defined but are now only used for initialization\n\n**Severity**: WARNING | **Confidence**: 0.7\n\n**Impact**: The configuration options are kept for backward compatibility but are now just passthrough values to connect_retries/connect_retry_delay.\n\n**Suggestion**:\nAdd deprecation notices to http_retries and http_retry_interval options, or document that they now map to keystoneauth1 adapter options.","commit_id":"621f76150d6070134b5ec1b04b3499740f5f80b2"},{"robot_id":"zuul","robot_run_id":"d3c5158191754acf924425b8726def65","url":"https://zuul.teim.app/t/main/buildset/d3c5158191754acf924425b8726def65","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"ccdd31187e5948aa2e8b4059a79c9505df638b42","patch_set":1,"id":"2513db4a_f5b2effb","line":101,"updated":"2026-02-03 11:07:41.000000000","message":"Add documentation or release notes explaining the retry behavior change from custom decorator to openstacksdk built-in retries\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Operators need to understand that retry behavior is now handled by openstacksdk/keystoneauth1, which may have different retry timing, logging, or exception handling.\n\n**Recommendation**:\nAdd a release note explaining: nova_retries decorator removed, retry logic delegated to keystoneauth1 adapter, how to configure connect_retries/connect_retry_delay, and any behavioral differences.","commit_id":"621f76150d6070134b5ec1b04b3499740f5f80b2"},{"robot_id":"zuul","robot_run_id":"d3c5158191754acf924425b8726def65","url":"https://zuul.teim.app/t/main/buildset/d3c5158191754acf924425b8726def65","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"ccdd31187e5948aa2e8b4059a79c9505df638b42","patch_set":1,"id":"e6b56495_efa39df8","line":101,"updated":"2026-02-03 11:07:41.000000000","message":"Configuration mapping in register_opts() may use wrong source values - should map from deprecated nova_client group if user hasn\u0027t migrated yet\n\n**Severity**: HIGH | **Confidence**: 0.8\n\n**Risk**: Users who haven\u0027t migrated from nova_client group will get default retry values instead of their configured values\n\n**Priority**: Before merge\n**Why This Matters**: The handle_nova_client_deprecations() function handles migration of endpoint_type, api_version, and region_name, but http_retries and http_retry_interval are not migrated.\n\n**Recommendation**:\nAdd http_retries and http_retry_interval migration in handle_nova_client_deprecations() similar to how endpoint_type, api_version, and region_name are migrated.","commit_id":"621f76150d6070134b5ec1b04b3499740f5f80b2"},{"robot_id":"zuul","robot_run_id":"d3c5158191754acf924425b8726def65","url":"https://zuul.teim.app/t/main/buildset/d3c5158191754acf924425b8726def65","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"ccdd31187e5948aa2e8b4059a79c9505df638b42","patch_set":1,"id":"d535046d_e2f03878","line":101,"updated":"2026-02-03 11:07:41.000000000","message":"keystoneauth1.adapter connection retries may have different exception handling behavior than the removed nova_retries decorator\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: The old decorator explicitly caught ksa_exc.ConnectionError with custom logging. openstacksdk/keystoneauth1 retries may silently handle different exceptions.\n\n**Suggestion**:\nDocument the behavioral difference in release notes. Verify openstacksdk logs connection retries adequately. The old code logged warnings on each retry and error on final failure.","commit_id":"621f76150d6070134b5ec1b04b3499740f5f80b2"},{"robot_id":"zuul","robot_run_id":"d80b1776844b43ebbeb720b8bfcf7cdc","url":"https://zuul.teim.app/t/main/buildset/d80b1776844b43ebbeb720b8bfcf7cdc","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"3c388185e49b027af732f7738b462bfc2b369168","patch_set":2,"id":"64af5bf7_8318e936","line":103,"updated":"2026-02-04 11:32:38.000000000","message":"Configuration timing concern - set_default() calls in register_opts() may execute before config files are parsed by oslo_config, potentially causing the mapping to not apply correctly.\n\n**Severity**: WARNING | **Confidence**: 0.7\n\n**Impact**: If oslo_config parses config files after set_default() execution, configured values from nova.conf may override the default mapping. This would cause openstacksdk adapter to ignore Watcher\u0027s retry settings.\n\n**Suggestion**:\nVerify set_default() timing relative to config file parsing. Consider moving set_default() calls to later initialization phase. Add logging to verify mapping is applied. Test with custom nova.conf.","commit_id":"11dadb7eda168ff3ddce8d3a034c57e9ce729c47"},{"robot_id":"zuul","robot_run_id":"d80b1776844b43ebbeb720b8bfcf7cdc","url":"https://zuul.teim.app/t/main/buildset/d80b1776844b43ebbeb720b8bfcf7cdc","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"3c388185e49b027af732f7738b462bfc2b369168","patch_set":2,"id":"bb80f224_889d8f20","line":103,"updated":"2026-02-04 11:32:38.000000000","message":"No release note was included for this migration from custom retry to openstacksdk built-in retry.\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: A release note would document this migration for operators, explaining that retry behavior is now handled by openstacksdk\u0027s keystoneauth1 adapter. Helps with troubleshooting if behavior changes.\n\n**Recommendation**:\nAdd a release note under releasenotes/ documenting the migration from nova_retries decorator to openstacksdk\u0027s retry mechanism. Mention http_retries and http_retry_interval continue to work via mapping.","commit_id":"11dadb7eda168ff3ddce8d3a034c57e9ce729c47"},{"robot_id":"zuul","robot_run_id":"d80b1776844b43ebbeb720b8bfcf7cdc","url":"https://zuul.teim.app/t/main/buildset/d80b1776844b43ebbeb720b8bfcf7cdc","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"3c388185e49b027af732f7738b462bfc2b369168","patch_set":2,"id":"30c2ff03_7505bb6f","line":103,"updated":"2026-02-04 11:32:38.000000000","message":"The relationship between Watcher\u0027s retry configuration and openstacksdk\u0027s adapter parameters is not documented in code comments.\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Documentation would help maintainers understand that http_retries maps to connect_retries, and http_retry_interval maps to connect_retry_delay. Clarifies the alias relationship.\n\n**Recommendation**:\nAdd a docstring or comment explaining that Watcher\u0027s retry options are aliased to openstacksdk\u0027s keystoneauth1 adapter parameters via set_default() calls.","commit_id":"11dadb7eda168ff3ddce8d3a034c57e9ce729c47"},{"robot_id":"zuul","robot_run_id":"f6d3d0c7757c4a34ae2d8a60fd034c3e","url":"https://zuul.teim.app/t/main/buildset/f6d3d0c7757c4a34ae2d8a60fd034c3e","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"16c607ce11b8aef847dd9fca1dc44e70fbc55138","patch_set":3,"id":"391c1aac_f3729626","line":42,"updated":"2026-02-04 12:20:50.000000000","message":"Documentation should be updated to reflect the new retry mechanism configuration\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Operators will understand how to configure connection retries for the Nova integration using the new keystoneauth1 adapter options\n\n**Recommendation**:\nConsider adding documentation about the connect_retries and connect_retry_delay options in the Nova configuration section to help operators understand the retry behavior.","commit_id":"93d8d32c7a6cf9614f4b2b301c014a5031079355"}],"watcher/tests/unit/common/test_nova_helper.py":[{"robot_id":"zuul","robot_run_id":"d3c5158191754acf924425b8726def65","url":"https://zuul.teim.app/t/main/buildset/d3c5158191754acf924425b8726def65","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"ccdd31187e5948aa2e8b4059a79c9505df638b42","patch_set":1,"id":"f78c53e3_8f0f95cf","line":1,"updated":"2026-02-03 11:07:41.000000000","message":"Consider adding unit tests to verify the configuration mapping from http_retries/http_retry_interval to connect_retries/connect_retry_delay\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: The configuration mapping logic in register_opts() is not tested. Adding tests would ensure the mapping works correctly and prevent regressions.\n\n**Recommendation**:\nAdd test in nova.conf tests or nova_helper tests to verify connect_retries is set to http_retries value, connect_retry_delay is set to http_retry_interval value.","commit_id":"621f76150d6070134b5ec1b04b3499740f5f80b2"},{"robot_id":"zuul","robot_run_id":"11c988506cea4ae2b344c1b6b06f4e9c","url":"https://zuul.teim.app/t/main/buildset/11c988506cea4ae2b344c1b6b06f4e9c","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"2ab00286d13aed2a7defc6f99c28ea439222320b","patch_set":7,"id":"c54e519b_8916bf78","line":1144,"updated":"2026-02-06 17:38:39.000000000","message":"The test changes remove all tests for the nova_retries decorator (TestNovaRetries test class with 9 test methods) without adding equivalent integration tests for openstacksdk\u0027s retry mechanism.\n\n**Severity**: HIGH | **Confidence**: 0.9\n\n**Risk**: Loss of test coverage for retry behavior. The removed tests verified retry exhaustion, custom retry intervals, function argument preservation, exception propagation, and logging behavior.\n\n**Priority**: Before merge\n**Why This Matters**: Without equivalent tests, there\u0027s no verification that the new openstacksdk-based retry mechanism will behave correctly in scenarios like retry exhaustion, proper sleep intervals, or error propagation.\n\n**Recommendation**:\nAdd integration-style tests that verify: 1) connect_retries and connect_retry_delay values are properly passed to openstacksdk\u0027s adapter. 2) Connection errors trigger retries as expected. 3) Retry exhaustion properly propagates exceptions.","commit_id":"52a6c92e891563c6b2a495d1a9329f49010e9f3a"},{"robot_id":"zuul","robot_run_id":"11c988506cea4ae2b344c1b6b06f4e9c","url":"https://zuul.teim.app/t/main/buildset/11c988506cea4ae2b344c1b6b06f4e9c","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"2ab00286d13aed2a7defc6f99c28ea439222320b","patch_set":7,"id":"a272868b_e3871d52","line":1731,"updated":"2026-02-06 17:38:39.000000000","message":"The new tests verify configuration value mapping but don\u0027t verify that openstacksdk actually reads and applies these values.\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: End-to-end verification that the configuration changes actually affect openstacksdk\u0027s behavior would provide higher confidence in the migration.\n\n**Recommendation**:\nConsider adding a test that mocks or uses openstacksdk\u0027s Connection creation to verify that the connect_retries and connect_retry_delay values are actually passed through and used.","commit_id":"52a6c92e891563c6b2a495d1a9329f49010e9f3a"},{"robot_id":"zuul","robot_run_id":"15c799f2a74042d2bb19cca8bb74c4ca","url":"https://zuul.teim.app/t/main/buildset/15c799f2a74042d2bb19cca8bb74c4ca","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"b101ed59b0bd4dfd5519222b39f001a040fdd9e6","patch_set":8,"id":"1ced8b2d_57f9a6b6","line":1763,"updated":"2026-02-10 13:13:00.000000000","message":"Test coverage for edge cases in config override method\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Testing edge cases like calling NovaHelper methods multiple times (verifying _config_overrides flag works), or testing with zero/negative retry values would ensure robustness of the configuration override logic.\n\n**Recommendation**:\nAdd tests to verify: (1) _override_deprecated_configs is idempotent when called multiple times, (2) behavior with minimum valid retry values (http_retries\u003d1), and (3) that the config overrides happen before any SDK connection is used.","commit_id":"4a789b4758f2720564e37301cb2108f5c6088335"},{"robot_id":"zuul","robot_run_id":"c0ff1ee415604eb69f61055d3717f0a1","url":"https://zuul.teim.app/t/main/buildset/c0ff1ee415604eb69f61055d3717f0a1","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"3bcb1f533eef00e2b604b4ff42f0f57660c0a3ad","patch_set":15,"id":"9a309373_43fd12c3","line":20,"updated":"2026-02-18 09:00:33.000000000","message":"The test file still imports `time` module but no longer uses it after removing the nova_retries tests\n\n**Severity**: WARNING | **Confidence**: 0.9\n\n**Impact**: The unused import adds unnecessary clutter to the imports section, though it\u0027s a minor issue and does not affect functionality.\n\n**Suggestion**:\nRemove the unused `import time` statement from the test file since time.sleep mocking is no longer needed after removing the nova_retries decorator tests.","commit_id":"5739d917e987580760e21db9c0676cf64e5f4d47"},{"robot_id":"zuul","robot_run_id":"c0ff1ee415604eb69f61055d3717f0a1","url":"https://zuul.teim.app/t/main/buildset/c0ff1ee415604eb69f61055d3717f0a1","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"3bcb1f533eef00e2b604b4ff42f0f57660c0a3ad","patch_set":15,"id":"22923b20_3be6a0bb","line":1976,"updated":"2026-02-18 09:00:33.000000000","message":"The new config override tests verify the values are set but do not verify that the openstacksdk connection actually uses these values for retries\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: The tests verify configuration values are set correctly but don\u0027t confirm that the underlying openstacksdk/keystoneauth1 adapter actually uses these retry settings. This could miss issues where the configuration doesn\u0027t propagate correctly.\n\n**Suggestion**:\nConsider adding an integration test or at least a mock-based test that verifies the connection\u0027s adapter receives the correct connect_retries and connect_retry_delay values when NovaHelper is initialized.","commit_id":"5739d917e987580760e21db9c0676cf64e5f4d47"},{"robot_id":"zuul","robot_run_id":"4faad6ebcb36473dad1c8eb9949d6e87","url":"https://zuul.teim.app/t/main/buildset/4faad6ebcb36473dad1c8eb9949d6e87","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"84e8656721a51bc5723fe5612c25bea9d4cfd3d5","patch_set":17,"id":"39b2965f_a2beddb9","line":37,"updated":"2026-02-18 14:23:41.000000000","message":"The class-level @mock.patch.object decorator for \u0027cinder\u0027 in TestNovaHelper doesn\u0027t use autospec\u003dTrue. While this is existing code and changing it is out of scope for this change, future improvements could add autospec\u003dTrue for better mock safety.\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Using autospec\u003dTrue ensures mock objects have the same attributes and methods as the real objects, catching more errors at test time and preventing false positives.\n\n**Recommendation**:\nConsider adding autospec\u003dTrue to the class-level @mock.patch.object(clients.OpenStackClients, \u0027cinder\u0027) decorator in a future cleanup patch. This would require updating all test methods that use mock_cinder to account for the stricter spec checking.","commit_id":"13ac798e08b4a6f151665ebce2eeb1153b1d6edf"},{"robot_id":"zuul","robot_run_id":"4faad6ebcb36473dad1c8eb9949d6e87","url":"https://zuul.teim.app/t/main/buildset/4faad6ebcb36473dad1c8eb9949d6e87","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"84e8656721a51bc5723fe5612c25bea9d4cfd3d5","patch_set":17,"id":"c2bc2454_de35a3db","line":1976,"updated":"2026-02-18 14:23:41.000000000","message":"The new test methods in TestNovaHelperConfigOverrides verify the config override behavior but only check that the values are set. They don\u0027t verify that openstacksdk actually uses these values when creating the connection.\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: Additional integration-style testing would provide more confidence that the retry behavior works end-to-end with openstacksdk.\n\n**Recommendation**:\nConsider adding an integration-style test that mocks the connection creation to verify that keystoneauth1 adapter receives the correct connect_retries and connect_retry_delay values. This could be done in a follow-up change as it may require more complex test setup.","commit_id":"13ac798e08b4a6f151665ebce2eeb1153b1d6edf"},{"robot_id":"zuul","robot_run_id":"1b9c37cc6c274360b6bf56e582614841","url":"https://zuul.teim.app/t/main/buildset/1b9c37cc6c274360b6bf56e582614841","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"3068e22fefb21baca7026b1471aa2f53bc349fe5","patch_set":19,"id":"ca718b4d_10bf468c","line":1915,"updated":"2026-02-18 17:48:34.000000000","message":"Test for multiple NovaHelper instances to verify config override doesn\u0027t cause issues\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: The _override_deprecated_configs method uses a flag (_config_overrides) to prevent running multiple times. Adding a test for multiple NovaHelper instances would verify this behavior works correctly.\n\n**Recommendation**:\nAdd a test case that creates multiple NovaHelper instances in the same test to verify the config override logic handles this scenario correctly and doesn\u0027t cause issues with the _config_overrides flag.","commit_id":"b45ffafbf6853770fc26adbb92d68fb3bf5c03fc"},{"robot_id":"zuul","robot_run_id":"1b9c37cc6c274360b6bf56e582614841","url":"https://zuul.teim.app/t/main/buildset/1b9c37cc6c274360b6bf56e582614841","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"3068e22fefb21baca7026b1471aa2f53bc349fe5","patch_set":19,"id":"d02e34b4_55d7d581","line":1976,"updated":"2026-02-18 17:48:34.000000000","message":"Test coverage gap - no integration tests verify actual retry behavior with openstacksdk\n\n**Severity**: WARNING | **Confidence**: 0.8\n\n**Impact**: The new tests only verify that config values are set correctly. There are no tests that verify the actual retry behavior when connection failures occur.\n\n**Suggestion**:\nConsider adding integration-style tests that mock connection failures to verify that openstacksdk/keystoneauth actually retries with the configured settings. This would ensure the retry behavior works as expected in practice.","commit_id":"b45ffafbf6853770fc26adbb92d68fb3bf5c03fc"},{"robot_id":"zuul","robot_run_id":"c7946250067740b9bf8e950663823c97","url":"https://zuul.teim.app/t/main/buildset/c7946250067740b9bf8e950663823c97","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"a8653cd7eeaeee4fc6856ddc4258f2f05e73129c","patch_set":21,"id":"ae0492da_7b7fc1b6","line":1976,"updated":"2026-02-19 18:17:05.000000000","message":"The tests verify that connect_retries and connect_retry_delay are set correctly, but don\u0027t verify that openstacksdk actually uses these values for retries.\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Integration tests would provide confidence that the retry mechanism actually works in practice and catches the right exceptions at the adapter level.\n\n**Recommendation**:\nConsider adding an integration test that simulates connection failures to verify retries occur using mocking at the http client level.","commit_id":"2b311a405321484b17c14c7e78aca2715e2f2518"},{"robot_id":"zuul","robot_run_id":"1a272acd93054c2ea4725ffef3a93d4d","url":"https://zuul.teim.app/t/main/buildset/1a272acd93054c2ea4725ffef3a93d4d","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"ff87a54831a5f05bd88e8050239b1fc13bd4e494","patch_set":22,"id":"8c3e3346_d65a438d","line":1976,"updated":"2026-02-19 18:38:57.000000000","message":"New tests verify configuration mapping but do not verify that retry behavior actually works with connection failures.\n\n**Severity**: SUGGESTION | **Confidence**: 0.8\n\n**Benefit**: Integration-style tests would increase confidence that the retry mechanism works correctly with openstacksdk and catches regressions if adapter behavior changes.\n\n**Recommendation**:\nAdd tests that mock the connection to raise ConnectionError and verify it\u0027s retried the expected number of times with the configured interval.","commit_id":"c684a9780dc2165bfa227695af9d05a27eaeb4cf"},{"robot_id":"zuul","robot_run_id":"5c02caa6791840248a2737591155e488","url":"https://zuul.teim.app/t/main/buildset/5c02caa6791840248a2737591155e488","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"tag":"autogenerated:zuul:automatic-ci","change_message_id":"cb1aacbd7cd70eadebbaaf8d310b49bd60001e37","patch_set":24,"id":"5bec1674_39b98318","line":1976,"updated":"2026-02-24 11:37:57.000000000","message":"The test coverage for the new retry mechanism could be improved\n\n**Severity**: SUGGESTION | **Confidence**: 0.7\n\n**Benefit**: While the tests verify that the configuration values are set correctly, they don\u0027t actually test that the retry behavior works as expected (e.g., by mocking connection failures and verifying retries occur).\n\n**Recommendation**:\nConsider adding integration-style tests that mock openstacksdk connection failures to verify the retry mechanism actually works. The removed TestNovaRetries class had good tests for the old mechanism - similar tests for the new mechanism would be valuable.","commit_id":"6584fb2957e9faab17a055394d9fb43a862850f9"}]}
