)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"6d8528bf993327d931febd561f5e561145c44f4a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b037e283_7ce22528","updated":"2025-09-03 09:57:46.000000000","message":"LGTM","commit_id":"7093bffbfb2fe3c5b48b54fea266d232f8c0f752"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"69833f7d69e1065e77845272b8f448354d6ee8eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"862c52a7_01b0299f","updated":"2025-09-03 13:58:49.000000000","message":"Run-NetApp CI","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"f7b9c1f4f4d735a165a2e95dac7f63beac80931c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"970929e8_31e6de6c","updated":"2025-09-04 18:52:16.000000000","message":"Thank you so much Alan for valuable comments. Have re-used existing code and the credit goes to you for pointing out! Thanks a lot. Addressed all the comments.","commit_id":"9c1f5ed570fdae9813d9f0d8b6747e30c3fbb033"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0cf90be8f872340eb87c77b8308fe08a9347cd74","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a302f348_1a7e669a","updated":"2025-09-08 17:07:19.000000000","message":"Addressed the latest comments. Thank you so much @abishop@redhat.com !!","commit_id":"40ad10bbf398d3bc8218edd11c19542007da9939"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"e239f683908b6ba7c115581ba66c34698c4e6b2e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9798bdeb_765b1f05","updated":"2025-09-09 07:41:34.000000000","message":"Run-NetApp CI","commit_id":"40ad10bbf398d3bc8218edd11c19542007da9939"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"7cb87f6dba80817739d3674d4fbbf9bbb4da0b07","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d78f35fa_530f0a68","updated":"2025-09-10 10:59:17.000000000","message":"Thank you! Fernando. I really appreciate your comments. Addressed your comment. Please review again.","commit_id":"40ad10bbf398d3bc8218edd11c19542007da9939"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"eb3c0e8cc53d2937c1f7ec4f86e18bd5c7c7ba49","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1eaf77de_636aa659","updated":"2025-09-09 03:57:29.000000000","message":"recheck","commit_id":"40ad10bbf398d3bc8218edd11c19542007da9939"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"836f8d7cf7914122896765d9d64d48d03f572934","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"c4575f11_cbe651ee","updated":"2025-09-10 13:20:37.000000000","message":"Hey Saikumar thanks for responding to my comments. I have just a last concern regarding reno for your analysis.","commit_id":"2219b37f9585b35e2457446b1e0ab5cbbb6652de"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"1f3d579192b2fa639d2596be2f89229c67c78ef1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"93bdfddb_1c666526","updated":"2025-09-11 14:18:41.000000000","message":"@rajatdhasmana@gmail.com @jobernar@redhat.com\n\nOnly one test case is failing which is introduced recently on Sep 8th as part of https://review.opendev.org/c/openstack/tempest/+/956225. Apart from that all are passing.\nhttps://netappopenstacklogserver.s3-us-west-1.amazonaws.com/logs/93/959293/9/upstream-check/cinder-tempest-plugin-ontap-iscsi/6353170/testr_results.html\nhttps://netappopenstacklogserver.s3-us-west-1.amazonaws.com/logs/93/959293/9/upstream-check/cinder-tempest-plugin-ontap-nvme-tcp/b7fb4dd/testr_results.html\n \nFor the failing test case I see Fernando Ferraz already raised a patch[WIP] to skip for drivers that don\u0027t support that test case.\nhttps://review.opendev.org/c/openstack/tempest/+/960562/1/tempest/api/volume/admin/test_volume_rety…\n[WIP: skip drivers that don\u0027t support multiattach in VolumeRetypeMultiattachTest]\n \nI think we are good with the NetApp CI here and because of the new test case NetApp CI is shown failed, otherwise it would have been succeeded like in earlier patches.\n\nPlease do approve this patch, thanks a lot!!","commit_id":"7cb3fbaae4c3d74149d0c1f9a45bd1b725c49ff4"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"034e651cebc66fd251000354eee16ef082888505","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"8f3045d1_4251619c","updated":"2025-09-11 15:38:13.000000000","message":"Can we add a depends-on for this patch: https://review.opendev.org/c/openstack/tempest/+/960562\n\nThat should yield a passing Ci result","commit_id":"7cb3fbaae4c3d74149d0c1f9a45bd1b725c49ff4"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"4166ae7119448f325db0dc31ad6459f633796ae1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"7a47438d_f517ef82","updated":"2025-09-10 18:22:11.000000000","message":"Hi Saikumar, I took the liberty of making a small change to your reno to ensure format is consistent with other NetApp patches in this release.\n\nCode looks good to me. Thanks for the quick response on my suggestions!","commit_id":"7cb3fbaae4c3d74149d0c1f9a45bd1b725c49ff4"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0c226d718ba956a0af4b690431daf4163cf6e0ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"a2acb0c7_3fa4e8cf","updated":"2025-09-11 10:36:16.000000000","message":"Run-NetApp CI","commit_id":"7cb3fbaae4c3d74149d0c1f9a45bd1b725c49ff4"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"7b830473b79459af6ac0f9d62e60cd597017428c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"742f0db6_0323363d","updated":"2025-09-10 19:12:23.000000000","message":"run-NetApp CI\n\ncode, tests and releasenote looks good to me apart from the one concern noted inline but it\u0027s not related to the change.\nThe netapp CI failed for iSCSI, FC and NVMe-TCP in the last run so it will be reassuring to see it pass.","commit_id":"7cb3fbaae4c3d74149d0c1f9a45bd1b725c49ff4"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"3ebd8248578534764614ce00fc39692953fc7ab0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"7e04396a_bc185f92","in_reply_to":"8f3045d1_4251619c","updated":"2025-09-11 15:43:34.000000000","message":"Done Jon!","commit_id":"7cb3fbaae4c3d74149d0c1f9a45bd1b725c49ff4"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"867b6163bc754481f9e96fef03995f400033edad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"0829b707_c3af25b4","updated":"2025-09-11 19:30:50.000000000","message":"Debug shows total_volumes getting properly reported to the scheduler [1] \n\n```\nSep 11 16:17:00.488476 ubuntu cinder-scheduler[94166]: DEBUG cinder.scheduler.host_manager [None req-d9e84c99-8411-4ab2-8ee5-32b97f8504b5 None None] Received volume service update from  ubuntu@ontap-cinder: {\u0027volume_backend_name\u0027: \u0027ontap-cinder\u0027, \u0027vendor_name\u0027: \u0027NetApp\u0027, \u0027driver_version\u0027: \u00274.0.0\u0027, \u0027storage_protocol\u0027: \u0027iSCSI\u0027, \u0027pools\u0027: [{\u0027pool_name\u0027: \u0027svm_cdot_iscsi_3_vol_000\u0027, \u0027netapp_thin_provisioned\u0027: \u0027true\u0027, \u0027thick_provisioning_support\u0027: False, \u0027thin_provisioning_support\u0027: True, \u0027netapp_aggregate\u0027: \u0027aggr1\u0027, \u0027netapp_is_flexgroup\u0027: \u0027false\u0027, \u0027netapp_dedup\u0027: \u0027false\u0027, \u0027netapp_compression\u0027: \u0027false\u0027, \u0027netapp_mirrored\u0027: \u0027false\u0027, \u0027netapp_flexvol_encryption\u0027: \u0027false\u0027, \u0027netapp_raid_type\u0027: \u0027raid0\u0027, \u0027netapp_hybrid_aggregate\u0027: \u0027false\u0027, \u0027netapp_disk_type\u0027: [\u0027VMDISK\u0027], \u0027netapp_qos_min_support\u0027: \u0027false\u0027, \u0027QoS_support\u0027: True, \u0027multiattach\u0027: True, \u0027online_extend_support\u0027: True, \u0027consistencygroup_support\u0027: True, \u0027consistent_group_snapshot_enabled\u0027: True, \u0027reserved_percentage\u0027: 0, \u0027max_over_subscription_ratio\u0027: 20.0, \u0027total_capacity_gb\u0027: 247.0, \u0027free_capacity_gb\u0027: 246.99, \u0027total_volumes\u0027: 0, \u0027netapp_dedupe_used_percent\u0027: 0.0, \u0027netapp_aggregate_used_percent\u0027: 0, \u0027utilization\u0027: 35.2, \u0027filter_function\u0027: \u0027capabilities.utilization \u003c 70 and capabilities.total_volumes \u003c 1024\u0027, \u0027goodness_function\u0027: \u0027100 - capabilities.utilization\u0027, \u0027replication_enabled\u0027: False, \u0027allocated_capacity_gb\u0027: 0, \u0027cacheable\u0027: True}, {\u0027pool_name\u0027: \u0027svm_cdot_iscsi_3_vol_001\u0027, \u0027netapp_thin_provisioned\u0027: \u0027true\u0027, \u0027thick_provisioning_support\u0027: False, \u0027thin_provisioning_support\u0027: True, \u0027netapp_aggregate\u0027: \u0027aggr1\u0027, \u0027netapp_is_flexgroup\u0027: \u0027false\u0027, \u0027netapp_dedup\u0027: \u0027false\u0027, \u0027netapp_compression\u0027: \u0027false\u0027, \u0027netapp_mirrored\u0027: \u0027false\u0027, \u0027netapp_flexvol_encryption\u0027: \u0027false\u0027, \u0027netapp_raid_type\u0027: \u0027raid0\u0027, \u0027netapp_hybrid_aggregate\u0027: \u0027false\u0027, \u0027netapp_disk_type\u0027: [\u0027VMDISK\u0027], \u0027netapp_qos_min_support\u0027: \u0027false\u0027, \u0027QoS_support\u0027: True, \u0027multiattach\u0027: True, \u0027online_extend_support\u0027: True, \u0027consistencygroup_support\u0027: True, \u0027consistent_group_snapshot_enabled\u0027: True, \u0027reserved_percentage\u0027: 0, \u0027max_over_subscription_ratio\u0027: 20.0, \u0027total_capacity_gb\u0027: 247.0, \u0027free_capacity_gb\u0027: 245.99, \u0027total_volumes\u0027: 2, \u0027netapp_dedupe_used_percent\u0027: 214749184000.0, \u0027netapp_aggregate_used_percent\u0027: 0, \u0027utilization\u0027: 35.2, \u0027filter_function\u0027: \u0027capabilities.utilization \u003c 70 and capabilities.total_volumes \u003c 1024\u0027, \u0027goodness_function\u0027: \u0027100 - capabilities.utilization\u0027, \u0027replication_enabled\u0027: False, \u0027allocated_capacity_gb\u0027: 1, \u0027cacheable\u0027: True}], \u0027sparse_copy_volume\u0027: True, \u0027replication_enabled\u0027: False, \u0027filter_function\u0027: \u0027capabilities.utilization \u003c 70 and capabilities.total_volumes \u003c 1024\u0027, \u0027goodness_function\u0027: \u0027100 - capabilities.utilization\u0027} {{(pid\u003d94166) update_service_capabilities /opt/stack/cinder/cinder/scheduler/host_manager.py:629}}\n\n```\n\nhttps://netappopenstacklogserver.s3-us-west-1.amazonaws.com/logs/93/959293/10/upstream-check/cinder-tempest-plugin-ontap-iscsi/275b476/controller/logs/screen-c-sch.txt","commit_id":"0bdb94112f955a5df6a40a8b967da9e9e916c17a"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"e9df82bbdf5224f323f6229f9c4b4c1a47c7c835","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"aa1f964e_f20411f7","updated":"2025-09-11 15:49:33.000000000","message":"Run-NetApp CI","commit_id":"0bdb94112f955a5df6a40a8b967da9e9e916c17a"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"c55224bbf33fa62611920bcbb77b3865c01ebb8b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"4969a3de_476b6744","updated":"2025-09-12 16:02:28.000000000","message":"LGTM, thanks!","commit_id":"9c63da02a4573e51aefc9f629d3553d60518a394"}],"cinder/tests/unit/volume/drivers/netapp/dataontap/client/test_client_cmode_rest.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"0e657e27197124d79e41af702198cca847d5e13f","unresolved":true,"context_lines":[{"line_number":4356,"context_line":"        {"},{"line_number":4357,"context_line":"            \u0027volume_name\u0027: fake.VOLUME_NAME,"},{"line_number":4358,"context_line":"            \u0027vserver_name\u0027: fake.VSERVER_NAME,"},{"line_number":4359,"context_line":"            \u0027protocol\u0027: fake.ISCSI_PROTOCOL,"},{"line_number":4360,"context_line":"        },"},{"line_number":4361,"context_line":"        {"},{"line_number":4362,"context_line":"            \u0027volume_name\u0027: fake.NETAPP_VOLUME,"}],"source_content_type":"text/x-python","patch_set":3,"id":"d9834231_b3599d52","line":4359,"updated":"2025-09-03 17:56:26.000000000","message":"As I ask elsewhere in the review, what about FC?","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"f7b9c1f4f4d735a165a2e95dac7f63beac80931c","unresolved":false,"context_lines":[{"line_number":4356,"context_line":"        {"},{"line_number":4357,"context_line":"            \u0027volume_name\u0027: fake.VOLUME_NAME,"},{"line_number":4358,"context_line":"            \u0027vserver_name\u0027: fake.VSERVER_NAME,"},{"line_number":4359,"context_line":"            \u0027protocol\u0027: fake.ISCSI_PROTOCOL,"},{"line_number":4360,"context_line":"        },"},{"line_number":4361,"context_line":"        {"},{"line_number":4362,"context_line":"            \u0027volume_name\u0027: fake.NETAPP_VOLUME,"}],"source_content_type":"text/x-python","patch_set":3,"id":"6de0b748_487888ff","line":4359,"in_reply_to":"d9834231_b3599d52","updated":"2025-09-04 18:52:16.000000000","message":"Not needed anymore. Done.","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"}],"cinder/tests/unit/volume/drivers/netapp/dataontap/fakes.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"0e657e27197124d79e41af702198cca847d5e13f","unresolved":true,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"ISCSI_PROTOCOL \u003d \u0027iscsi\u0027"},{"line_number":179,"context_line":"NVME_PROTOCOL \u003d \u0027nvme\u0027"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"FC_VOLUME \u003d {\u0027name\u0027: \u0027fake_volume\u0027}"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"FC_INITIATORS \u003d [\u002721000024ff406cc3\u0027, \u002721000024ff406cc2\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"6afd12a7_35d20624","line":180,"updated":"2025-09-03 17:56:26.000000000","message":"I don\u0027t know why you need to define fake versions of these when real ones exist in common/constants.py","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"f7b9c1f4f4d735a165a2e95dac7f63beac80931c","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"ISCSI_PROTOCOL \u003d \u0027iscsi\u0027"},{"line_number":179,"context_line":"NVME_PROTOCOL \u003d \u0027nvme\u0027"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"FC_VOLUME \u003d {\u0027name\u0027: \u0027fake_volume\u0027}"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"FC_INITIATORS \u003d [\u002721000024ff406cc3\u0027, \u002721000024ff406cc2\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"19b85d2f_80a1996d","line":180,"in_reply_to":"6afd12a7_35d20624","updated":"2025-09-04 18:52:16.000000000","message":"Removed.","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"}],"cinder/tests/unit/volume/drivers/netapp/dataontap/utils/test_capabilities.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"9201859a05ab7513439d04acb14c9ab695d48a6a","unresolved":true,"context_lines":[{"line_number":115,"context_line":"            side_effect\u003d[fake.SSC_QOS_MIN_INFO[\u0027volume1\u0027],"},{"line_number":116,"context_line":"                         fake.SSC_QOS_MIN_INFO[\u0027volume2\u0027]])"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        if self.configuration.safe_get(\u0027netapp_storage_protocol\u0027) !\u003d \u0027nfs\u0027:"},{"line_number":119,"context_line":"            mock_get_ssc_volume_count_info \u003d self.mock_object("},{"line_number":120,"context_line":"                self.ssc_library, \u0027_get_ssc_volume_count_info\u0027,"},{"line_number":121,"context_line":"                side_effect\u003d[fake.SSC_VOLUME_COUNT_INFO[\u0027volume1\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"aa164b28_eed120b5","line":118,"updated":"2025-09-05 12:36:31.000000000","message":"I don\u0027t know how this works: what sets the protocol, and how are all protocols tested? I expected it to be a parameter with DDT to test different values. You wouldn\u0027t need to test all protocols, just \u0027nfs\u0027 and something else (not \u0027nfs\u0027).","commit_id":"9c1f5ed570fdae9813d9f0d8b6747e30c3fbb033"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0cf90be8f872340eb87c77b8308fe08a9347cd74","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            side_effect\u003d[fake.SSC_QOS_MIN_INFO[\u0027volume1\u0027],"},{"line_number":116,"context_line":"                         fake.SSC_QOS_MIN_INFO[\u0027volume2\u0027]])"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        if self.configuration.safe_get(\u0027netapp_storage_protocol\u0027) !\u003d \u0027nfs\u0027:"},{"line_number":119,"context_line":"            mock_get_ssc_volume_count_info \u003d self.mock_object("},{"line_number":120,"context_line":"                self.ssc_library, \u0027_get_ssc_volume_count_info\u0027,"},{"line_number":121,"context_line":"                side_effect\u003d[fake.SSC_VOLUME_COUNT_INFO[\u0027volume1\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"c2fcb757_a0aa2362","line":118,"in_reply_to":"aa164b28_eed120b5","updated":"2025-09-08 17:07:19.000000000","message":"Done.","commit_id":"9c1f5ed570fdae9813d9f0d8b6747e30c3fbb033"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"9201859a05ab7513439d04acb14c9ab695d48a6a","unresolved":true,"context_lines":[{"line_number":564,"context_line":""},{"line_number":565,"context_line":"        expected \u003d {\u0027total_volumes\u0027: 2}"},{"line_number":566,"context_line":"        self.assertEqual(expected, result)"},{"line_number":567,"context_line":"        if self.configuration.safe_get(\u0027netapp_storage_protocol\u0027) \u003d\u003d \u0027nvme\u0027:"},{"line_number":568,"context_line":"            self.zapi_client.get_namespace_sizes_by_volume.\\"},{"line_number":569,"context_line":"                assert_called_once_with(fake_client.VOLUME_NAMES[0])"},{"line_number":570,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"62e2952a_91f96b78","line":567,"updated":"2025-09-05 12:36:31.000000000","message":"As I asked above, what configures the protcol, and how can you know if both cases (\u0027nvme\u0027 and not \u0027nvme\u0027) are covered?","commit_id":"9c1f5ed570fdae9813d9f0d8b6747e30c3fbb033"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0cf90be8f872340eb87c77b8308fe08a9347cd74","unresolved":false,"context_lines":[{"line_number":564,"context_line":""},{"line_number":565,"context_line":"        expected \u003d {\u0027total_volumes\u0027: 2}"},{"line_number":566,"context_line":"        self.assertEqual(expected, result)"},{"line_number":567,"context_line":"        if self.configuration.safe_get(\u0027netapp_storage_protocol\u0027) \u003d\u003d \u0027nvme\u0027:"},{"line_number":568,"context_line":"            self.zapi_client.get_namespace_sizes_by_volume.\\"},{"line_number":569,"context_line":"                assert_called_once_with(fake_client.VOLUME_NAMES[0])"},{"line_number":570,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"26240430_22a66282","line":567,"in_reply_to":"62e2952a_91f96b78","updated":"2025-09-08 17:07:19.000000000","message":"Done.","commit_id":"9c1f5ed570fdae9813d9f0d8b6747e30c3fbb033"}],"cinder/volume/drivers/netapp/dataontap/block_base.py":[{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"3acb35b5952c92e0b095cd92b37411b7a73b470b","unresolved":true,"context_lines":[{"line_number":87,"context_line":"                                 \u0027xen\u0027, \u0027hyper_v\u0027]"},{"line_number":88,"context_line":"    DEFAULT_LUN_OS \u003d \u0027linux\u0027"},{"line_number":89,"context_line":"    DEFAULT_HOST_TYPE \u003d \u0027linux\u0027"},{"line_number":90,"context_line":"    DEFAULT_FILTER_FUNCTION \u003d \u0027capabilities.utilization \u003c 70 and \u0027 \\"},{"line_number":91,"context_line":"                              \u0027capabilities.total_volumes \u003c 1024\u0027"},{"line_number":92,"context_line":"    DEFAULT_GOODNESS_FUNCTION \u003d \u0027100 - capabilities.utilization\u0027"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"9451df0c_f87cd052","line":90,"updated":"2025-09-09 17:23:03.000000000","message":"It is preferred to wrap long lines in parentheses and not a backslash for line continuation. That is because any trailing space added after the backslash may result in a syntax error.\n\nSee OpenStack code style for reference\nhttps://docs.openstack.org/hacking/latest/user/hacking.html","commit_id":"40ad10bbf398d3bc8218edd11c19542007da9939"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"eff75ced65c0024293b09d0aaa1b59a3ee370b60","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                                 \u0027xen\u0027, \u0027hyper_v\u0027]"},{"line_number":88,"context_line":"    DEFAULT_LUN_OS \u003d \u0027linux\u0027"},{"line_number":89,"context_line":"    DEFAULT_HOST_TYPE \u003d \u0027linux\u0027"},{"line_number":90,"context_line":"    DEFAULT_FILTER_FUNCTION \u003d \u0027capabilities.utilization \u003c 70 and \u0027 \\"},{"line_number":91,"context_line":"                              \u0027capabilities.total_volumes \u003c 1024\u0027"},{"line_number":92,"context_line":"    DEFAULT_GOODNESS_FUNCTION \u003d \u0027100 - capabilities.utilization\u0027"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"f9b055be_82147b9a","line":90,"in_reply_to":"9451df0c_f87cd052","updated":"2025-09-10 12:25:50.000000000","message":"Done. Thank you Fernando.","commit_id":"40ad10bbf398d3bc8218edd11c19542007da9939"}],"cinder/volume/drivers/netapp/dataontap/block_cmode.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"0e657e27197124d79e41af702198cca847d5e13f","unresolved":true,"context_lines":[{"line_number":441,"context_line":"            pool[\u0027netapp_aggregate_used_percent\u0027] \u003d aggr_capacity.get("},{"line_number":442,"context_line":"                \u0027percent-used\u0027, 0)"},{"line_number":443,"context_line":"            pool[\u0027total_volumes\u0027] \u003d \\"},{"line_number":444,"context_line":"                self.zapi_client.get_lun_or_namespace_count_by_volume("},{"line_number":445,"context_line":"                ssc_vol_name, self.vserver,"},{"line_number":446,"context_line":"                self.configuration.safe_get(\"netapp_storage_protocol\"))"},{"line_number":447,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"485593ad_84d46382","line":444,"updated":"2025-09-03 17:56:26.000000000","message":"It seems like you have similar info at L416: len(luns)? Perhaps this could be a future enhancement, but a good goal would seem to be reducing the number of zapi calls when fetching pool stats.","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"f7b9c1f4f4d735a165a2e95dac7f63beac80931c","unresolved":false,"context_lines":[{"line_number":441,"context_line":"            pool[\u0027netapp_aggregate_used_percent\u0027] \u003d aggr_capacity.get("},{"line_number":442,"context_line":"                \u0027percent-used\u0027, 0)"},{"line_number":443,"context_line":"            pool[\u0027total_volumes\u0027] \u003d \\"},{"line_number":444,"context_line":"                self.zapi_client.get_lun_or_namespace_count_by_volume("},{"line_number":445,"context_line":"                ssc_vol_name, self.vserver,"},{"line_number":446,"context_line":"                self.configuration.safe_get(\"netapp_storage_protocol\"))"},{"line_number":447,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"fa35eb0b_93711a54","line":444,"in_reply_to":"485593ad_84d46382","updated":"2025-09-04 18:52:16.000000000","message":"Right Alan. Thanks a lot for pointing out that function exists! Re-used that code and removed all the new code. Ack about zapi calls.","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"3acb35b5952c92e0b095cd92b37411b7a73b470b","unresolved":true,"context_lines":[{"line_number":415,"context_line":"            luns \u003d self.zapi_client.get_lun_sizes_by_volume("},{"line_number":416,"context_line":"                ssc_vol_name)"},{"line_number":417,"context_line":"            pool[\u0027total_volumes\u0027] \u003d len(luns)"},{"line_number":418,"context_line":"            if self.configuration.netapp_driver_reports_provisioned_capacity:"},{"line_number":419,"context_line":"                provisioned_cap \u003d 0"},{"line_number":420,"context_line":"                for lun in luns:"},{"line_number":421,"context_line":"                    lun_name \u003d lun[\u0027path\u0027].split(\u0027/\u0027)[-1]"}],"source_content_type":"text/x-python","patch_set":5,"id":"79c3862f_90438094","line":418,"updated":"2025-09-09 17:23:03.000000000","message":"The `netapp_driver_reports_provisioned_capacity` configuration aimed to reduce the performance impact by not querying lun information if provisioned capacity isn\u0027t required/consumed. \nConsidering that now the lun information will be queried all the time to provide the total_volumes capability, does this configuration still make sense?","commit_id":"40ad10bbf398d3bc8218edd11c19542007da9939"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"eff75ced65c0024293b09d0aaa1b59a3ee370b60","unresolved":false,"context_lines":[{"line_number":415,"context_line":"            luns \u003d self.zapi_client.get_lun_sizes_by_volume("},{"line_number":416,"context_line":"                ssc_vol_name)"},{"line_number":417,"context_line":"            pool[\u0027total_volumes\u0027] \u003d len(luns)"},{"line_number":418,"context_line":"            if self.configuration.netapp_driver_reports_provisioned_capacity:"},{"line_number":419,"context_line":"                provisioned_cap \u003d 0"},{"line_number":420,"context_line":"                for lun in luns:"},{"line_number":421,"context_line":"                    lun_name \u003d lun[\u0027path\u0027].split(\u0027/\u0027)[-1]"}],"source_content_type":"text/x-python","patch_set":5,"id":"aaa619e1_bb0dce50","line":418,"in_reply_to":"79c3862f_90438094","updated":"2025-09-10 12:25:50.000000000","message":"Hi Fernando, thank you for this comment.\n\nYes, I believe the \"netapp_driver_reports_provisioned_capacity\" configuration makes  sense because this gets populated only when we pass \"netapp_driver_reports_provisioned_capacity \u003d true\" in cinder.conf for a NetApp backend  stanza, otherwise this will be anyway ignored. \n\nInitially in this patch I have written code to only get number of luns. Got a suggestion from Alan to re-use the exiting method https://review.opendev.org/c/openstack/cinder/+/959293/comment/485593ad_84d46382/ and hence I have changed the code completely everywhere to re-use. \n\nThis is one of the important patch which our customers are waiting for. Please let us know if any concerns on this and we can create a tracking bug and address in the next release as we are almost near to the RC1 now. \n\nThank you so much for the suggestions and understanding!!","commit_id":"40ad10bbf398d3bc8218edd11c19542007da9939"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"836f8d7cf7914122896765d9d64d48d03f572934","unresolved":false,"context_lines":[{"line_number":415,"context_line":"            luns \u003d self.zapi_client.get_lun_sizes_by_volume("},{"line_number":416,"context_line":"                ssc_vol_name)"},{"line_number":417,"context_line":"            pool[\u0027total_volumes\u0027] \u003d len(luns)"},{"line_number":418,"context_line":"            if self.configuration.netapp_driver_reports_provisioned_capacity:"},{"line_number":419,"context_line":"                provisioned_cap \u003d 0"},{"line_number":420,"context_line":"                for lun in luns:"},{"line_number":421,"context_line":"                    lun_name \u003d lun[\u0027path\u0027].split(\u0027/\u0027)[-1]"}],"source_content_type":"text/x-python","patch_set":5,"id":"e593fcd9_5bf093c6","line":418,"in_reply_to":"aaa619e1_bb0dce50","updated":"2025-09-10 13:20:37.000000000","message":"I don\u0027t believe this is actually an issue, but I would suggest deprecating the option in a follow-up patch, considering the information is now always acquired, so the option kind of loses its purpose.","commit_id":"40ad10bbf398d3bc8218edd11c19542007da9939"}],"cinder/volume/drivers/netapp/dataontap/client/client_cmode_rest.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"0e657e27197124d79e41af702198cca847d5e13f","unresolved":true,"context_lines":[{"line_number":2979,"context_line":"            \u0027location.volume.name\u0027: volume_name"},{"line_number":2980,"context_line":"        }"},{"line_number":2981,"context_line":""},{"line_number":2982,"context_line":"        if protocol \u003d\u003d \u0027iscsi\u0027:"},{"line_number":2983,"context_line":"            LOG.debug(\"Getting LUN count for volume %(volume_name) on \""},{"line_number":2984,"context_line":"                      \"vserver %(vserver_name)\")"},{"line_number":2985,"context_line":"            response \u003d self.send_request("}],"source_content_type":"text/x-python","patch_set":3,"id":"36342f4b_5f6fd86f","line":2982,"updated":"2025-09-03 17:56:26.000000000","message":"Where does FC fit in? I thought the namespaces was for NVMe.","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"f7b9c1f4f4d735a165a2e95dac7f63beac80931c","unresolved":false,"context_lines":[{"line_number":2979,"context_line":"            \u0027location.volume.name\u0027: volume_name"},{"line_number":2980,"context_line":"        }"},{"line_number":2981,"context_line":""},{"line_number":2982,"context_line":"        if protocol \u003d\u003d \u0027iscsi\u0027:"},{"line_number":2983,"context_line":"            LOG.debug(\"Getting LUN count for volume %(volume_name) on \""},{"line_number":2984,"context_line":"                      \"vserver %(vserver_name)\")"},{"line_number":2985,"context_line":"            response \u003d self.send_request("}],"source_content_type":"text/x-python","patch_set":3,"id":"1d8ee49e_42236bdb","line":2982,"in_reply_to":"36342f4b_5f6fd86f","updated":"2025-09-04 18:52:16.000000000","message":"This method is removed and re-used existing code. It\u0027s now for !nfs protocols and which means FC is included. Thanks Alan.","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"}],"cinder/volume/drivers/netapp/dataontap/utils/capabilities.py":[{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"3acb35b5952c92e0b095cd92b37411b7a73b470b","unresolved":true,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"            ssc_volume.update(self._get_ssc_qos_min_info(node_name))"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"            if self.protocol.casefold() !\u003d \u0027nfs\u0027:"},{"line_number":119,"context_line":"                ssc_volume.update"},{"line_number":120,"context_line":"                (self._get_ssc_volume_count_info(flexvol_name))"},{"line_number":121,"context_line":"            ssc[flexvol_name] \u003d ssc_volume"}],"source_content_type":"text/x-python","patch_set":5,"id":"96f98417_4901675b","line":118,"updated":"2025-09-09 17:23:03.000000000","message":"nit: protocol already goes through lower() function in line 32 so maybe casefold() isnt required.","commit_id":"40ad10bbf398d3bc8218edd11c19542007da9939"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"7cb87f6dba80817739d3674d4fbbf9bbb4da0b07","unresolved":false,"context_lines":[{"line_number":115,"context_line":""},{"line_number":116,"context_line":"            ssc_volume.update(self._get_ssc_qos_min_info(node_name))"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"            if self.protocol.casefold() !\u003d \u0027nfs\u0027:"},{"line_number":119,"context_line":"                ssc_volume.update"},{"line_number":120,"context_line":"                (self._get_ssc_volume_count_info(flexvol_name))"},{"line_number":121,"context_line":"            ssc[flexvol_name] \u003d ssc_volume"}],"source_content_type":"text/x-python","patch_set":5,"id":"7edf98ad_24c2193b","line":118,"in_reply_to":"96f98417_4901675b","updated":"2025-09-10 10:59:17.000000000","message":"Hi Fernando, Thank you! for your comments. yes, lower() is called and casefold is a duplication call.But when we design and implement any function... we try to make it self-contained so that this function can be reused without any constraints. This will promote high-Cohesion and Loose Coupling. If we remove casefold(). Then burden will be on the caller to convert to lower case before making call to this function. I hope this approach will promote better reuse.","commit_id":"40ad10bbf398d3bc8218edd11c19542007da9939"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"3acb35b5952c92e0b095cd92b37411b7a73b470b","unresolved":true,"context_lines":[{"line_number":306,"context_line":"    def _get_ssc_volume_count_info(self, flexvol_name):"},{"line_number":307,"context_line":"        \"\"\"Gather volume count info and recast into SSC-style volume stats.\"\"\""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        if self.protocol.casefold() \u003d\u003d \u0027nvme\u0027:"},{"line_number":310,"context_line":"            namespaces \u003d self.zapi_client.get_namespace_sizes_by_volume("},{"line_number":311,"context_line":"                flexvol_name)"},{"line_number":312,"context_line":"            volume_count \u003d len(namespaces)"}],"source_content_type":"text/x-python","patch_set":5,"id":"68601170_6ec96466","line":309,"updated":"2025-09-09 17:23:03.000000000","message":"nit: protocol already goes through lower() function in line 32 so maybe casefold() isnt required.","commit_id":"40ad10bbf398d3bc8218edd11c19542007da9939"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"7cb87f6dba80817739d3674d4fbbf9bbb4da0b07","unresolved":false,"context_lines":[{"line_number":306,"context_line":"    def _get_ssc_volume_count_info(self, flexvol_name):"},{"line_number":307,"context_line":"        \"\"\"Gather volume count info and recast into SSC-style volume stats.\"\"\""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        if self.protocol.casefold() \u003d\u003d \u0027nvme\u0027:"},{"line_number":310,"context_line":"            namespaces \u003d self.zapi_client.get_namespace_sizes_by_volume("},{"line_number":311,"context_line":"                flexvol_name)"},{"line_number":312,"context_line":"            volume_count \u003d len(namespaces)"}],"source_content_type":"text/x-python","patch_set":5,"id":"4196ed3a_b95b1c71","line":309,"in_reply_to":"68601170_6ec96466","updated":"2025-09-10 10:59:17.000000000","message":"Hi Fernando, Thank you! for your comments. yes, lower() is called and casefold is a duplication call.But when we design and implement any function... we try to make it self-contained so that this function can be reused without any constraints. This will promote high-Cohesion and Loose Coupling. If we remove casefold(). Then burden will be on the caller to convert to lower case before making call to this function. I hope this approach will promote better reuse.","commit_id":"40ad10bbf398d3bc8218edd11c19542007da9939"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"7b830473b79459af6ac0f9d62e60cd597017428c","unresolved":true,"context_lines":[{"line_number":307,"context_line":"        \"\"\"Gather volume count info and recast into SSC-style volume stats.\"\"\""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        if self.protocol.casefold() \u003d\u003d \u0027nvme\u0027:"},{"line_number":310,"context_line":"            namespaces \u003d self.zapi_client.get_namespace_sizes_by_volume("},{"line_number":311,"context_line":"                flexvol_name)"},{"line_number":312,"context_line":"            volume_count \u003d len(namespaces)"},{"line_number":313,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"143a46e4_0be86aaa","line":310,"range":{"start_line":310,"start_character":30,"end_line":310,"end_character":41},"updated":"2025-09-10 19:12:23.000000000","message":"my only concern is with the introduction of REST client for AFF and ASA, we are still using ZAPI here which netapp is planning to remove support for in future","commit_id":"7cb3fbaae4c3d74149d0c1f9a45bd1b725c49ff4"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"cd8aae146cf03b1666c9fb0adb5736151d2ee12f","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        \"\"\"Gather volume count info and recast into SSC-style volume stats.\"\"\""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        if self.protocol.casefold() \u003d\u003d \u0027nvme\u0027:"},{"line_number":310,"context_line":"            namespaces \u003d self.zapi_client.get_namespace_sizes_by_volume("},{"line_number":311,"context_line":"                flexvol_name)"},{"line_number":312,"context_line":"            volume_count \u003d len(namespaces)"},{"line_number":313,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"365b248c_0a8ed878","line":310,"range":{"start_line":310,"start_character":30,"end_line":310,"end_character":41},"in_reply_to":"143a46e4_0be86aaa","updated":"2025-09-11 10:46:21.000000000","message":"Hi Rajat, \n\nDuring run time, it points to both ZAPI/REST clients for AFF/ASA. The current naming is misleading and we need to refactor this to represent correctly. Noted this and we will have this fixed in the coming release. Thank you!","commit_id":"7cb3fbaae4c3d74149d0c1f9a45bd1b725c49ff4"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"6598d278687bd41a4be112678ab988b2cd77c962","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        \"\"\"Gather volume count info and recast into SSC-style volume stats.\"\"\""},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        if self.protocol.casefold() \u003d\u003d \u0027nvme\u0027:"},{"line_number":310,"context_line":"            namespaces \u003d self.zapi_client.get_namespace_sizes_by_volume("},{"line_number":311,"context_line":"                flexvol_name)"},{"line_number":312,"context_line":"            volume_count \u003d len(namespaces)"},{"line_number":313,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":9,"id":"77c62530_7ff8ee50","line":310,"range":{"start_line":310,"start_character":30,"end_line":310,"end_character":41},"in_reply_to":"365b248c_0a8ed878","updated":"2025-09-11 10:47:29.000000000","message":"I mean, we will fix the naming in the next release for sure. Thank you!","commit_id":"7cb3fbaae4c3d74149d0c1f9a45bd1b725c49ff4"}],"releasenotes/notes/bug-2117263-adding-total-volumes-capability-for-netapp-iscsi-nvme-drivers-79da99111b086161.yaml":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"22b8f689935dbd3a1c81d5f5e21fd96c758abe15","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The NetApp driver now supports the capability \"total_volumes\" and the"},{"line_number":5,"context_line":"    default filter function is updated to filter the backends once the pool"},{"line_number":6,"context_line":"    reaches maximum number of volumes which is 1024."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    The \"total_volumes\" can be used in netapp driver backend stanza to restrict"},{"line_number":9,"context_line":"    the number of volumes per pool, like in below example we are restricting"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"a58f6d86_5b899583","line":6,"updated":"2025-09-03 17:36:32.000000000","message":"which is 1024 and is due to the limitations from ONTAP FlexVolume.","commit_id":"7093bffbfb2fe3c5b48b54fea266d232f8c0f752"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"f7b9c1f4f4d735a165a2e95dac7f63beac80931c","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The NetApp driver now supports the capability \"total_volumes\" and the"},{"line_number":5,"context_line":"    default filter function is updated to filter the backends once the pool"},{"line_number":6,"context_line":"    reaches maximum number of volumes which is 1024."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    The \"total_volumes\" can be used in netapp driver backend stanza to restrict"},{"line_number":9,"context_line":"    the number of volumes per pool, like in below example we are restricting"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"b069d1b2_ae062736","line":6,"in_reply_to":"a58f6d86_5b899583","updated":"2025-09-04 18:52:16.000000000","message":"Done. Thank you Anoop.","commit_id":"7093bffbfb2fe3c5b48b54fea266d232f8c0f752"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"22b8f689935dbd3a1c81d5f5e21fd96c758abe15","unresolved":true,"context_lines":[{"line_number":11,"context_line":"    Example: filter_function\u003d\"capabilities.total_volumes \u003c 10\""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    Note: User should have the below filters added as part of the cinder.conf"},{"line_number":14,"context_line":"    under [DEFALT] stanza and only then default/driver filter works."},{"line_number":15,"context_line":"    Filters to add, scheduler_default_filters \u003d DriverFilter,CapabilitiesFilter"},{"line_number":16,"context_line":"  - |"},{"line_number":17,"context_line":"    `Bug #2117263 \u003chttps://bugs.launchpad.net/cinder/+bug/2117263\u003e`_: NetApp"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"6cb45fd7_5eecb503","line":14,"updated":"2025-09-03 17:36:32.000000000","message":"DEFAULT - Typo","commit_id":"7093bffbfb2fe3c5b48b54fea266d232f8c0f752"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"f7b9c1f4f4d735a165a2e95dac7f63beac80931c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    Example: filter_function\u003d\"capabilities.total_volumes \u003c 10\""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    Note: User should have the below filters added as part of the cinder.conf"},{"line_number":14,"context_line":"    under [DEFALT] stanza and only then default/driver filter works."},{"line_number":15,"context_line":"    Filters to add, scheduler_default_filters \u003d DriverFilter,CapabilitiesFilter"},{"line_number":16,"context_line":"  - |"},{"line_number":17,"context_line":"    `Bug #2117263 \u003chttps://bugs.launchpad.net/cinder/+bug/2117263\u003e`_: NetApp"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9911e9ae_20668c8d","line":14,"in_reply_to":"6cb45fd7_5eecb503","updated":"2025-09-04 18:52:16.000000000","message":"Done.","commit_id":"7093bffbfb2fe3c5b48b54fea266d232f8c0f752"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"0e657e27197124d79e41af702198cca847d5e13f","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    maximum number of volumes per a pool to 10."},{"line_number":11,"context_line":"    Example: filter_function\u003d\"capabilities.total_volumes \u003c 10\""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    Note: User should have the below filters added as part of the cinder.conf"},{"line_number":14,"context_line":"    under [DEFALT] stanza and only then default/driver filter works."},{"line_number":15,"context_line":"    Filters to add, scheduler_default_filters \u003d DriverFilter,CapabilitiesFilter"},{"line_number":16,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"d31a2467_fe916276","line":13,"range":{"start_line":13,"start_character":4,"end_line":13,"end_character":8},"updated":"2025-09-03 17:56:26.000000000","message":"This note is a little confusing and potentially misleading. It\u0027s important to remember the scheduler_default_filters option has a default list of filters, and it\u0027s true the DriverFilter must be added in order enable the driver\u0027s capabilities.total_volumes filter function. However, if you instruct the admin to configure \"scheduler_default_filters \u003d DriverFilter,CapabilitiesFilter\" (a hard coded list) then they\u0027ll end up disabling a couple of filters.\n\nI think what you want to do it say the admin needs to configure the scheduler_default_filters to include the DriverFilter, and maybe direct them to [1] for the default filter list.\n\n[1] https://docs.openstack.org/cinder/latest/configuration/block-storage/samples/cinder.conf.html","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"f7b9c1f4f4d735a165a2e95dac7f63beac80931c","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    maximum number of volumes per a pool to 10."},{"line_number":11,"context_line":"    Example: filter_function\u003d\"capabilities.total_volumes \u003c 10\""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    Note: User should have the below filters added as part of the cinder.conf"},{"line_number":14,"context_line":"    under [DEFALT] stanza and only then default/driver filter works."},{"line_number":15,"context_line":"    Filters to add, scheduler_default_filters \u003d DriverFilter,CapabilitiesFilter"},{"line_number":16,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"d4c44437_b45b053e","line":13,"range":{"start_line":13,"start_character":4,"end_line":13,"end_character":8},"in_reply_to":"d31a2467_fe916276","updated":"2025-09-04 18:52:16.000000000","message":"Done.","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"0e657e27197124d79e41af702198cca847d5e13f","unresolved":true,"context_lines":[{"line_number":11,"context_line":"    Example: filter_function\u003d\"capabilities.total_volumes \u003c 10\""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    Note: User should have the below filters added as part of the cinder.conf"},{"line_number":14,"context_line":"    under [DEFALT] stanza and only then default/driver filter works."},{"line_number":15,"context_line":"    Filters to add, scheduler_default_filters \u003d DriverFilter,CapabilitiesFilter"},{"line_number":16,"context_line":"  - |"},{"line_number":17,"context_line":"    `Bug #2117263 \u003chttps://bugs.launchpad.net/cinder/+bug/2117263\u003e`_: NetApp"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5e688fd6_5e8a6603","line":14,"range":{"start_line":14,"start_character":11,"end_line":14,"end_character":17},"updated":"2025-09-03 17:56:26.000000000","message":"typo: DEFAULT","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"f7b9c1f4f4d735a165a2e95dac7f63beac80931c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    Example: filter_function\u003d\"capabilities.total_volumes \u003c 10\""},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    Note: User should have the below filters added as part of the cinder.conf"},{"line_number":14,"context_line":"    under [DEFALT] stanza and only then default/driver filter works."},{"line_number":15,"context_line":"    Filters to add, scheduler_default_filters \u003d DriverFilter,CapabilitiesFilter"},{"line_number":16,"context_line":"  - |"},{"line_number":17,"context_line":"    `Bug #2117263 \u003chttps://bugs.launchpad.net/cinder/+bug/2117263\u003e`_: NetApp"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"4cb881d2_b7528613","line":14,"range":{"start_line":14,"start_character":11,"end_line":14,"end_character":17},"in_reply_to":"5e688fd6_5e8a6603","updated":"2025-09-04 18:52:16.000000000","message":"Done.","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"0e657e27197124d79e41af702198cca847d5e13f","unresolved":true,"context_lines":[{"line_number":14,"context_line":"    under [DEFALT] stanza and only then default/driver filter works."},{"line_number":15,"context_line":"    Filters to add, scheduler_default_filters \u003d DriverFilter,CapabilitiesFilter"},{"line_number":16,"context_line":"  - |"},{"line_number":17,"context_line":"    `Bug #2117263 \u003chttps://bugs.launchpad.net/cinder/+bug/2117263\u003e`_: NetApp"},{"line_number":18,"context_line":"    Cinder driver does not account for storage limits when provisioning volumes"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"212f06e3_757d501f","line":18,"range":{"start_line":17,"start_character":70,"end_line":18,"end_character":79},"updated":"2025-09-03 17:56:26.000000000","message":"This sentence states the bug but doesn\u0027t suggest the bug is now fixed. You can reword it by \"NetApp: Fix the issue where the driver does not account for storage limits when provisioning volumes.\"","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"f7b9c1f4f4d735a165a2e95dac7f63beac80931c","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    under [DEFALT] stanza and only then default/driver filter works."},{"line_number":15,"context_line":"    Filters to add, scheduler_default_filters \u003d DriverFilter,CapabilitiesFilter"},{"line_number":16,"context_line":"  - |"},{"line_number":17,"context_line":"    `Bug #2117263 \u003chttps://bugs.launchpad.net/cinder/+bug/2117263\u003e`_: NetApp"},{"line_number":18,"context_line":"    Cinder driver does not account for storage limits when provisioning volumes"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3befb6af_eecf3ebf","line":18,"range":{"start_line":17,"start_character":70,"end_line":18,"end_character":79},"in_reply_to":"212f06e3_757d501f","updated":"2025-09-04 18:52:16.000000000","message":"Done.","commit_id":"24d33e3fb0ee855ece1fe990291d2111b26ce463"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"9201859a05ab7513439d04acb14c9ab695d48a6a","unresolved":true,"context_lines":[{"line_number":14,"context_line":"    Note: The admin needs to configure the scheduler_default_filters to include"},{"line_number":15,"context_line":"    the DriverFilter as well under [DEFAULT] stanza as part of cinder.conf,"},{"line_number":16,"context_line":"    please refer [1] for the default filter list."},{"line_number":17,"context_line":"    "},{"line_number":18,"context_line":"    [1] https://docs.openstack.org/cinder/latest/configuration/block-storage/samples/cinder.conf.html"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"26629a37_e0866b80","line":17,"updated":"2025-09-05 12:36:31.000000000","message":"nit: remove whitespace","commit_id":"9c1f5ed570fdae9813d9f0d8b6747e30c3fbb033"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0cf90be8f872340eb87c77b8308fe08a9347cd74","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    Note: The admin needs to configure the scheduler_default_filters to include"},{"line_number":15,"context_line":"    the DriverFilter as well under [DEFAULT] stanza as part of cinder.conf,"},{"line_number":16,"context_line":"    please refer [1] for the default filter list."},{"line_number":17,"context_line":"    "},{"line_number":18,"context_line":"    [1] https://docs.openstack.org/cinder/latest/configuration/block-storage/samples/cinder.conf.html"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"17ff6be3_cc29fb0b","line":17,"in_reply_to":"26629a37_e0866b80","updated":"2025-09-08 17:07:19.000000000","message":"Done.","commit_id":"9c1f5ed570fdae9813d9f0d8b6747e30c3fbb033"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"9201859a05ab7513439d04acb14c9ab695d48a6a","unresolved":true,"context_lines":[{"line_number":18,"context_line":"    [1] https://docs.openstack.org/cinder/latest/configuration/block-storage/samples/cinder.conf.html"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"  - |"},{"line_number":21,"context_line":"    `Bug #2117263 \u003chttps://bugs.launchpad.net/cinder/+bug/2117263\u003e`_: \"NetApp: "},{"line_number":22,"context_line":"     Fix the issue where the driver does not account for storage limits"},{"line_number":23,"context_line":"     when provisioning volumes.\""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"a328fc6d_38b28d25","line":21,"range":{"start_line":21,"start_character":78,"end_line":21,"end_character":79},"updated":"2025-09-05 12:36:31.000000000","message":"nit: trailing whitespace","commit_id":"9c1f5ed570fdae9813d9f0d8b6747e30c3fbb033"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"0cf90be8f872340eb87c77b8308fe08a9347cd74","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    [1] https://docs.openstack.org/cinder/latest/configuration/block-storage/samples/cinder.conf.html"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"  - |"},{"line_number":21,"context_line":"    `Bug #2117263 \u003chttps://bugs.launchpad.net/cinder/+bug/2117263\u003e`_: \"NetApp: "},{"line_number":22,"context_line":"     Fix the issue where the driver does not account for storage limits"},{"line_number":23,"context_line":"     when provisioning volumes.\""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"179a06a8_3d389d32","line":21,"range":{"start_line":21,"start_character":78,"end_line":21,"end_character":79},"in_reply_to":"a328fc6d_38b28d25","updated":"2025-09-08 17:07:19.000000000","message":"Done.","commit_id":"9c1f5ed570fdae9813d9f0d8b6747e30c3fbb033"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"836f8d7cf7914122896765d9d64d48d03f572934","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The NetApp driver now supports the capability \"total_volumes\" and the"},{"line_number":5,"context_line":"    default filter function is updated to filter the backends once the pool"},{"line_number":6,"context_line":"    reaches maximum number of volumes which is 1024 and is due to the"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"f52b8163_aac2d4e0","line":3,"updated":"2025-09-10 13:20:37.000000000","message":"I think this bullet in specific would make more sense as a complement to the Bug #2117263 below, or moved to the ``New Features`` section.\n\nSee the releasenotes build for reference, as you can see the total_volumes addition seems to be out of context.\n\nhttps://90f24b112736609388dc-0e5efcd7961a07f1b6cc368c11ff4914.ssl.cf2.rackcdn.com/openstack/b207e168bb3d47d586fa5c7fe22e703c/docs/unreleased.html","commit_id":"2219b37f9585b35e2457446b1e0ab5cbbb6652de"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"fd9659e45eb7d24b9c04b0eb30a17fc88c7b90c3","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The NetApp driver now supports the capability \"total_volumes\" and the"},{"line_number":5,"context_line":"    default filter function is updated to filter the backends once the pool"},{"line_number":6,"context_line":"    reaches maximum number of volumes which is 1024 and is due to the"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"88c22e57_dab6bac5","line":3,"in_reply_to":"6db4ee5d_3b380150","updated":"2025-09-10 14:24:32.000000000","message":"Got your point, you mean it to keep it like below right?\n\n---\nfixes:\n  - |\n    `Bug #2117263 \u003chttps://bugs.launchpad.net/cinder/+bug/2117263\u003e`_: \"NetApp:\n     Fix the issue where the driver does not account for storage limits\n     when provisioning volumes.\"\nfeatures:\n   - |\n    The NetApp driver now supports the capability \"total_volumes\" and the\n    default filter function is updated to filter the backends once the pool\n    reaches maximum number of volumes which is 1024 and is due to the\n    limitations from ONTAP FlexVolume.\n\n    The \"total_volumes\" can be used in netapp driver backend stanza to restrict\n    the number of volumes per pool, like in below example we are restricting\n    maximum number of volumes per a pool to 10.\n    Example: filter_function\u003d\"capabilities.total_volumes \u003c 10\"\n\n    Note: The admin needs to configure the scheduler_default_filters to include\n    the DriverFilter as well under [DEFAULT] stanza as part of cinder.conf,\n    please refer [1] for the default filter list.\n\n    [1] https://docs.openstack.org/cinder/latest/configuration/block-storage/samples/cinder.conf.html\n~","commit_id":"2219b37f9585b35e2457446b1e0ab5cbbb6652de"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"3bd72e3db15abedd9bfbe51c7cc9a1ceae6a314c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The NetApp driver now supports the capability \"total_volumes\" and the"},{"line_number":5,"context_line":"    default filter function is updated to filter the backends once the pool"},{"line_number":6,"context_line":"    reaches maximum number of volumes which is 1024 and is due to the"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3e55f040_73955185","line":3,"in_reply_to":"790d22a6_975301ad","updated":"2025-09-10 14:30:49.000000000","message":"Updated the reno. Thank you so much Fernando!!","commit_id":"2219b37f9585b35e2457446b1e0ab5cbbb6652de"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"12a5a3e55c378fab54e12cf72f11fe87b4034431","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The NetApp driver now supports the capability \"total_volumes\" and the"},{"line_number":5,"context_line":"    default filter function is updated to filter the backends once the pool"},{"line_number":6,"context_line":"    reaches maximum number of volumes which is 1024 and is due to the"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"790d22a6_975301ad","line":3,"in_reply_to":"88c22e57_dab6bac5","updated":"2025-09-10 14:25:25.000000000","message":"Please ignore the above indentation!!","commit_id":"2219b37f9585b35e2457446b1e0ab5cbbb6652de"},{"author":{"_account_id":36179,"name":"Saikumar Pulluri","display_name":"Saikumar Pulluri","email":"saikumar1016@gmail.com","username":"pulluri"},"change_message_id":"b94b910bcec0e1a6f6b30914a716a200734ee629","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The NetApp driver now supports the capability \"total_volumes\" and the"},{"line_number":5,"context_line":"    default filter function is updated to filter the backends once the pool"},{"line_number":6,"context_line":"    reaches maximum number of volumes which is 1024 and is due to the"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"6db4ee5d_3b380150","line":3,"in_reply_to":"db809404_b7ea3c30","updated":"2025-09-10 14:20:12.000000000","message":"Thank you @fesilva@redhat.com. Does this mean, instead of fixes:, I should keep it as features: ?","commit_id":"2219b37f9585b35e2457446b1e0ab5cbbb6652de"},{"author":{"_account_id":30555,"name":"Fernando Ferraz","display_name":"Fernando Ferraz","email":"fesilva@redhat.com","username":"fernandoperches"},"change_message_id":"12c3c8c9d3c76de0f2c1e637f75f4d67f48f1acb","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The NetApp driver now supports the capability \"total_volumes\" and the"},{"line_number":5,"context_line":"    default filter function is updated to filter the backends once the pool"},{"line_number":6,"context_line":"    reaches maximum number of volumes which is 1024 and is due to the"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"db809404_b7ea3c30","line":3,"in_reply_to":"f52b8163_aac2d4e0","updated":"2025-09-10 13:31:00.000000000","message":"I think this could be fixed by moving the first bullet to the ``features:`` section.","commit_id":"2219b37f9585b35e2457446b1e0ab5cbbb6652de"}]}
