)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"37cc015a16ed1d4b21a979e0474856b882a78111","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fc58fa95_93fb2769","updated":"2022-03-15 15:11:22.000000000","message":"I can add some operator feedback: to overcome this bug I quickly hacked a script that iterates over all my Netapp filers and sets the autosize attributes on all DP volumes.\nThere was one surprise: the default 100TB for autosize maximum are not equal on all ONTAP versions.\nOn older versions: 100TB on NetApp are 100TiB plus 52 KiB (100 * 1024 ** 4 + 52 * 1024 bytes)\nOn newer versions: 100TB on NetApp are 100TiB (100 * 1024 ** 4 bytes)\n\nNew means ONTAP 9.8 for us (we currently run filers in the range from 9.6 to 9.10)\n\nSo when copying the value from an older filer to a newer one this will result in an error (\"Volume maximum autosize must be smaller than or equal to the maximum volume size of 100TB\").","commit_id":"acaee5db10a3dd6c794bb45014f52fbf38686195"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"382ca1a359b3dddb62c04d15225a17fb60597b5a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a976ebab_089ee381","in_reply_to":"fc58fa95_93fb2769","updated":"2022-03-15 16:58:26.000000000","message":"I wasn\u0027t aware of this difference between the ONTAP versions, thanks for sharing :)","commit_id":"acaee5db10a3dd6c794bb45014f52fbf38686195"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"7fb607060676c65052a0c73c24caee1bcb2f8839","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3bc0c606_4b0112a8","updated":"2022-08-04 18:40:16.000000000","message":"A question inline regarding maximum-size on autosize attributes. Thanks","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"e614f59c9e9558a6d0442fc1d85f01f7391f80b6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"806525db_e64286a5","updated":"2022-11-04 08:18:23.000000000","message":"Hi Felipe, can you please pick this up?","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"9abf164590ff0687d5fa04bca6d282d6830e655e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"abaefe50_b61dce4d","updated":"2022-11-21 12:10:41.000000000","message":"Thnaks Nahim and Douglas! I have added some comments, please, review them.","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b6eb43ad61526ef877eef01ea4e61a0bf5ac6535","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"79df3534_fa8c7f0b","updated":"2023-08-15 22:53:38.000000000","message":"Can\u0027t speak to whether this is sufficient, technically; but code LGTM... NetAppers, could you please review and add your +/-1s?","commit_id":"8896534bb4860d6bf4ad7d6f016b9a38e85c9840"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cec9680ce5fa35dce6e81aef2248d8bbba0db79e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9ca7a8e6_b796898e","updated":"2023-08-30 11:22:47.000000000","message":"LGTM, thanks Nahim!","commit_id":"8896534bb4860d6bf4ad7d6f016b9a38e85c9840"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"8c9441f1acdbc6d06db1e031043a4fb362049272","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"dc8b29dd_b9de6c09","updated":"2023-07-31 20:37:52.000000000","message":"Thanks for the reviews. I uploaded a new patch set with the fixes.","commit_id":"8896534bb4860d6bf4ad7d6f016b9a38e85c9840"}],"manila/share/drivers/netapp/dataontap/cluster_mode/lib_base.py":[{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"9abf164590ff0687d5fa04bca6d282d6830e655e","unresolved":true,"context_lines":[{"line_number":2774,"context_line":"            LOG.exception(\"Could not unmount the original active replica %s.\","},{"line_number":2775,"context_line":"                          orig_active_replica[\u0027id\u0027])"},{"line_number":2776,"context_line":""},{"line_number":2777,"context_line":"    def _get_replica_info(self, replica, dm_session):"},{"line_number":2778,"context_line":"        extra_specs \u003d share_types.get_extra_specs_from_share(replica)"},{"line_number":2779,"context_line":"        provisioning_options \u003d self._get_provisioning_options(extra_specs)"},{"line_number":2780,"context_line":"        replica_name \u003d self._get_backend_share_name(replica[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"9eaceb4c_84a2a769","line":2777,"range":{"start_line":2777,"start_character":8,"end_line":2777,"end_character":53},"updated":"2022-11-21 12:10:41.000000000","message":"Document the function: purpose and what it returns.","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"8c9441f1acdbc6d06db1e031043a4fb362049272","unresolved":false,"context_lines":[{"line_number":2774,"context_line":"            LOG.exception(\"Could not unmount the original active replica %s.\","},{"line_number":2775,"context_line":"                          orig_active_replica[\u0027id\u0027])"},{"line_number":2776,"context_line":""},{"line_number":2777,"context_line":"    def _get_replica_info(self, replica, dm_session):"},{"line_number":2778,"context_line":"        extra_specs \u003d share_types.get_extra_specs_from_share(replica)"},{"line_number":2779,"context_line":"        provisioning_options \u003d self._get_provisioning_options(extra_specs)"},{"line_number":2780,"context_line":"        replica_name \u003d self._get_backend_share_name(replica[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":3,"id":"a5eefc35_b45ce941","line":2777,"range":{"start_line":2777,"start_character":8,"end_line":2777,"end_character":53},"in_reply_to":"9eaceb4c_84a2a769","updated":"2023-07-31 20:37:52.000000000","message":"Done","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"9abf164590ff0687d5fa04bca6d282d6830e655e","unresolved":true,"context_lines":[{"line_number":2786,"context_line":"        replica_client \u003d data_motion.get_client_for_backend("},{"line_number":2787,"context_line":"            replica_backend, vserver_name\u003dvserver)"},{"line_number":2788,"context_line":""},{"line_number":2789,"context_line":"        replica_volume \u003d replica_client.get_volume(replica_name)"},{"line_number":2790,"context_line":""},{"line_number":2791,"context_line":"        replica_aggregate \u003d replica_volume.get(\u0027aggregate\u0027)"},{"line_number":2792,"context_line":""},{"line_number":2793,"context_line":"        autosize_attributes \u003d replica_client.get_volume_autosize_attributes("},{"line_number":2794,"context_line":"            replica_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5ef54f40_8859e609","line":2791,"range":{"start_line":2789,"start_character":8,"end_line":2791,"end_character":59},"updated":"2022-11-21 12:10:41.000000000","message":"Why are you retrieving the volume just because of the aggrrgeate ? If so, you can find out it locally by the replica[\"host\"]. The pool name matches the aggregate name for FlexVol.\n\nAnother point, you should collect the aggregate for FlexGroup too. First checking if the rpelica is a FlexGroup, then, getting the aggregate list from the pool (see other examples in the code).","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"8c9441f1acdbc6d06db1e031043a4fb362049272","unresolved":false,"context_lines":[{"line_number":2786,"context_line":"        replica_client \u003d data_motion.get_client_for_backend("},{"line_number":2787,"context_line":"            replica_backend, vserver_name\u003dvserver)"},{"line_number":2788,"context_line":""},{"line_number":2789,"context_line":"        replica_volume \u003d replica_client.get_volume(replica_name)"},{"line_number":2790,"context_line":""},{"line_number":2791,"context_line":"        replica_aggregate \u003d replica_volume.get(\u0027aggregate\u0027)"},{"line_number":2792,"context_line":""},{"line_number":2793,"context_line":"        autosize_attributes \u003d replica_client.get_volume_autosize_attributes("},{"line_number":2794,"context_line":"            replica_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"6b033aa9_e47d411f","line":2791,"range":{"start_line":2789,"start_character":8,"end_line":2791,"end_character":59},"in_reply_to":"5ef54f40_8859e609","updated":"2023-07-31 20:37:52.000000000","message":"Nice catch, done.","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"9abf164590ff0687d5fa04bca6d282d6830e655e","unresolved":true,"context_lines":[{"line_number":2799,"context_line":"            autosize_attributes[key] \u003d int(autosize_attributes[key]) * units.Ki"},{"line_number":2800,"context_line":""},{"line_number":2801,"context_line":"        replica_info \u003d {"},{"line_number":2802,"context_line":"            \u0027autosize_attributes\u0027: autosize_attributes,"},{"line_number":2803,"context_line":"            \u0027client\u0027: replica_client,"},{"line_number":2804,"context_line":"            \u0027volume:\u0027: replica_volume,"},{"line_number":2805,"context_line":"            \u0027aggregate\u0027: replica_aggregate,"}],"source_content_type":"text/x-python","patch_set":3,"id":"b1a87d91_6b304220","line":2802,"range":{"start_line":2802,"start_character":13,"end_line":2802,"end_character":54},"updated":"2022-11-21 12:10:41.000000000","message":"why are you returning these attributes ? I think they are not read by the caller.","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"8c9441f1acdbc6d06db1e031043a4fb362049272","unresolved":false,"context_lines":[{"line_number":2799,"context_line":"            autosize_attributes[key] \u003d int(autosize_attributes[key]) * units.Ki"},{"line_number":2800,"context_line":""},{"line_number":2801,"context_line":"        replica_info \u003d {"},{"line_number":2802,"context_line":"            \u0027autosize_attributes\u0027: autosize_attributes,"},{"line_number":2803,"context_line":"            \u0027client\u0027: replica_client,"},{"line_number":2804,"context_line":"            \u0027volume:\u0027: replica_volume,"},{"line_number":2805,"context_line":"            \u0027aggregate\u0027: replica_aggregate,"}],"source_content_type":"text/x-python","patch_set":3,"id":"4597a7da_fedc51e6","line":2802,"range":{"start_line":2802,"start_character":13,"end_line":2802,"end_character":54},"in_reply_to":"b1a87d91_6b304220","updated":"2023-07-31 20:37:52.000000000","message":"Ack","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"9abf164590ff0687d5fa04bca6d282d6830e655e","unresolved":true,"context_lines":[{"line_number":2801,"context_line":"        replica_info \u003d {"},{"line_number":2802,"context_line":"            \u0027autosize_attributes\u0027: autosize_attributes,"},{"line_number":2803,"context_line":"            \u0027client\u0027: replica_client,"},{"line_number":2804,"context_line":"            \u0027volume:\u0027: replica_volume,"},{"line_number":2805,"context_line":"            \u0027aggregate\u0027: replica_aggregate,"},{"line_number":2806,"context_line":"            \u0027name\u0027: replica_name,"},{"line_number":2807,"context_line":"            \u0027provisioning_options\u0027: provisioning_options,"}],"source_content_type":"text/x-python","patch_set":3,"id":"35a1399f_46eae58f","line":2804,"range":{"start_line":2804,"start_character":12,"end_line":2804,"end_character":38},"updated":"2022-11-21 12:10:41.000000000","message":"I think this entry isn\u0027t used. Don\u0027t need to be returned.","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"8c9441f1acdbc6d06db1e031043a4fb362049272","unresolved":false,"context_lines":[{"line_number":2801,"context_line":"        replica_info \u003d {"},{"line_number":2802,"context_line":"            \u0027autosize_attributes\u0027: autosize_attributes,"},{"line_number":2803,"context_line":"            \u0027client\u0027: replica_client,"},{"line_number":2804,"context_line":"            \u0027volume:\u0027: replica_volume,"},{"line_number":2805,"context_line":"            \u0027aggregate\u0027: replica_aggregate,"},{"line_number":2806,"context_line":"            \u0027name\u0027: replica_name,"},{"line_number":2807,"context_line":"            \u0027provisioning_options\u0027: provisioning_options,"}],"source_content_type":"text/x-python","patch_set":3,"id":"d4ee6ea3_0bd26669","line":2804,"range":{"start_line":2804,"start_character":12,"end_line":2804,"end_character":38},"in_reply_to":"35a1399f_46eae58f","updated":"2023-07-31 20:37:52.000000000","message":"Ack","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"},{"author":{"_account_id":30002,"name":"Douglas Viroel","email":"viroel@gmail.com","username":"dviroel"},"change_message_id":"7fb607060676c65052a0c73c24caee1bcb2f8839","unresolved":true,"context_lines":[{"line_number":2829,"context_line":"        orig_provisioning_opts \u003d ("},{"line_number":2830,"context_line":"            orig_active_replica_info[\u0027provisioning_options\u0027])"},{"line_number":2831,"context_line":""},{"line_number":2832,"context_line":"        orig_provisioning_opts[\u0027autosize_attributes\u0027] \u003d ("},{"line_number":2833,"context_line":"            orig_active_replica_autosize_attributes)"},{"line_number":2834,"context_line":""},{"line_number":2835,"context_line":"        orig_active_replica_info[\u0027client\u0027].modify_volume("},{"line_number":2836,"context_line":"            orig_active_replica_info[\u0027aggregate\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"02e2c0be_29ef99ce","line":2833,"range":{"start_line":2832,"start_character":0,"end_line":2833,"end_character":52},"updated":"2022-08-04 18:40:16.000000000","message":"according with carthaca\u0027s comment [1], if you previous activa replica is from a older ONTAP version, the promoted replica is on a newer ONTAP and maximum-size is set to default 100TiB, this modification will fail. Did you try that on your env?\n\n\n[1] https://review.opendev.org/c/openstack/manila/+/833793/3#message-37cc015a16ed1d4b21a979e0474856b882a78111","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"9b2d5cd24d8f5600667a69c91f60f13b259859bd","unresolved":true,"context_lines":[{"line_number":2829,"context_line":"        orig_provisioning_opts \u003d ("},{"line_number":2830,"context_line":"            orig_active_replica_info[\u0027provisioning_options\u0027])"},{"line_number":2831,"context_line":""},{"line_number":2832,"context_line":"        orig_provisioning_opts[\u0027autosize_attributes\u0027] \u003d ("},{"line_number":2833,"context_line":"            orig_active_replica_autosize_attributes)"},{"line_number":2834,"context_line":""},{"line_number":2835,"context_line":"        orig_active_replica_info[\u0027client\u0027].modify_volume("},{"line_number":2836,"context_line":"            orig_active_replica_info[\u0027aggregate\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"df7f268a_fe71113f","line":2833,"range":{"start_line":2832,"start_character":0,"end_line":2833,"end_character":52},"in_reply_to":"02e2c0be_29ef99ce","updated":"2022-08-22 13:14:22.000000000","message":"Hey, Douglas, thank you for the review. I didn\u0027t try that, but I think you are right and this modification could fail. I think I don\u0027t have the exact env to reproduce the issue, but I\u0027ll try to reproduce it another way and provide a solution, if possible.","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"},{"author":{"_account_id":33648,"name":"Nahim Alves de Souza","email":"nahimsouza@outlook.com","username":"nahimsouza"},"change_message_id":"8c9441f1acdbc6d06db1e031043a4fb362049272","unresolved":true,"context_lines":[{"line_number":2829,"context_line":"        orig_provisioning_opts \u003d ("},{"line_number":2830,"context_line":"            orig_active_replica_info[\u0027provisioning_options\u0027])"},{"line_number":2831,"context_line":""},{"line_number":2832,"context_line":"        orig_provisioning_opts[\u0027autosize_attributes\u0027] \u003d ("},{"line_number":2833,"context_line":"            orig_active_replica_autosize_attributes)"},{"line_number":2834,"context_line":""},{"line_number":2835,"context_line":"        orig_active_replica_info[\u0027client\u0027].modify_volume("},{"line_number":2836,"context_line":"            orig_active_replica_info[\u0027aggregate\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"052850d1_e735f14f","line":2833,"range":{"start_line":2832,"start_character":0,"end_line":2833,"end_character":52},"in_reply_to":"220effb6_8fda4ad2","updated":"2023-07-31 20:37:52.000000000","message":"I did a quick test (not using ONTAP 9.6, because we don\u0027t have this in our lab) and it seems Felipe is right [1]. Maurice\u0027s statement was about setting the max/min size without using the \u0027reset\u0027 option (please correct me if I\u0027m wrong). But it seems to me the reset prevents this problem from occurring.\n\n\n[1] https://paste.opendev.org/show/bnLbeBah0gjGS3uqksUy/","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"},{"author":{"_account_id":31721,"name":"Felipe Rodrigues","email":"felipefuty01@gmail.com","username":"felipefutty"},"change_message_id":"9abf164590ff0687d5fa04bca6d282d6830e655e","unresolved":true,"context_lines":[{"line_number":2829,"context_line":"        orig_provisioning_opts \u003d ("},{"line_number":2830,"context_line":"            orig_active_replica_info[\u0027provisioning_options\u0027])"},{"line_number":2831,"context_line":""},{"line_number":2832,"context_line":"        orig_provisioning_opts[\u0027autosize_attributes\u0027] \u003d ("},{"line_number":2833,"context_line":"            orig_active_replica_autosize_attributes)"},{"line_number":2834,"context_line":""},{"line_number":2835,"context_line":"        orig_active_replica_info[\u0027client\u0027].modify_volume("},{"line_number":2836,"context_line":"            orig_active_replica_info[\u0027aggregate\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"220effb6_8fda4ad2","line":2833,"range":{"start_line":2832,"start_character":0,"end_line":2833,"end_character":52},"in_reply_to":"df7f268a_fe71113f","updated":"2022-11-21 12:10:41.000000000","message":"Why would it fail ? From I understood, the Maurice\u0027s statement is about setting the \"maximum-size\" and \"minimum-size\" bytes copying the value from different ONTAP. Here, the code is getting those values from the same ONTAP as it is setting. There is no switch values between ONTAP systems. Actually, I think the \"minimum-size\" and \"maximum-size\" are not even set, just retrieved from ONTAP (I couldn\u0027t get why).","commit_id":"e82e32c0faca39d2c0df22f1c5755b5d614135f6"}]}
