)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32594,"name":"Ashley Rodriguez","email":"ashrod98@redhat.com","username":"ashrod98"},"change_message_id":"d264cd9fb89812a96190ada526da24d87856245f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"98e312db_0d2151fe","updated":"2024-09-13 15:03:37.000000000","message":"recheck old logs","commit_id":"7b0f1c8e8f862fc2521b0020c945730ddaf9528f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"eafdad3e2893d9eb4844b2086b30b8deb1777b30","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"734a4588_13f1decc","updated":"2025-05-28 19:39:38.000000000","message":"Hey, haixin! Thanks for proposing this change and sorry for our delay on getting to it. I am making some updates based on reviewers feedback and also rebasing.","commit_id":"68d1600b60036d105f607cb14498b8c4cdd0c8c9"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"0c26997c646e5176d88089b6e7fbbba55685e6c3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"bfc5487b_2fc0311a","updated":"2025-08-07 19:44:36.000000000","message":"Hi @ces.eduardo98@gmail.com,\n\nI was checking this fix with powerscale patch and encounter below error\n\n``Aug 07 19:37:42 host001010 manila-share[1495385]: ERROR oslo_service.periodic_task [None req-d70b8de2-9f2e-47e2-adbb-64c3b1bf128b None None] Error during ShareManager._update_allocated_capacity_gb: TypeError: ShareManager._update_allocated_capacity_gb() takes 1 positional argument but 2 were given\nAug 07 19:37:42 host001010 manila-share[1495385]: ERROR oslo_service.periodic_task Traceback (most recent call last):\nAug 07 19:37:42 host001010 manila-share[1495385]: ERROR oslo_service.periodic_task   File \"/opt/stack/data/venv/lib/python3.10/site-packages/oslo_service/periodic_task.py\", line 216, in run_periodic_tasks\nAug 07 19:37:42 host001010 manila-share[1495385]: ERROR oslo_service.periodic_task     task(self, context)\nAug 07 19:37:42 host001010 manila-share[1495385]: ERROR oslo_service.periodic_task   File \"/opt/stack/manila/manila/utils.py\", line 484, in wrapper\nAug 07 19:37:42 host001010 manila-share[1495385]: ERROR oslo_service.periodic_task     return func(self, *args, **kwargs)\nAug 07 19:37:42 host001010 manila-share[1495385]: ERROR oslo_service.periodic_task TypeError: ShareManager._update_allocated_capacity_gb() takes 1 positional argument but 2 were given\nAug 07 19:37:42 host001010 manila-share[1495385]: ERROR oslo_service.periodic_task\nAug 07 19:37:42 host001010 manila-share[1495385]: DEBUG oslo_service.periodic_task [None req-d70b8de2-9f2e-47e2-adbb-64c3b1bf128b None None] Running periodic task ShareManager._report_driver_status {{(pid\u003d1495385) run_periodic_tasks /opt/stack/data/venv/lib/python3.10/site-packages/oslo_service/periodic_task.py:210}}\n``","commit_id":"83b76ebe3cbe03f7c5af06e99c39e815223fc002"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"44a3ad317578e3de78bf3bbc0c6a8327e7a3e189","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"2e4f0420_b8e17dd2","updated":"2025-06-05 14:48:44.000000000","message":"recheck\nGrenade job fix merged","commit_id":"83b76ebe3cbe03f7c5af06e99c39e815223fc002"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"6b5ef75fbb19e76a1d4ae81a2be54dcf37ab496e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":15,"id":"da92948e_76d57b1c","in_reply_to":"0466c08e_5d90d38e","updated":"2025-09-18 18:48:17.000000000","message":"Thanks Carlos! Will check it and let you know the result.","commit_id":"83b76ebe3cbe03f7c5af06e99c39e815223fc002"},{"author":{"_account_id":36725,"name":"Nilesh Thathagar","display_name":"Nilesh Thathagar","email":"nilesh.thathagar@dell.com","username":"NileshT"},"change_message_id":"e0eac7a5e0b3f9c47d70df5ec1d646a3a875550c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":15,"id":"ee1d3baa_77f3bafb","in_reply_to":"bfc5487b_2fc0311a","updated":"2025-08-07 19:47:44.000000000","message":"Also does it update the openstack share pool list --detail?","commit_id":"83b76ebe3cbe03f7c5af06e99c39e815223fc002"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4d7816d65fb3efaa9ed27fb581b5c54fce3485fa","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":15,"id":"f418f59f_eddd2a6d","in_reply_to":"ee1d3baa_77f3bafb","updated":"2025-09-15 17:54:29.000000000","message":"Hey, Nilesh! thanks for looking into this and testing. I\u0027m doing some experiments now and will get back to this comment","commit_id":"83b76ebe3cbe03f7c5af06e99c39e815223fc002"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"95c02b384a9087bf054e2b197db132ac2453c904","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":15,"id":"0466c08e_5d90d38e","in_reply_to":"f418f59f_eddd2a6d","updated":"2025-09-18 18:16:04.000000000","message":"So, I\u0027ve fixed the issue with that exception caused by having one parameter in the method signature and two being provided. Could you please try this change again?\n\nOn the second issue, the pool list output not being updated, this comes to another known issue in Manila. I could confirm it but we\u0027ve seen it in other occasions [1]. What we can do is trying to update only the stuff we know won\u0027t impact the scheduling of the shares (e.g. allocated capacity gb, provisioned capacity gb, etc) in case the data has expired. \n\n[1] https://bugs.launchpad.net/manila/+bug/1915094","commit_id":"83b76ebe3cbe03f7c5af06e99c39e815223fc002"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"95c02b384a9087bf054e2b197db132ac2453c904","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"d27e5ecf_d82e7e4b","updated":"2025-09-18 18:16:04.000000000","message":"Thanks for the review and testing the change, Nilesh. Please take a look at the answers inline!","commit_id":"692b268094e9ef3f8edb1b829e4562a039a50755"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"c89d40264935fbef14cd85172e61e5083acbb452","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"a58ece70_50db5c3f","updated":"2025-09-23 14:42:32.000000000","message":"Thanks for the review, please take another look :)","commit_id":"ed35df18a1d37093976a47d7da8e8af2d37be00e"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"761409e5e965cabf8b931d4b0c8550497a10d917","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"9751d407_1bfb670b","updated":"2025-10-21 15:22:38.000000000","message":"@kinpaa@gmail.com @gawasthi2010@gmail.com can I have your eyes on this change? thank you in advance :)","commit_id":"0e6d5794fbbe64f647e6b412940b2da7086cc7af"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"b09877d4c8655bc0fef3a93483cfe26a7f4a0edf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"2a565921_07f37ee3","updated":"2025-10-13 17:59:42.000000000","message":"Thanks for the review. Please take another look. I\u0027ve also run some tests and checked how this would perform and the numbers are great. I\u0027ve tested in a devstack environment that has 3000+ shares created and these are the numbers:\n- Before Chuan\u0027s + this fix were applied, allocated capacity gb calculations took 0.1300 seconds to run.\n- After Chuan\u0027s + this fix were applied, allocated capacity GB is taking 0.0247 seconds to run in the same environment.","commit_id":"0e6d5794fbbe64f647e6b412940b2da7086cc7af"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ef75e6a46375572d14cd1fff6f40aab0779a774b","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":21,"id":"75d228f4_349f4942","updated":"2026-05-22 10:49:05.000000000","message":"If I understand the intend correctly then:\nallocated_capacity_gb: Total size of shares created by Manila (authoritative source: Manila DB)\nprovisioned_capacity_gb: Total storage consumed on the backend (includes Manila shares + manually created volumes + other consumers, reported\n  by drivers that query the storage backend)\n  \nFilters and weighers use only provisioned_capacity_gb for thin provisioning decisions.\nallocated_capacity_gb serves as the fallback default when drivers don\u0027t report provisioned_capacity_gb.\n\nThose semantics seem to have been correctly implemented.\nJust some suggestion for improvements inline.\n\nReview assisted by Claude Opus 4.6","commit_id":"d4aab55010dae061b2dd8bd5242bb9c3ecedcda1"}],"manila/scheduler/host_manager.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e75a572c43e25532920f5bfa89eeb286e39e8836","unresolved":true,"context_lines":[{"line_number":462,"context_line":"            # greater than or equal to allocated_capacity_gb, which is the"},{"line_number":463,"context_line":"            # apparent total capacity of all the shares created on a backend"},{"line_number":464,"context_line":"            # in Manila."},{"line_number":465,"context_line":"            # NOTE(haixin): provisioned_capacity_gb is equal to the sum of"},{"line_number":466,"context_line":"            # allocated_capacity_gb add shares_gb_created_manually (or"},{"line_number":467,"context_line":"            # another manila) on the same storage pool."},{"line_number":468,"context_line":"            # using allocated_capacity_gb as the default of"},{"line_number":469,"context_line":"            # provisioned_capacity_gb if it is not set. At this point, Manila"},{"line_number":470,"context_line":"            # is considered to be monopolizing the storage back-end."}],"source_content_type":"text/x-python","patch_set":8,"id":"6ba3eb99_28b21322","line":467,"range":{"start_line":465,"start_character":12,"end_line":467,"end_character":55},"updated":"2024-09-13 23:34:07.000000000","message":"+1 We should have this information in the administrator guide.. There\u0027s a cinder specification that sought to clarify this: https://specs.openstack.org/openstack/cinder-specs/specs/queens/provisioning-improvements.html\n\nIdeally; backends must always report this; but, in case they don\u0027t, allocated_capacity_gb is a safe fallback","commit_id":"689da936eccca583e9c11339ad9b1270ccb84632"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"cbb71ed00a61910eab6a9cc88ce1452f00c24ddf","unresolved":false,"context_lines":[{"line_number":462,"context_line":"            # greater than or equal to allocated_capacity_gb, which is the"},{"line_number":463,"context_line":"            # apparent total capacity of all the shares created on a backend"},{"line_number":464,"context_line":"            # in Manila."},{"line_number":465,"context_line":"            # NOTE(haixin): provisioned_capacity_gb is equal to the sum of"},{"line_number":466,"context_line":"            # allocated_capacity_gb add shares_gb_created_manually (or"},{"line_number":467,"context_line":"            # another manila) on the same storage pool."},{"line_number":468,"context_line":"            # using allocated_capacity_gb as the default of"},{"line_number":469,"context_line":"            # provisioned_capacity_gb if it is not set. At this point, Manila"},{"line_number":470,"context_line":"            # is considered to be monopolizing the storage back-end."}],"source_content_type":"text/x-python","patch_set":8,"id":"6ae3c9bd_206e14a0","line":467,"range":{"start_line":465,"start_character":12,"end_line":467,"end_character":55},"in_reply_to":"6ba3eb99_28b21322","updated":"2024-09-24 06:47:20.000000000","message":"Done","commit_id":"689da936eccca583e9c11339ad9b1270ccb84632"}],"manila/share/manager.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e75a572c43e25532920f5bfa89eeb286e39e8836","unresolved":true,"context_lines":[{"line_number":113,"context_line":"                    \u0027the share manager will poll the driver to perform the \u0027"},{"line_number":114,"context_line":"                    \u0027next step of migration in the storage backend, for a \u0027"},{"line_number":115,"context_line":"                    \u0027migrating share server.\u0027),"},{"line_number":116,"context_line":"    cfg.BoolOpt(\u0027server_migration_extend_neutron_network\u0027,"},{"line_number":117,"context_line":"                default\u003dFalse,"},{"line_number":118,"context_line":"                help\u003d\u0027If set to True, neutron network are extended to \u0027"},{"line_number":119,"context_line":"                     \u0027destination host during share server migration. This \u0027"},{"line_number":120,"context_line":"                     \u0027option should only be enabled if using \u0027"},{"line_number":121,"context_line":"                     \u0027NeutronNetworkPlugin or its derivatives and when \u0027"},{"line_number":122,"context_line":"                     \u0027multiple bindings of Manila ports are supported by \u0027"},{"line_number":123,"context_line":"                     \u0027Neutron ML2 plugin.\u0027),"},{"line_number":124,"context_line":"    cfg.IntOpt(\u0027share_usage_size_update_interval\u0027,"},{"line_number":125,"context_line":"               default\u003d300,"},{"line_number":126,"context_line":"               help\u003d\u0027This value, specified in seconds, determines how often \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"a3503521_734f8676","side":"PARENT","line":123,"range":{"start_line":116,"start_character":37,"end_line":123,"end_character":44},"updated":"2024-09-13 23:34:07.000000000","message":"bad rebase","commit_id":"5f7812e00a797a510e4370d7d4d0567ac280405d"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"cbb71ed00a61910eab6a9cc88ce1452f00c24ddf","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                    \u0027the share manager will poll the driver to perform the \u0027"},{"line_number":114,"context_line":"                    \u0027next step of migration in the storage backend, for a \u0027"},{"line_number":115,"context_line":"                    \u0027migrating share server.\u0027),"},{"line_number":116,"context_line":"    cfg.BoolOpt(\u0027server_migration_extend_neutron_network\u0027,"},{"line_number":117,"context_line":"                default\u003dFalse,"},{"line_number":118,"context_line":"                help\u003d\u0027If set to True, neutron network are extended to \u0027"},{"line_number":119,"context_line":"                     \u0027destination host during share server migration. This \u0027"},{"line_number":120,"context_line":"                     \u0027option should only be enabled if using \u0027"},{"line_number":121,"context_line":"                     \u0027NeutronNetworkPlugin or its derivatives and when \u0027"},{"line_number":122,"context_line":"                     \u0027multiple bindings of Manila ports are supported by \u0027"},{"line_number":123,"context_line":"                     \u0027Neutron ML2 plugin.\u0027),"},{"line_number":124,"context_line":"    cfg.IntOpt(\u0027share_usage_size_update_interval\u0027,"},{"line_number":125,"context_line":"               default\u003d300,"},{"line_number":126,"context_line":"               help\u003d\u0027This value, specified in seconds, determines how often \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"f9b9d743_534c962b","side":"PARENT","line":123,"range":{"start_line":116,"start_character":37,"end_line":123,"end_character":44},"in_reply_to":"a3503521_734f8676","updated":"2024-09-24 06:47:20.000000000","message":"Done","commit_id":"5f7812e00a797a510e4370d7d4d0567ac280405d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e75a572c43e25532920f5bfa89eeb286e39e8836","unresolved":true,"context_lines":[{"line_number":264,"context_line":"class ShareManager(manager.SchedulerDependentManager):"},{"line_number":265,"context_line":"    \"\"\"Manages NAS storages.\"\"\""},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    RPC_API_VERSION \u003d \u00271.27\u0027"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    def __init__(self, share_driver\u003dNone, service_name\u003dNone, *args, **kwargs):"},{"line_number":270,"context_line":"        \"\"\"Load the driver from args, or from flags.\"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"f1bf2624_3a2a634b","line":267,"range":{"start_line":267,"start_character":25,"end_line":267,"end_character":27},"updated":"2024-09-13 23:34:07.000000000","message":"bad rebase","commit_id":"689da936eccca583e9c11339ad9b1270ccb84632"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"cbb71ed00a61910eab6a9cc88ce1452f00c24ddf","unresolved":false,"context_lines":[{"line_number":264,"context_line":"class ShareManager(manager.SchedulerDependentManager):"},{"line_number":265,"context_line":"    \"\"\"Manages NAS storages.\"\"\""},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    RPC_API_VERSION \u003d \u00271.27\u0027"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"    def __init__(self, share_driver\u003dNone, service_name\u003dNone, *args, **kwargs):"},{"line_number":270,"context_line":"        \"\"\"Load the driver from args, or from flags.\"\"\""}],"source_content_type":"text/x-python","patch_set":8,"id":"46937664_6692937b","line":267,"range":{"start_line":267,"start_character":25,"end_line":267,"end_character":27},"in_reply_to":"f1bf2624_3a2a634b","updated":"2024-09-24 06:47:20.000000000","message":"Done","commit_id":"689da936eccca583e9c11339ad9b1270ccb84632"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e75a572c43e25532920f5bfa89eeb286e39e8836","unresolved":true,"context_lines":[{"line_number":388,"context_line":"            ctxt, self.host, with_share_data\u003dTrue)"},{"line_number":389,"context_line":"        self.ensure_driver_resources(ctxt, share_instances)"},{"line_number":390,"context_line":"        # update allocated_capacity_gb when manila share start."},{"line_number":391,"context_line":"        self.allocated_capacity_gb \u003d self._estimate_allocated_capacity_gb("},{"line_number":392,"context_line":"            share_instances)"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"        self.publish_service_capabilities(ctxt)"},{"line_number":395,"context_line":"        LOG.info(\"Finished initialization of driver: \u0027%(driver)s\""}],"source_content_type":"text/x-python","patch_set":8,"id":"4cc73499_c4f97f64","line":392,"range":{"start_line":391,"start_character":8,"end_line":392,"end_character":28},"updated":"2024-09-13 23:34:07.000000000","message":"this ought to be done only if a backend isn\u0027t reporting allocated_capacity_gb though.. \n\nbackends may have a way to get this information efficiently..\n\nthere are several backends that currently set allocated_capacity_gb: \n\nhttps://codesearch.opendev.org/?q\u003dallocated_capacity_gb\u0026i\u003dnope\u0026literal\u003dnope\u0026files\u003dshare%2Fdrivers%2F\u0026excludeFiles\u003dtests%2Fshare%2Fdrivers%2F\u0026repos\u003dopenstack/manila","commit_id":"689da936eccca583e9c11339ad9b1270ccb84632"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"714fbddc668eb61f9b1c92bf9826cc6d8b278126","unresolved":false,"context_lines":[{"line_number":388,"context_line":"            ctxt, self.host, with_share_data\u003dTrue)"},{"line_number":389,"context_line":"        self.ensure_driver_resources(ctxt, share_instances)"},{"line_number":390,"context_line":"        # update allocated_capacity_gb when manila share start."},{"line_number":391,"context_line":"        self.allocated_capacity_gb \u003d self._estimate_allocated_capacity_gb("},{"line_number":392,"context_line":"            share_instances)"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"        self.publish_service_capabilities(ctxt)"},{"line_number":395,"context_line":"        LOG.info(\"Finished initialization of driver: \u0027%(driver)s\""}],"source_content_type":"text/x-python","patch_set":8,"id":"81943230_6bbeb01b","line":392,"range":{"start_line":391,"start_character":8,"end_line":392,"end_character":28},"in_reply_to":"2d22f93c_8cf1b61d","updated":"2025-09-22 16:51:43.000000000","message":"Done","commit_id":"689da936eccca583e9c11339ad9b1270ccb84632"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"cbb71ed00a61910eab6a9cc88ce1452f00c24ddf","unresolved":true,"context_lines":[{"line_number":388,"context_line":"            ctxt, self.host, with_share_data\u003dTrue)"},{"line_number":389,"context_line":"        self.ensure_driver_resources(ctxt, share_instances)"},{"line_number":390,"context_line":"        # update allocated_capacity_gb when manila share start."},{"line_number":391,"context_line":"        self.allocated_capacity_gb \u003d self._estimate_allocated_capacity_gb("},{"line_number":392,"context_line":"            share_instances)"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"        self.publish_service_capabilities(ctxt)"},{"line_number":395,"context_line":"        LOG.info(\"Finished initialization of driver: \u0027%(driver)s\""}],"source_content_type":"text/x-python","patch_set":8,"id":"2d22f93c_8cf1b61d","line":392,"range":{"start_line":391,"start_character":8,"end_line":392,"end_character":28},"in_reply_to":"4cc73499_c4f97f64","updated":"2024-09-24 06:47:20.000000000","message":"In my opinion, the driver layer should report provisioned_capacity_gb. However, allocated_capacity_gb cannot be reported. This is because the back end does not know which share instances were created and used by the current manila and which share instances were created manually or used by other manila services.\n\nTherefore, it is more accurate to calculate allocated_capacity_gb directly from the database.","commit_id":"689da936eccca583e9c11339ad9b1270ccb84632"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ef75e6a46375572d14cd1fff6f40aab0779a774b","unresolved":true,"context_lines":[{"line_number":388,"context_line":"            ctxt, self.host, with_share_data\u003dTrue)"},{"line_number":389,"context_line":"        self.ensure_driver_resources(ctxt, share_instances)"},{"line_number":390,"context_line":"        # update allocated_capacity_gb when manila share start."},{"line_number":391,"context_line":"        self.allocated_capacity_gb \u003d self._estimate_allocated_capacity_gb("},{"line_number":392,"context_line":"            share_instances)"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"        self.publish_service_capabilities(ctxt)"},{"line_number":395,"context_line":"        LOG.info(\"Finished initialization of driver: \u0027%(driver)s\""}],"source_content_type":"text/x-python","patch_set":8,"id":"4553d66d_607055b7","line":392,"range":{"start_line":391,"start_character":8,"end_line":392,"end_character":28},"in_reply_to":"81943230_6bbeb01b","updated":"2026-05-22 10:49:05.000000000","message":"I think we should adjust the drivers that report allocated_capacity_gb currently to report this as provisioned_capacity_gb as part of this change, otherwise this may lead to surprises, why this is overriden.\n\nEither here or in a follow-up.","commit_id":"689da936eccca583e9c11339ad9b1270ccb84632"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e75a572c43e25532920f5bfa89eeb286e39e8836","unresolved":true,"context_lines":[{"line_number":4371,"context_line":"            allocated_capacity_gb +\u003d instance.get(\u0027size\u0027) or 0"},{"line_number":4372,"context_line":"        return allocated_capacity_gb"},{"line_number":4373,"context_line":""},{"line_number":4374,"context_line":"    @periodic_task.periodic_task(spacing\u003d300)"},{"line_number":4375,"context_line":"    @utils.require_driver_initialized"},{"line_number":4376,"context_line":"    def _update_allocated_capacity_gb(self, context):"},{"line_number":4377,"context_line":"        # NOTE(haixin) To calibrate HostState.allocated_capacity_gb on"}],"source_content_type":"text/x-python","patch_set":8,"id":"d9c2bd5d_6d944d39","line":4374,"range":{"start_line":4374,"start_character":33,"end_line":4374,"end_character":44},"updated":"2024-09-13 23:34:07.000000000","message":"maybe make this configurable?","commit_id":"689da936eccca583e9c11339ad9b1270ccb84632"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"cbb71ed00a61910eab6a9cc88ce1452f00c24ddf","unresolved":false,"context_lines":[{"line_number":4371,"context_line":"            allocated_capacity_gb +\u003d instance.get(\u0027size\u0027) or 0"},{"line_number":4372,"context_line":"        return allocated_capacity_gb"},{"line_number":4373,"context_line":""},{"line_number":4374,"context_line":"    @periodic_task.periodic_task(spacing\u003d300)"},{"line_number":4375,"context_line":"    @utils.require_driver_initialized"},{"line_number":4376,"context_line":"    def _update_allocated_capacity_gb(self, context):"},{"line_number":4377,"context_line":"        # NOTE(haixin) To calibrate HostState.allocated_capacity_gb on"}],"source_content_type":"text/x-python","patch_set":8,"id":"b354b1ad_705ae44c","line":4374,"range":{"start_line":4374,"start_character":33,"end_line":4374,"end_character":44},"in_reply_to":"d9c2bd5d_6d944d39","updated":"2024-09-24 06:47:20.000000000","message":"sure.","commit_id":"689da936eccca583e9c11339ad9b1270ccb84632"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e9a6d3a80d875828d2050dce701618560b5bc53d","unresolved":true,"context_lines":[{"line_number":103,"context_line":"               help\u003d\u0027This value, specified in seconds, determines how often \u0027"},{"line_number":104,"context_line":"                    \u0027the share manager will poll for the health \u0027"},{"line_number":105,"context_line":"                    \u0027(replica_state) of each replica instance.\u0027),"},{"line_number":106,"context_line":"    cfg.IntOpt(\u0027allocated_capacity_gb_calibrate_interval\u0027,"},{"line_number":107,"context_line":"               default\u003d300,"},{"line_number":108,"context_line":"               help\u003d\u0027This value, specified in seconds, determines how often \u0027"},{"line_number":109,"context_line":"                    \u0027the share manager will calibrate the \u0027"}],"source_content_type":"text/x-python","patch_set":18,"id":"6d8bf516_b8265177","line":106,"range":{"start_line":106,"start_character":38,"end_line":106,"end_character":47},"updated":"2025-09-22 21:41:33.000000000","message":"calibration","commit_id":"8a35c67afae248b98769b09b0e8d0fb229d320a3"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"c89d40264935fbef14cd85172e61e5083acbb452","unresolved":false,"context_lines":[{"line_number":103,"context_line":"               help\u003d\u0027This value, specified in seconds, determines how often \u0027"},{"line_number":104,"context_line":"                    \u0027the share manager will poll for the health \u0027"},{"line_number":105,"context_line":"                    \u0027(replica_state) of each replica instance.\u0027),"},{"line_number":106,"context_line":"    cfg.IntOpt(\u0027allocated_capacity_gb_calibrate_interval\u0027,"},{"line_number":107,"context_line":"               default\u003d300,"},{"line_number":108,"context_line":"               help\u003d\u0027This value, specified in seconds, determines how often \u0027"},{"line_number":109,"context_line":"                    \u0027the share manager will calibrate the \u0027"}],"source_content_type":"text/x-python","patch_set":18,"id":"1baedaed_ba98f38d","line":106,"range":{"start_line":106,"start_character":38,"end_line":106,"end_character":47},"in_reply_to":"6d8bf516_b8265177","updated":"2025-09-23 14:42:32.000000000","message":"Done","commit_id":"8a35c67afae248b98769b09b0e8d0fb229d320a3"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e9a6d3a80d875828d2050dce701618560b5bc53d","unresolved":true,"context_lines":[{"line_number":4591,"context_line":"                share_server\u003dshare_server)"},{"line_number":4592,"context_line":""},{"line_number":4593,"context_line":"    def _estimate_allocated_capacity_gb(self, ctx):"},{"line_number":4594,"context_line":"        instances \u003d self.db.share_instance_get_all_by_host("},{"line_number":4595,"context_line":"            ctx, self.host, with_share_data\u003dTrue)"},{"line_number":4596,"context_line":"        allocated_capacity_gb \u003d 0"},{"line_number":4597,"context_line":"        # Only shares recorded in the manila database are counted"},{"line_number":4598,"context_line":"        for instance in instances:"},{"line_number":4599,"context_line":"            # Size of share instance that\u0027s still being created, will be None."},{"line_number":4600,"context_line":"            allocated_capacity_gb +\u003d instance.get(\u0027size\u0027) or 0"},{"line_number":4601,"context_line":"        return allocated_capacity_gb"},{"line_number":4602,"context_line":""},{"line_number":4603,"context_line":"    @periodic_task.periodic_task("},{"line_number":4604,"context_line":"        spacing\u003dCONF.allocated_capacity_gb_calibrate_interval)"}],"source_content_type":"text/x-python","patch_set":18,"id":"b5e80e94_6c82960c","line":4601,"range":{"start_line":4594,"start_character":20,"end_line":4601,"end_character":36},"updated":"2025-09-22 21:41:33.000000000","message":"this needs to be rewritten with the new query added herE: https://review.opendev.org/c/openstack/manila/+/898306/10/manila/db/api.py#390","commit_id":"8a35c67afae248b98769b09b0e8d0fb229d320a3"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"b09877d4c8655bc0fef3a93483cfe26a7f4a0edf","unresolved":false,"context_lines":[{"line_number":4591,"context_line":"                share_server\u003dshare_server)"},{"line_number":4592,"context_line":""},{"line_number":4593,"context_line":"    def _estimate_allocated_capacity_gb(self, ctx):"},{"line_number":4594,"context_line":"        instances \u003d self.db.share_instance_get_all_by_host("},{"line_number":4595,"context_line":"            ctx, self.host, with_share_data\u003dTrue)"},{"line_number":4596,"context_line":"        allocated_capacity_gb \u003d 0"},{"line_number":4597,"context_line":"        # Only shares recorded in the manila database are counted"},{"line_number":4598,"context_line":"        for instance in instances:"},{"line_number":4599,"context_line":"            # Size of share instance that\u0027s still being created, will be None."},{"line_number":4600,"context_line":"            allocated_capacity_gb +\u003d instance.get(\u0027size\u0027) or 0"},{"line_number":4601,"context_line":"        return allocated_capacity_gb"},{"line_number":4602,"context_line":""},{"line_number":4603,"context_line":"    @periodic_task.periodic_task("},{"line_number":4604,"context_line":"        spacing\u003dCONF.allocated_capacity_gb_calibrate_interval)"}],"source_content_type":"text/x-python","patch_set":18,"id":"115c85b0_9bfcb22e","line":4601,"range":{"start_line":4594,"start_character":20,"end_line":4601,"end_character":36},"in_reply_to":"b5e80e94_6c82960c","updated":"2025-10-13 17:59:42.000000000","message":"Done","commit_id":"8a35c67afae248b98769b09b0e8d0fb229d320a3"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e9a6d3a80d875828d2050dce701618560b5bc53d","unresolved":true,"context_lines":[{"line_number":4604,"context_line":"        spacing\u003dCONF.allocated_capacity_gb_calibrate_interval)"},{"line_number":4605,"context_line":"    @utils.require_driver_initialized"},{"line_number":4606,"context_line":"    def _update_allocated_capacity_gb(self, ctxt):"},{"line_number":4607,"context_line":"        # NOTE(haixin) To calibrate HostState.allocated_capacity_gb on"},{"line_number":4608,"context_line":"        # different Manila scheduler nodes."},{"line_number":4609,"context_line":"        ctxt \u003d context.get_admin_context() if not ctxt else ctxt"},{"line_number":4610,"context_line":"        self.allocated_capacity_gb \u003d self._estimate_allocated_capacity_gb(ctxt)"}],"source_content_type":"text/x-python","patch_set":18,"id":"fd697092_cfc7c7d9","line":4607,"range":{"start_line":4607,"start_character":26,"end_line":4607,"end_character":35},"updated":"2025-09-22 21:41:33.000000000","message":"update","commit_id":"8a35c67afae248b98769b09b0e8d0fb229d320a3"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"b09877d4c8655bc0fef3a93483cfe26a7f4a0edf","unresolved":false,"context_lines":[{"line_number":4604,"context_line":"        spacing\u003dCONF.allocated_capacity_gb_calibrate_interval)"},{"line_number":4605,"context_line":"    @utils.require_driver_initialized"},{"line_number":4606,"context_line":"    def _update_allocated_capacity_gb(self, ctxt):"},{"line_number":4607,"context_line":"        # NOTE(haixin) To calibrate HostState.allocated_capacity_gb on"},{"line_number":4608,"context_line":"        # different Manila scheduler nodes."},{"line_number":4609,"context_line":"        ctxt \u003d context.get_admin_context() if not ctxt else ctxt"},{"line_number":4610,"context_line":"        self.allocated_capacity_gb \u003d self._estimate_allocated_capacity_gb(ctxt)"}],"source_content_type":"text/x-python","patch_set":18,"id":"a1a507db_bbcbe351","line":4607,"range":{"start_line":4607,"start_character":26,"end_line":4607,"end_character":35},"in_reply_to":"fd697092_cfc7c7d9","updated":"2025-10-13 17:59:42.000000000","message":"Done","commit_id":"8a35c67afae248b98769b09b0e8d0fb229d320a3"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ef75e6a46375572d14cd1fff6f40aab0779a774b","unresolved":true,"context_lines":[{"line_number":414,"context_line":""},{"line_number":415,"context_line":"        # update allocated_capacity_gb when manila share start."},{"line_number":416,"context_line":"        # In case this is not reported, or zero, it will be re-calculated."},{"line_number":417,"context_line":"        if not getattr(self.driver, \u0027allocated_capacity_gb\u0027, 0):"},{"line_number":418,"context_line":"            self.allocated_capacity_gb \u003d ("},{"line_number":419,"context_line":"                self._estimate_allocated_capacity_gb(ctxt))"},{"line_number":420,"context_line":"        self.ensure_driver_resources(ctxt)"}],"source_content_type":"text/x-python","patch_set":21,"id":"42c19762_bbff5101","line":417,"updated":"2026-05-22 10:49:05.000000000","message":"I think this condition makes it unnecessary complex.\n\nNo matter what the driver reports, it is anyhow overriden later in the periodic task.\nSo we can be honest and directly set \n`self.allocated_capacity_gb \u003d self._estimate_allocated_capacity_gb(ctxt)`\n\nThis avoids confusions in inbetween this setting and the first periodic run.","commit_id":"d4aab55010dae061b2dd8bd5242bb9c3ecedcda1"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"ef75e6a46375572d14cd1fff6f40aab0779a774b","unresolved":true,"context_lines":[{"line_number":4649,"context_line":"                share_server\u003dshare_server)"},{"line_number":4650,"context_line":""},{"line_number":4651,"context_line":"    def _estimate_allocated_capacity_gb(self, ctx):"},{"line_number":4652,"context_line":"        return self.db.share_instance_sizes_sum_by_host(ctx, self.host)"},{"line_number":4653,"context_line":""},{"line_number":4654,"context_line":"    @periodic_task.periodic_task("},{"line_number":4655,"context_line":"        spacing\u003dCONF.allocated_capacity_gb_calibration_interval)"}],"source_content_type":"text/x-python","patch_set":21,"id":"49cdc6d1_60686ab4","line":4652,"updated":"2026-05-22 10:49:05.000000000","message":"self.host is the host, not the pool.\nWe should maybe add a note here, because this may be confusing if the host has multiple pools and this is reported at pool level the same for each pool.\n\nMaybe follow-up: calculating this for each pool is possible, but could be overkill. Better would be anyhow if the driver reports provisioned capacity.","commit_id":"d4aab55010dae061b2dd8bd5242bb9c3ecedcda1"}],"releasenotes/notes/bp-oversubscription-enhancements-1d25f89ae24365cf.yaml":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e9a6d3a80d875828d2050dce701618560b5bc53d","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Optimizes the logic of manila to get allocated_capacity_gb directly from"},{"line_number":5,"context_line":"    the database. provisioned_capacity_gb obtains provisioned_capacity_gb from"},{"line_number":6,"context_line":"    drivers first. If not, use the value of allocated_capacity_gb instead of"},{"line_number":7,"context_line":"    provisioned_capacity_gb."}],"source_content_type":"text/x-yaml","patch_set":18,"id":"6cd054cc_86bb1b40","line":6,"range":{"start_line":6,"start_character":66,"end_line":6,"end_character":76},"updated":"2025-09-22 21:41:33.000000000","message":"as\n```suggestion\n    drivers first. If not, the scheduler will use the value\n    of allocated_capacity_gb as provisioned_capacity_gb.\n```","commit_id":"8a35c67afae248b98769b09b0e8d0fb229d320a3"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0038df49961668472f3278ca4967f3c13bd2ed56","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Optimizes the logic of manila to get allocated_capacity_gb directly from"},{"line_number":5,"context_line":"    the database. provisioned_capacity_gb obtains provisioned_capacity_gb from"},{"line_number":6,"context_line":"    drivers first. If not, use the value of allocated_capacity_gb instead of"},{"line_number":7,"context_line":"    provisioned_capacity_gb."}],"source_content_type":"text/x-yaml","patch_set":18,"id":"cce5f219_01d2ded9","line":6,"range":{"start_line":6,"start_character":66,"end_line":6,"end_character":76},"in_reply_to":"6cd054cc_86bb1b40","updated":"2025-09-24 21:49:25.000000000","message":"@ces.eduardo98@gmail.com: these comments need a follow up","commit_id":"8a35c67afae248b98769b09b0e8d0fb229d320a3"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"b09877d4c8655bc0fef3a93483cfe26a7f4a0edf","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Optimizes the logic of manila to get allocated_capacity_gb directly from"},{"line_number":5,"context_line":"    the database. provisioned_capacity_gb obtains provisioned_capacity_gb from"},{"line_number":6,"context_line":"    drivers first. If not, use the value of allocated_capacity_gb instead of"},{"line_number":7,"context_line":"    provisioned_capacity_gb."}],"source_content_type":"text/x-yaml","patch_set":18,"id":"b18ea390_8d546609","line":6,"range":{"start_line":6,"start_character":66,"end_line":6,"end_character":76},"in_reply_to":"cce5f219_01d2ded9","updated":"2025-10-13 17:59:42.000000000","message":"Done. Made some extra tweaks, please take another look","commit_id":"8a35c67afae248b98769b09b0e8d0fb229d320a3"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e9a6d3a80d875828d2050dce701618560b5bc53d","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Optimizes the logic of manila to get allocated_capacity_gb directly from"},{"line_number":5,"context_line":"    the database. provisioned_capacity_gb obtains provisioned_capacity_gb from"},{"line_number":6,"context_line":"    drivers first. If not, use the value of allocated_capacity_gb instead of"},{"line_number":7,"context_line":"    provisioned_capacity_gb."}],"source_content_type":"text/x-yaml","patch_set":18,"id":"19111250_c58253a0","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":28},"updated":"2025-09-22 21:41:33.000000000","message":"remove","commit_id":"8a35c67afae248b98769b09b0e8d0fb229d320a3"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"b09877d4c8655bc0fef3a93483cfe26a7f4a0edf","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Optimizes the logic of manila to get allocated_capacity_gb directly from"},{"line_number":5,"context_line":"    the database. provisioned_capacity_gb obtains provisioned_capacity_gb from"},{"line_number":6,"context_line":"    drivers first. If not, use the value of allocated_capacity_gb instead of"},{"line_number":7,"context_line":"    provisioned_capacity_gb."}],"source_content_type":"text/x-yaml","patch_set":18,"id":"0a09a244_44a0452d","line":7,"range":{"start_line":7,"start_character":4,"end_line":7,"end_character":28},"in_reply_to":"19111250_c58253a0","updated":"2025-10-13 17:59:42.000000000","message":"Done","commit_id":"8a35c67afae248b98769b09b0e8d0fb229d320a3"}]}
