)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b9aea936f80a1fa1c1d8854b34494255111d9dfc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0abda50f_138d9d6c","updated":"2024-02-29 20:50:21.000000000","message":"I know this is just a fixture, but it\u0027s probably best to make sure it doesn\u0027t `AttributeError` if we use it without a usage element unless we\u0027re 100% sure it\u0027ll always be there (but I assume that\u0027s not true since we\u0027re being defensive about the presence of the usage elements).","commit_id":"66446f10a02460fb9c98498b81ee13673adde850"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"24a47c97108ce1a143df309203b7ad7f682d0a86","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9c00cd08_46354cec","updated":"2024-02-29 19:38:06.000000000","message":"im guessing dan asked you to pull this out of the main serise? this seams harmless enough so sure.","commit_id":"66446f10a02460fb9c98498b81ee13673adde850"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1f1ad1136b649c15f180abf9a24e26c3a122f094","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ee3562d8_391cca8a","in_reply_to":"9c00cd08_46354cec","updated":"2024-02-29 19:41:11.000000000","message":"That is correct 🙂","commit_id":"66446f10a02460fb9c98498b81ee13673adde850"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"818aa6472e693a7830052a19d0f5f634d3381c9e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"41e31aee_1f73d634","updated":"2024-02-29 23:45:22.000000000","message":"Sean was +2 before and these were just very minor changes, so I\u0027m going to +2+W this.","commit_id":"3a1c65a6327431e4f7c07ef954169104aec310e8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e157de8af6dcbff7623907ef752917d04e54af6c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"08ddd695_52cbd549","updated":"2024-03-01 15:46:16.000000000","message":"recheck dep failed in gate","commit_id":"3a1c65a6327431e4f7c07ef954169104aec310e8"}],"nova/tests/fixtures/libvirt.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"24a47c97108ce1a143df309203b7ad7f682d0a86","unresolved":true,"context_lines":[{"line_number":1430,"context_line":"            if \u0027encryption_format\u0027 not in disk:"},{"line_number":1431,"context_line":"                strformat +\u003d \u0027/\u003e\u0027"},{"line_number":1432,"context_line":"            else:"},{"line_number":1433,"context_line":"                strformat +\u003d \u0027\u0027\u0027\u003e"},{"line_number":1434,"context_line":"        \u003cencryption format\u003d\u0027%(encryption_format)s\u0027\u003e"},{"line_number":1435,"context_line":"          \u003csecret type\u003d\u0027passphrase\u0027 uuid\u003d\u0027%(encryption_secret)s\u0027/\u003e"},{"line_number":1436,"context_line":"        \u003c/encryption\u003e"}],"source_content_type":"text/x-python","patch_set":1,"id":"7670cdb5_4286d45c","line":1433,"range":{"start_line":1433,"start_character":29,"end_line":1433,"end_character":32},"updated":"2024-02-29 19:38:06.000000000","message":"nit: using both `\"\"\"` and `\u0027\u0027\u0027` took me a sec to parse but ok\n\ni basically alwasy use `\"\"\"` for multiline strings.","commit_id":"66446f10a02460fb9c98498b81ee13673adde850"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1f1ad1136b649c15f180abf9a24e26c3a122f094","unresolved":true,"context_lines":[{"line_number":1430,"context_line":"            if \u0027encryption_format\u0027 not in disk:"},{"line_number":1431,"context_line":"                strformat +\u003d \u0027/\u003e\u0027"},{"line_number":1432,"context_line":"            else:"},{"line_number":1433,"context_line":"                strformat +\u003d \u0027\u0027\u0027\u003e"},{"line_number":1434,"context_line":"        \u003cencryption format\u003d\u0027%(encryption_format)s\u0027\u003e"},{"line_number":1435,"context_line":"          \u003csecret type\u003d\u0027passphrase\u0027 uuid\u003d\u0027%(encryption_secret)s\u0027/\u003e"},{"line_number":1436,"context_line":"        \u003c/encryption\u003e"}],"source_content_type":"text/x-python","patch_set":1,"id":"15affed0_a724fa2e","line":1433,"range":{"start_line":1433,"start_character":29,"end_line":1433,"end_character":32},"in_reply_to":"7670cdb5_4286d45c","updated":"2024-02-29 19:41:11.000000000","message":"Sorry about that. The old code used `\u0027\u0027\u0027` and I changed it to `\"\"\"` here because the string has `\u0027` in it but then missed this one and didn\u0027t change the others after it. I should have changed them all to `\"\"\"`.","commit_id":"66446f10a02460fb9c98498b81ee13673adde850"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b9aea936f80a1fa1c1d8854b34494255111d9dfc","unresolved":true,"context_lines":[{"line_number":1719,"context_line":"        self._uuid \u003d tree.find(\u0027./uuid\u0027).text"},{"line_number":1720,"context_line":"        self._private \u003d tree.get(\u0027private\u0027) \u003d\u003d \u0027yes\u0027"},{"line_number":1721,"context_line":"        usage \u003d tree.find(\u0027./usage\u0027)"},{"line_number":1722,"context_line":"        if usage is not None:"},{"line_number":1723,"context_line":"            self._usage_type \u003d usage.get(\u0027type\u0027)"},{"line_number":1724,"context_line":"            if self._usage_type \u003d\u003d \u0027volume\u0027:"},{"line_number":1725,"context_line":"                self._usage_id \u003d usage.find(\u0027volume\u0027).text"}],"source_content_type":"text/x-python","patch_set":1,"id":"04a00583_07f8f649","line":1722,"updated":"2024-02-29 20:50:21.000000000","message":"If we don\u0027t find usage (or usage_type is not \"volume\" below), we will never set self._usage_id right? So then L1757 will explode with `AttributeError`? I think from the look of it, it\u0027s trying to be defensive, but you need to set `self._usage_id \u003d None` in `__init__` for that to work, unless I\u0027m missing something.","commit_id":"66446f10a02460fb9c98498b81ee13673adde850"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"888f76c01c4094154507e1de27ee82098219c647","unresolved":true,"context_lines":[{"line_number":1719,"context_line":"        self._uuid \u003d tree.find(\u0027./uuid\u0027).text"},{"line_number":1720,"context_line":"        self._private \u003d tree.get(\u0027private\u0027) \u003d\u003d \u0027yes\u0027"},{"line_number":1721,"context_line":"        usage \u003d tree.find(\u0027./usage\u0027)"},{"line_number":1722,"context_line":"        if usage is not None:"},{"line_number":1723,"context_line":"            self._usage_type \u003d usage.get(\u0027type\u0027)"},{"line_number":1724,"context_line":"            if self._usage_type \u003d\u003d \u0027volume\u0027:"},{"line_number":1725,"context_line":"                self._usage_id \u003d usage.find(\u0027volume\u0027).text"}],"source_content_type":"text/x-python","patch_set":1,"id":"c0281f65_96cd021a","line":1722,"in_reply_to":"04a00583_07f8f649","updated":"2024-02-29 21:06:29.000000000","message":"Hm yeah, I think you\u0027re right. I\u0027ll respin.","commit_id":"66446f10a02460fb9c98498b81ee13673adde850"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"818aa6472e693a7830052a19d0f5f634d3381c9e","unresolved":false,"context_lines":[{"line_number":1719,"context_line":"        self._uuid \u003d tree.find(\u0027./uuid\u0027).text"},{"line_number":1720,"context_line":"        self._private \u003d tree.get(\u0027private\u0027) \u003d\u003d \u0027yes\u0027"},{"line_number":1721,"context_line":"        usage \u003d tree.find(\u0027./usage\u0027)"},{"line_number":1722,"context_line":"        if usage is not None:"},{"line_number":1723,"context_line":"            self._usage_type \u003d usage.get(\u0027type\u0027)"},{"line_number":1724,"context_line":"            if self._usage_type \u003d\u003d \u0027volume\u0027:"},{"line_number":1725,"context_line":"                self._usage_id \u003d usage.find(\u0027volume\u0027).text"}],"source_content_type":"text/x-python","patch_set":1,"id":"21bf76fd_8edf83be","line":1722,"in_reply_to":"c0281f65_96cd021a","updated":"2024-02-29 23:45:22.000000000","message":"Done","commit_id":"66446f10a02460fb9c98498b81ee13673adde850"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b9aea936f80a1fa1c1d8854b34494255111d9dfc","unresolved":true,"context_lines":[{"line_number":1720,"context_line":"        self._private \u003d tree.get(\u0027private\u0027) \u003d\u003d \u0027yes\u0027"},{"line_number":1721,"context_line":"        usage \u003d tree.find(\u0027./usage\u0027)"},{"line_number":1722,"context_line":"        if usage is not None:"},{"line_number":1723,"context_line":"            self._usage_type \u003d usage.get(\u0027type\u0027)"},{"line_number":1724,"context_line":"            if self._usage_type \u003d\u003d \u0027volume\u0027:"},{"line_number":1725,"context_line":"                self._usage_id \u003d usage.find(\u0027volume\u0027).text"},{"line_number":1726,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"40703504_a4ec3902","line":1723,"updated":"2024-02-29 20:50:21.000000000","message":"I don\u0027t see that `_usage_type` is used anywhere, do we need to keep it?","commit_id":"66446f10a02460fb9c98498b81ee13673adde850"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"888f76c01c4094154507e1de27ee82098219c647","unresolved":true,"context_lines":[{"line_number":1720,"context_line":"        self._private \u003d tree.get(\u0027private\u0027) \u003d\u003d \u0027yes\u0027"},{"line_number":1721,"context_line":"        usage \u003d tree.find(\u0027./usage\u0027)"},{"line_number":1722,"context_line":"        if usage is not None:"},{"line_number":1723,"context_line":"            self._usage_type \u003d usage.get(\u0027type\u0027)"},{"line_number":1724,"context_line":"            if self._usage_type \u003d\u003d \u0027volume\u0027:"},{"line_number":1725,"context_line":"                self._usage_id \u003d usage.find(\u0027volume\u0027).text"},{"line_number":1726,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"4ebc591d_47f3a072","line":1723,"in_reply_to":"40703504_a4ec3902","updated":"2024-02-29 21:06:29.000000000","message":"I don\u0027t think so. Not sure why I assigned it.","commit_id":"66446f10a02460fb9c98498b81ee13673adde850"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"818aa6472e693a7830052a19d0f5f634d3381c9e","unresolved":false,"context_lines":[{"line_number":1720,"context_line":"        self._private \u003d tree.get(\u0027private\u0027) \u003d\u003d \u0027yes\u0027"},{"line_number":1721,"context_line":"        usage \u003d tree.find(\u0027./usage\u0027)"},{"line_number":1722,"context_line":"        if usage is not None:"},{"line_number":1723,"context_line":"            self._usage_type \u003d usage.get(\u0027type\u0027)"},{"line_number":1724,"context_line":"            if self._usage_type \u003d\u003d \u0027volume\u0027:"},{"line_number":1725,"context_line":"                self._usage_id \u003d usage.find(\u0027volume\u0027).text"},{"line_number":1726,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"71918ee2_2ffdd7eb","line":1723,"in_reply_to":"4ebc591d_47f3a072","updated":"2024-02-29 23:45:22.000000000","message":"Done","commit_id":"66446f10a02460fb9c98498b81ee13673adde850"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b9aea936f80a1fa1c1d8854b34494255111d9dfc","unresolved":true,"context_lines":[{"line_number":1721,"context_line":"        usage \u003d tree.find(\u0027./usage\u0027)"},{"line_number":1722,"context_line":"        if usage is not None:"},{"line_number":1723,"context_line":"            self._usage_type \u003d usage.get(\u0027type\u0027)"},{"line_number":1724,"context_line":"            if self._usage_type \u003d\u003d \u0027volume\u0027:"},{"line_number":1725,"context_line":"                self._usage_id \u003d usage.find(\u0027volume\u0027).text"},{"line_number":1726,"context_line":""},{"line_number":1727,"context_line":"    def setValue(self, value, flags\u003d0):"}],"source_content_type":"text/x-python","patch_set":1,"id":"194824e5_ab4f344d","line":1724,"updated":"2024-02-29 20:50:21.000000000","message":"This is always \"volume\" for any sort of disk right? So ephemeral or cinder?","commit_id":"66446f10a02460fb9c98498b81ee13673adde850"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"888f76c01c4094154507e1de27ee82098219c647","unresolved":true,"context_lines":[{"line_number":1721,"context_line":"        usage \u003d tree.find(\u0027./usage\u0027)"},{"line_number":1722,"context_line":"        if usage is not None:"},{"line_number":1723,"context_line":"            self._usage_type \u003d usage.get(\u0027type\u0027)"},{"line_number":1724,"context_line":"            if self._usage_type \u003d\u003d \u0027volume\u0027:"},{"line_number":1725,"context_line":"                self._usage_id \u003d usage.find(\u0027volume\u0027).text"},{"line_number":1726,"context_line":""},{"line_number":1727,"context_line":"    def setValue(self, value, flags\u003d0):"}],"source_content_type":"text/x-python","patch_set":1,"id":"a6f383b2_06aaf324","line":1724,"in_reply_to":"194824e5_ab4f344d","updated":"2024-02-29 21:06:29.000000000","message":"Yes I believe so. We are using \"volume\" for encrypted Cinder volumes as well.","commit_id":"66446f10a02460fb9c98498b81ee13673adde850"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"818aa6472e693a7830052a19d0f5f634d3381c9e","unresolved":false,"context_lines":[{"line_number":1721,"context_line":"        usage \u003d tree.find(\u0027./usage\u0027)"},{"line_number":1722,"context_line":"        if usage is not None:"},{"line_number":1723,"context_line":"            self._usage_type \u003d usage.get(\u0027type\u0027)"},{"line_number":1724,"context_line":"            if self._usage_type \u003d\u003d \u0027volume\u0027:"},{"line_number":1725,"context_line":"                self._usage_id \u003d usage.find(\u0027volume\u0027).text"},{"line_number":1726,"context_line":""},{"line_number":1727,"context_line":"    def setValue(self, value, flags\u003d0):"}],"source_content_type":"text/x-python","patch_set":1,"id":"eb30bd67_023a0ee1","line":1724,"in_reply_to":"a6f383b2_06aaf324","updated":"2024-02-29 23:45:22.000000000","message":"Acknowledged","commit_id":"66446f10a02460fb9c98498b81ee13673adde850"}]}
