)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"f9cc5eaa1106495311d554832f28325587a70bd6","unresolved":true,"context_lines":[{"line_number":14,"context_line":"disabled."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Enabling this feature may, in rare edge-case scenarios, cause"},{"line_number":17,"context_line":"unexpected results which shouldi be reported to Pure Storage"},{"line_number":18,"context_line":"Support for investigation."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Enabling this feature will also force the pure_eradicate_on_delete"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"2b1964bb_eb156dcb","line":17,"range":{"start_line":17,"start_character":25,"end_line":17,"end_character":32},"updated":"2026-02-25 12:46:18.000000000","message":"typo","commit_id":"2bd22e7ad8c1ca380ff3f0d47af4f2e1b6072428"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"50edb24747ec436d3174ea87b98340a2f3e554a8","unresolved":false,"context_lines":[{"line_number":14,"context_line":"disabled."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Enabling this feature may, in rare edge-case scenarios, cause"},{"line_number":17,"context_line":"unexpected results which shouldi be reported to Pure Storage"},{"line_number":18,"context_line":"Support for investigation."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Enabling this feature will also force the pure_eradicate_on_delete"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"8e819a30_7f57192f","line":17,"range":{"start_line":17,"start_character":25,"end_line":17,"end_character":32},"in_reply_to":"2b1964bb_eb156dcb","updated":"2026-03-10 18:27:25.000000000","message":"Done","commit_id":"2bd22e7ad8c1ca380ff3f0d47af4f2e1b6072428"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"c741e5dbe6e83b9440ea34a587aa56de617d3e40","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4a6222e4_d45e0cf0","updated":"2025-09-10 04:32:01.000000000","message":"recheck","commit_id":"3908e3e17d8115bcbfd190d0caa2d511d96acfcf"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"071af38b2adc91ade75658619c19dd15afed5e73","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5739051b_d06bf364","updated":"2025-08-27 01:28:58.000000000","message":"recheck","commit_id":"3908e3e17d8115bcbfd190d0caa2d511d96acfcf"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"8ce0fff29d0928af3ec0347437a2a82592696be2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2e22031b_4f9d2385","updated":"2025-09-11 14:05:39.000000000","message":"Typos, code looks good, would be nice to have UT coverage.","commit_id":"9a13f086feb56465b40bf1e85250535f8f1ece66"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"4413999cc8fe83779691f019d8ba88c9b5330ba1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"00f32ee3_234d5ec5","in_reply_to":"2e22031b_4f9d2385","updated":"2025-09-18 17:58:08.000000000","message":"Done","commit_id":"9a13f086feb56465b40bf1e85250535f8f1ece66"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"f9cc5eaa1106495311d554832f28325587a70bd6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"c1edbce6_d30cbf24","updated":"2026-02-25 12:46:18.000000000","message":"1] small correction (space) can be done in cfg.BoolOpt().\n2] minor typo in commit message.","commit_id":"2bd22e7ad8c1ca380ff3f0d47af4f2e1b6072428"},{"author":{"_account_id":36439,"name":"Vivek Pandey","email":"vivek.pandey11@ibm.com","username":"vivek.pandey11"},"change_message_id":"3d4cfbb54982ea0cc0e560f71c4cd2ca9c83097c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5a791adc_3359e64f","updated":"2025-11-24 09:33:06.000000000","message":"LGTM","commit_id":"2bd22e7ad8c1ca380ff3f0d47af4f2e1b6072428"},{"author":{"_account_id":38067,"name":"Sandip Rajbanshi","display_name":"Sandip27","email":"sandip.rajbanshi@ibm.com","username":"sandip-rajbanshi-27"},"change_message_id":"91c258d2d20b5d344f97027522d91ab67e89a450","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a200315a_8254ee30","updated":"2025-11-21 15:20:00.000000000","message":"LGTM","commit_id":"2bd22e7ad8c1ca380ff3f0d47af4f2e1b6072428"},{"author":{"_account_id":35075,"name":"Alexander Deiter","email":"adeiter@infinidat.com","username":"adeiter"},"change_message_id":"3efc99093d40b4621decd7674666e3cf247ef61c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"dd01a425_08cbea5a","updated":"2026-02-20 15:15:42.000000000","message":"Looks good to me - thank you!","commit_id":"2bd22e7ad8c1ca380ff3f0d47af4f2e1b6072428"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"5c10e19e0165e958cc1cee6844728775ad6e2893","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"756e98b7_62373d0c","updated":"2025-10-08 12:43:51.000000000","message":"cinder-flamingo-features","commit_id":"2bd22e7ad8c1ca380ff3f0d47af4f2e1b6072428"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"b0ebbcb3679e4c6a1bc078b8dfdfba67e85adebf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"27d55caf_bfa6622a","updated":"2026-01-02 16:37:11.000000000","message":"run-Pure Storage Third-Party CI","commit_id":"2bd22e7ad8c1ca380ff3f0d47af4f2e1b6072428"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"0fa6e576dbab746b441c276fbb9e383c0675a840","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"613b20b0_b9e316c0","updated":"2026-03-07 06:32:52.000000000","message":"recheck","commit_id":"10982b92c83d984ab28e54420aa53ad657e8d182"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"3c2480adbdf352d02d4ff7e8987d3b8b8a133456","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"b963c38c_5705463f","updated":"2026-03-09 22:52:38.000000000","message":"CI not wroking - as per request of Jon Bernard, the tempest results are here:\nhttps://github.com/Everpure-Zuul-CI/Common-CI/tree/main/cinder/958569","commit_id":"64a0e69f35d534db7f3272e2da1ad707732f215d"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"55eb248fa748b8055c0ede69fdf705408e42f259","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"3ef78c82_fccf30ca","updated":"2026-03-10 11:36:03.000000000","message":"recheck","commit_id":"64a0e69f35d534db7f3272e2da1ad707732f215d"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"8edd3ad95aeb0da61395c54d9ab72f12795a8829","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"812312f1_cef1d140","updated":"2026-03-10 04:00:42.000000000","message":"recheck","commit_id":"64a0e69f35d534db7f3272e2da1ad707732f215d"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"af79223791ecbc135a5c0fb94d09be992875722f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"edf66676_14fe4092","updated":"2026-03-10 14:59:23.000000000","message":"recheck","commit_id":"64a0e69f35d534db7f3272e2da1ad707732f215d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"37506946dfe91c3319570fd4b8662a772bef5b1e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"50be67a8_eabe9d7c","updated":"2026-03-10 19:11:46.000000000","message":"Assuming Zuul is happy at some point, lgtm.","commit_id":"1a1fe8ab260f84121796298289203dda20843af5"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"81b67e4dc578ebcabc570fb3f7d6d80b1f29fa3b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"0e977fc7_e558b043","updated":"2026-03-10 20:53:00.000000000","message":"recheck","commit_id":"1a1fe8ab260f84121796298289203dda20843af5"}],"cinder/volume/drivers/pure.py":[{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"8ce0fff29d0928af3ec0347437a2a82592696be2","unresolved":true,"context_lines":[{"line_number":135,"context_line":"                     \"to one array and async replicated to a separate array.\"),"},{"line_number":136,"context_line":"    cfg.BoolOpt(\"pure_safemode_enabled\","},{"line_number":137,"context_line":"                default\u003dFalse,"},{"line_number":138,"context_line":"                help\u003d\"When enabled SafeMode protection will enforced for all\""},{"line_number":139,"context_line":"                     \"objects created by the Pure Cinder driver. This\""},{"line_number":140,"context_line":"                     \"overrides the pure_eradicate_on_delete parameter and\""},{"line_number":141,"context_line":"                     \"forces it to be false.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"feca6cba_e5d9a857","line":138,"updated":"2025-09-11 14:05:39.000000000","message":"When enabled, ... will /be/ enforced","commit_id":"9a13f086feb56465b40bf1e85250535f8f1ece66"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"4413999cc8fe83779691f019d8ba88c9b5330ba1","unresolved":false,"context_lines":[{"line_number":135,"context_line":"                     \"to one array and async replicated to a separate array.\"),"},{"line_number":136,"context_line":"    cfg.BoolOpt(\"pure_safemode_enabled\","},{"line_number":137,"context_line":"                default\u003dFalse,"},{"line_number":138,"context_line":"                help\u003d\"When enabled SafeMode protection will enforced for all\""},{"line_number":139,"context_line":"                     \"objects created by the Pure Cinder driver. This\""},{"line_number":140,"context_line":"                     \"overrides the pure_eradicate_on_delete parameter and\""},{"line_number":141,"context_line":"                     \"forces it to be false.\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"9bfc88f9_3f4e5f48","line":138,"in_reply_to":"feca6cba_e5d9a857","updated":"2025-09-18 17:58:08.000000000","message":"Done","commit_id":"9a13f086feb56465b40bf1e85250535f8f1ece66"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"8ce0fff29d0928af3ec0347437a2a82592696be2","unresolved":true,"context_lines":[{"line_number":3325,"context_line":"            if self._array.safemode:"},{"line_number":3326,"context_line":"                # Now we check to ensure that the created pod does not have a"},{"line_number":3327,"context_line":"                # safemode protection group attached to it as this is not"},{"line_number":3328,"context_line":"                # supported by Cinder, hoewever if SafeMode has been"},{"line_number":3329,"context_line":"                # enabled then do not remove the protection."},{"line_number":3330,"context_line":"                safemode_pg \u003d list("},{"line_number":3331,"context_line":"                    source_array.get_container_default_protections("}],"source_content_type":"text/x-python","patch_set":4,"id":"3aa6a937_3fc82afd","line":3328,"updated":"2025-09-11 14:05:39.000000000","message":"however","commit_id":"9a13f086feb56465b40bf1e85250535f8f1ece66"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"4413999cc8fe83779691f019d8ba88c9b5330ba1","unresolved":false,"context_lines":[{"line_number":3325,"context_line":"            if self._array.safemode:"},{"line_number":3326,"context_line":"                # Now we check to ensure that the created pod does not have a"},{"line_number":3327,"context_line":"                # safemode protection group attached to it as this is not"},{"line_number":3328,"context_line":"                # supported by Cinder, hoewever if SafeMode has been"},{"line_number":3329,"context_line":"                # enabled then do not remove the protection."},{"line_number":3330,"context_line":"                safemode_pg \u003d list("},{"line_number":3331,"context_line":"                    source_array.get_container_default_protections("}],"source_content_type":"text/x-python","patch_set":4,"id":"7f8febee_299aa552","line":3328,"in_reply_to":"3aa6a937_3fc82afd","updated":"2025-09-18 17:58:08.000000000","message":"Done","commit_id":"9a13f086feb56465b40bf1e85250535f8f1ece66"},{"author":{"_account_id":29122,"name":"Raghavendra Tilay","email":"raghavendra-uddhav.tilay@hpe.com","username":"raghavendrat"},"change_message_id":"f9cc5eaa1106495311d554832f28325587a70bd6","unresolved":true,"context_lines":[{"line_number":137,"context_line":"                     \"to one array and async replicated to a separate array.\"),"},{"line_number":138,"context_line":"    cfg.BoolOpt(\"pure_safemode_enabled\","},{"line_number":139,"context_line":"                default\u003dFalse,"},{"line_number":140,"context_line":"                help\u003d\"When enabled SafeMode protection will be enforced for\""},{"line_number":141,"context_line":"                     \"all objects created by the Pure Cinder driver. This\""},{"line_number":142,"context_line":"                     \"overrides the pure_eradicate_on_delete parameter and\""},{"line_number":143,"context_line":"                     \"forces it to be false.\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"c4dfb089_57b80d32","line":140,"updated":"2026-02-25 12:46:18.000000000","message":"Lines 140 to 142: space is required at end of line.","commit_id":"2bd22e7ad8c1ca380ff3f0d47af4f2e1b6072428"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"190333fdecde8a938efc35c729c4f22870a38488","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                     \"to one array and async replicated to a separate array.\"),"},{"line_number":138,"context_line":"    cfg.BoolOpt(\"pure_safemode_enabled\","},{"line_number":139,"context_line":"                default\u003dFalse,"},{"line_number":140,"context_line":"                help\u003d\"When enabled SafeMode protection will be enforced for\""},{"line_number":141,"context_line":"                     \"all objects created by the Pure Cinder driver. This\""},{"line_number":142,"context_line":"                     \"overrides the pure_eradicate_on_delete parameter and\""},{"line_number":143,"context_line":"                     \"forces it to be false.\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"17250c3f_47832b09","line":140,"in_reply_to":"c4dfb089_57b80d32","updated":"2026-03-10 18:26:36.000000000","message":"Done","commit_id":"2bd22e7ad8c1ca380ff3f0d47af4f2e1b6072428"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"d069d78e0eca4c835a389bca16374f5642eb2950","unresolved":true,"context_lines":[{"line_number":593,"context_line":"            else:"},{"line_number":594,"context_line":"                self._array.safemode \u003d True"},{"line_number":595,"context_line":"                if self._safemode_enabled:"},{"line_number":596,"context_line":"                    self.configuration.pure_eradicate_on_delete \u003d False"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"            LOG.info(\"Primary array: backend_id\u003d\u0027%s\u0027, name\u003d\u0027%s\u0027, id\u003d\u0027%s\u0027\","},{"line_number":599,"context_line":"                     self.configuration.config_group,"}],"source_content_type":"text/x-python","patch_set":6,"id":"ebfd18d0_2bb5e55c","line":596,"updated":"2025-09-26 21:17:57.000000000","message":"In the description to new fields you said:\n\nThis overrides the pure_eradicate_on_delete parameter and forces it to be false.\n\nSo according to description there is no condition - setting pure_safemode_enabled\u003dTrue overrides always set  pure_eradicate_on_delete to False\n\nBut here condition is present. \nself.configuration.pure_eradicate_on_delete \u003d False \n\nthis ^^ works only wne version is \u003e 6.3.4\n\nis it expected behavior","commit_id":"2bd22e7ad8c1ca380ff3f0d47af4f2e1b6072428"},{"author":{"_account_id":36962,"name":"Volodymyr Boiko","display_name":"Volodymyr","email":"volodymyr.boiko@vastdata.com","username":"fnn45"},"change_message_id":"ab5b111deacbe0d898d8878126f68131adb713ca","unresolved":false,"context_lines":[{"line_number":593,"context_line":"            else:"},{"line_number":594,"context_line":"                self._array.safemode \u003d True"},{"line_number":595,"context_line":"                if self._safemode_enabled:"},{"line_number":596,"context_line":"                    self.configuration.pure_eradicate_on_delete \u003d False"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"            LOG.info(\"Primary array: backend_id\u003d\u0027%s\u0027, name\u003d\u0027%s\u0027, id\u003d\u0027%s\u0027\","},{"line_number":599,"context_line":"                     self.configuration.config_group,"}],"source_content_type":"text/x-python","patch_set":6,"id":"77a9cac5_e4b1980d","line":596,"in_reply_to":"7bfb2591_802d4ce1","updated":"2025-10-09 21:43:39.000000000","message":"Acknowledged","commit_id":"2bd22e7ad8c1ca380ff3f0d47af4f2e1b6072428"},{"author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@purestorage.com","username":"sdodsley"},"change_message_id":"7b68c2bb320441b8ed6757efd9e59d4795d89d13","unresolved":true,"context_lines":[{"line_number":593,"context_line":"            else:"},{"line_number":594,"context_line":"                self._array.safemode \u003d True"},{"line_number":595,"context_line":"                if self._safemode_enabled:"},{"line_number":596,"context_line":"                    self.configuration.pure_eradicate_on_delete \u003d False"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"            LOG.info(\"Primary array: backend_id\u003d\u0027%s\u0027, name\u003d\u0027%s\u0027, id\u003d\u0027%s\u0027\","},{"line_number":599,"context_line":"                     self.configuration.config_group,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7bfb2591_802d4ce1","line":596,"in_reply_to":"ebfd18d0_2bb5e55c","updated":"2025-09-26 21:33:29.000000000","message":"the pure_eradicate_on_delete parameter can be set to true in the config file and if this is the case if pure_safemode_enabled is also set to true in the config file, the eradicate_on_delete setting is forced to False at this point, overriding that set in the cinder config file.\nSafeMode is a feature that is only availble from 6.3.4, so we only need to override eradicate_on_delete if safemode is possible on the array and safemode_enabled is set true.\nPrior to 6.3.4 the safe_enabled parameter is meaningless.\nI hope I understood your comment correctly","commit_id":"2bd22e7ad8c1ca380ff3f0d47af4f2e1b6072428"}]}
