)]}'
{"sysinv/cgts-client/cgts-client/cgtsclient/v1/storage_ceph_rook.py":[{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"415cd592e215f9c49073a8d587d092f5a1b858e3","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def create(self, **kwargs):"},{"line_number":43,"context_line":"        new \u003d {}"},{"line_number":44,"context_line":"        for (key, value) in kwargs.items():"},{"line_number":45,"context_line":"            if key in CREATION_ATTRIBUTES:"},{"line_number":46,"context_line":"                new[key] \u003d value"},{"line_number":47,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":48,"id":"3ad0cbca_1a8e331f","line":44,"updated":"2021-01-19 14:58:30.000000000","message":"going to assume that all the creation arguments are not required\u0027 since a subset of them can be passed in here.","commit_id":"54e1fcc3b24f5229729d9d35b3d78fbb2db46e3b"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"29724f6322ca948a5aa86c8a1bec372a87dfdcaf","unresolved":true,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def create(self, **kwargs):"},{"line_number":43,"context_line":"        new \u003d {}"},{"line_number":44,"context_line":"        for (key, value) in kwargs.items():"},{"line_number":45,"context_line":"            if key in CREATION_ATTRIBUTES:"},{"line_number":46,"context_line":"                new[key] \u003d value"},{"line_number":47,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":48,"id":"ab6d9cca_fd5d90f8","line":44,"in_reply_to":"3ad0cbca_1a8e331f","updated":"2021-01-21 02:46:41.000000000","message":"User could pass a subset of argument. This check is to forbid unexpected argument","commit_id":"54e1fcc3b24f5229729d9d35b3d78fbb2db46e3b"}],"sysinv/sysinv/sysinv/setup.cfg":[{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":65,"context_line":"    035_dockerdistribution \u003d sysinv.puppet.dockerdistribution:DockerDistributionPuppet"},{"line_number":66,"context_line":"    036_pciirqaffinity \u003d sysinv.puppet.pci_irq_affinity:PciIrqAffinityPuppet"},{"line_number":67,"context_line":"    038_certmon \u003d sysinv.puppet.certmon:CertMonPuppet"},{"line_number":68,"context_line":"    039_rook \u003d sysinv.puppet.rook:RookPuppet"},{"line_number":69,"context_line":"    099_service_parameter \u003d sysinv.puppet.service_parameter:ServiceParamPuppet"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"systemconfig.armada.manifest_ops \u003d"}],"source_content_type":"text/x-ttcn-cfg","patch_set":43,"id":"fdb9d70d_2cda61e5","line":68,"updated":"2021-01-14 19:41:53.000000000","message":"please note that 039_ has already recently been merged:  https://opendev.org/starlingx/config/src/branch/master/sysinv/sysinv/sysinv/setup.cfg\n\nPlease rebase and increment above latest","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"e3beb0d7dbc219c0101137c7a054cc701318adfc","unresolved":true,"context_lines":[{"line_number":65,"context_line":"    035_dockerdistribution \u003d sysinv.puppet.dockerdistribution:DockerDistributionPuppet"},{"line_number":66,"context_line":"    036_pciirqaffinity \u003d sysinv.puppet.pci_irq_affinity:PciIrqAffinityPuppet"},{"line_number":67,"context_line":"    038_certmon \u003d sysinv.puppet.certmon:CertMonPuppet"},{"line_number":68,"context_line":"    039_rook \u003d sysinv.puppet.rook:RookPuppet"},{"line_number":69,"context_line":"    099_service_parameter \u003d sysinv.puppet.service_parameter:ServiceParamPuppet"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"systemconfig.armada.manifest_ops \u003d"}],"source_content_type":"text/x-ttcn-cfg","patch_set":43,"id":"b2891666_2962cbbf","line":68,"in_reply_to":"fdb9d70d_2cda61e5","updated":"2021-01-19 10:42:55.000000000","message":"fixed","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"}],"sysinv/sysinv/sysinv/sysinv/agent/lvg.py":[{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"704d585f7d2dd0886be95fc46b8fc5b789676f57","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                        attr[k] \u003d int(attr[k])"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"                return attr"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def ilvg_get(self, cinder_device\u003dNone):"},{"line_number":106,"context_line":"        \u0027\u0027\u0027Enumerate physical volume topology based on:"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ff570b3c_5fa65111","line":104,"updated":"2020-06-11 19:21:12.000000000","message":"Should we explicitly return None at the end of this method to indicate we did not return early in the loop above?","commit_id":"112be183277588894747d0ccd700aaf8ae7a4f5a"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"538a82ffa3c0acba02459f52cc7bf333cc6c982d","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        return thinpools"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def ilvg_rook_get(self):"},{"line_number":57,"context_line":"        # rook-ceph are hiddenby global_filter, list them separately."},{"line_number":58,"context_line":"        # keys: matching the field order of pvdisplay command"},{"line_number":59,"context_line":"        string_keys \u003d [\u0027lvm_vg_name\u0027, \u0027lvm_vg_uuid\u0027, \u0027lvm_vg_access\u0027,"},{"line_number":60,"context_line":"                       \u0027lvm_max_lv\u0027, \u0027lvm_cur_lv\u0027, \u0027lvm_max_pv\u0027,"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_983f1a24","line":57,"updated":"2020-08-21 14:10:32.000000000","message":"nit: need a space here","commit_id":"cbfcf5825cd0c3029b5c83de4d7c65683992d83d"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"4cc52aa4c8f09cebc5158f420b4b9b1ff31292f1","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        return thinpools"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def ilvg_rook_get(self):"},{"line_number":57,"context_line":"        # rook-ceph are hiddenby global_filter, list them separately."},{"line_number":58,"context_line":"        # keys: matching the field order of pvdisplay command"},{"line_number":59,"context_line":"        string_keys \u003d [\u0027lvm_vg_name\u0027, \u0027lvm_vg_uuid\u0027, \u0027lvm_vg_access\u0027,"},{"line_number":60,"context_line":"                       \u0027lvm_max_lv\u0027, \u0027lvm_cur_lv\u0027, \u0027lvm_max_pv\u0027,"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_e02f1886","line":57,"in_reply_to":"9f560f44_983f1a24","updated":"2020-08-28 02:07:06.000000000","message":"fixed","commit_id":"cbfcf5825cd0c3029b5c83de4d7c65683992d83d"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"538a82ffa3c0acba02459f52cc7bf333cc6c982d","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            vgdisplay_process \u003d subprocess.Popen(vgdisplay_command,"},{"line_number":80,"context_line":"                                                 stdout\u003dsubprocess.PIPE,"},{"line_number":81,"context_line":"                                                 shell\u003dTrue)"},{"line_number":82,"context_line":"            vgdisplay_output \u003d vgdisplay_process.stdout.read()"},{"line_number":83,"context_line":"        except Exception as e:"},{"line_number":84,"context_line":"            self.handle_exception(\"Could not retrieve vgdisplay \""},{"line_number":85,"context_line":"                                  \"information: %s\" % e)"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_9b13945c","line":82,"updated":"2020-08-21 14:10:32.000000000","message":"this will return \u0027bytes\u0027 in python3\n\nNeed to change this line to\nvgdisplay_output \u003d vgdisplay_process.stdout.read().decode(\"utf-8\")","commit_id":"cbfcf5825cd0c3029b5c83de4d7c65683992d83d"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"4cc52aa4c8f09cebc5158f420b4b9b1ff31292f1","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            vgdisplay_process \u003d subprocess.Popen(vgdisplay_command,"},{"line_number":80,"context_line":"                                                 stdout\u003dsubprocess.PIPE,"},{"line_number":81,"context_line":"                                                 shell\u003dTrue)"},{"line_number":82,"context_line":"            vgdisplay_output \u003d vgdisplay_process.stdout.read()"},{"line_number":83,"context_line":"        except Exception as e:"},{"line_number":84,"context_line":"            self.handle_exception(\"Could not retrieve vgdisplay \""},{"line_number":85,"context_line":"                                  \"information: %s\" % e)"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_404a445b","line":82,"in_reply_to":"9f560f44_9b13945c","updated":"2020-08-28 02:07:06.000000000","message":"fixed.","commit_id":"cbfcf5825cd0c3029b5c83de4d7c65683992d83d"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"538a82ffa3c0acba02459f52cc7bf333cc6c982d","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            vgdisplay_output \u003d \"\""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"        # parse the output 1 vg/row"},{"line_number":89,"context_line":"        for row in vgdisplay_output.split(\u0027\\n\u0027):"},{"line_number":90,"context_line":"            if row.strip().startswith(\"ceph\"):"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"                # get the values of fields as strings"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_b853fe38","line":89,"range":{"start_line":89,"start_character":5,"end_line":89,"end_character":48},"updated":"2020-08-21 14:10:32.000000000","message":"This is the line that will blow up without the \u0027decode\u0027 I mention above.\n\nfor row in vgdisplay_output.split(\u0027\\n\u0027):\n\nTypeError: a bytes-like object is required, not \u0027str\u0027","commit_id":"cbfcf5825cd0c3029b5c83de4d7c65683992d83d"}],"sysinv/sysinv/sysinv/sysinv/agent/manager.py":[{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"288765c84380b4e93f0a559c3af2d66c55b175b9","unresolved":false,"context_lines":[{"line_number":2049,"context_line":"            except exception.SysinvException:"},{"line_number":2050,"context_line":"                LOG.exception(\"Sysinv Agent exception updating ilvg\""},{"line_number":2051,"context_line":"                              \"conductor.\")"},{"line_number":2052,"context_line":"                pass"},{"line_number":2053,"context_line":""},{"line_number":2054,"context_line":"            # Update physical volumes"},{"line_number":2055,"context_line":"            ipv \u003d self._ipv_operator.ipv_get()"}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_d63d75bd","line":2052,"updated":"2020-08-28 12:56:35.000000000","message":"nit: unneccessary \u0027pass\u0027","commit_id":"d8720d5cc11ac1183ed9a4a8a262092f72a49a4c"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"fadaa13beda11222cbcdcbf82a1bb72c615f8e6a","unresolved":false,"context_lines":[{"line_number":2049,"context_line":"            except exception.SysinvException:"},{"line_number":2050,"context_line":"                LOG.exception(\"Sysinv Agent exception updating ilvg\""},{"line_number":2051,"context_line":"                              \"conductor.\")"},{"line_number":2052,"context_line":"                pass"},{"line_number":2053,"context_line":""},{"line_number":2054,"context_line":"            # Update physical volumes"},{"line_number":2055,"context_line":"            ipv \u003d self._ipv_operator.ipv_get()"}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_f766a155","line":2052,"in_reply_to":"9f560f44_d63d75bd","updated":"2020-08-31 01:28:12.000000000","message":"updated","commit_id":"d8720d5cc11ac1183ed9a4a8a262092f72a49a4c"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"288765c84380b4e93f0a559c3af2d66c55b175b9","unresolved":false,"context_lines":[{"line_number":2061,"context_line":"            except exception.SysinvException:"},{"line_number":2062,"context_line":"                LOG.exception(\"Sysinv Agent exception updating ipv\""},{"line_number":2063,"context_line":"                              \"conductor.\")"},{"line_number":2064,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_f644f949","line":2064,"updated":"2020-08-28 12:56:35.000000000","message":"nit: unnecessary \u0027pass\u0027","commit_id":"d8720d5cc11ac1183ed9a4a8a262092f72a49a4c"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"fadaa13beda11222cbcdcbf82a1bb72c615f8e6a","unresolved":false,"context_lines":[{"line_number":2061,"context_line":"            except exception.SysinvException:"},{"line_number":2062,"context_line":"                LOG.exception(\"Sysinv Agent exception updating ipv\""},{"line_number":2063,"context_line":"                              \"conductor.\")"},{"line_number":2064,"context_line":"                pass"}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_5774adfe","line":2064,"in_reply_to":"9f560f44_f644f949","updated":"2020-08-31 01:28:12.000000000","message":"updated","commit_id":"d8720d5cc11ac1183ed9a4a8a262092f72a49a4c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"df6050d69074085735744c57f17310f0245d4397","unresolved":true,"context_lines":[{"line_number":1421,"context_line":"                    self._prev_lvg \u003d None"},{"line_number":1422,"context_line":"                    pass"},{"line_number":1423,"context_line":""},{"line_number":1424,"context_line":"            # Update physical volumes"},{"line_number":1425,"context_line":"            ipv \u003d self._ipv_operator.ipv_get(cinder_device\u003dcinder_device)"},{"line_number":1426,"context_line":"            if ((self._prev_pv is None) or"},{"line_number":1427,"context_line":"                    (self._prev_pv !\u003d ipv)):"}],"source_content_type":"text/x-python","patch_set":40,"id":"6f330b17_5cf9f078","line":1424,"updated":"2021-01-13 15:39:50.000000000","message":"why is this being moved?  lvg may have a dependency on pv first.","commit_id":"8a4e3423d4a17e628853702d7d613e04f661779f"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"4ff7db41219cb6b013ca1147900ba2b5fa9008c2","unresolved":true,"context_lines":[{"line_number":1421,"context_line":"                    self._prev_lvg \u003d None"},{"line_number":1422,"context_line":"                    pass"},{"line_number":1423,"context_line":""},{"line_number":1424,"context_line":"            # Update physical volumes"},{"line_number":1425,"context_line":"            ipv \u003d self._ipv_operator.ipv_get(cinder_device\u003dcinder_device)"},{"line_number":1426,"context_line":"            if ((self._prev_pv is None) or"},{"line_number":1427,"context_line":"                    (self._prev_pv !\u003d ipv)):"}],"source_content_type":"text/x-python","patch_set":40,"id":"3266f22f_5125d5a0","line":1424,"in_reply_to":"6f330b17_5cf9f078","updated":"2021-01-14 05:53:32.000000000","message":"Because pv object will reference lvg uuid sysinv/sysinv/sysinv/sysinv/objects/pv.py\nSo if a new pv and new lvg created. call ipv_update_by_ihost before ilvg_update, it will throw exception \"no lvg\"","commit_id":"8a4e3423d4a17e628853702d7d613e04f661779f"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"907168e0337f76c1f8bbdc46b581515c206332a0","unresolved":true,"context_lines":[{"line_number":1422,"context_line":"                    self._prev_lvg \u003d None"},{"line_number":1423,"context_line":"                    pass"},{"line_number":1424,"context_line":""},{"line_number":1425,"context_line":"            # Update physical volumes"},{"line_number":1426,"context_line":"            ipv \u003d self._ipv_operator.ipv_get(cinder_device\u003dcinder_device)"},{"line_number":1427,"context_line":"            if ((self._prev_pv is None) or"},{"line_number":1428,"context_line":"                    (self._prev_pv !\u003d ipv)):"}],"source_content_type":"text/x-python","patch_set":47,"id":"d4fee6a1_c596f02d","line":1425,"range":{"start_line":1425,"start_character":0,"end_line":1425,"end_character":37},"updated":"2021-01-19 14:18:08.000000000","message":"Please confirm that the resequencing of this does not cause an issue on fresh initial ansible-bootstrap.","commit_id":"9a2b7826fab79f44cbe97ca7f55c28be548b94bf"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"53961bc9faedaf8fb3eae0f6cd69e840bc12c7fc","unresolved":true,"context_lines":[{"line_number":1422,"context_line":"                    self._prev_lvg \u003d None"},{"line_number":1423,"context_line":"                    pass"},{"line_number":1424,"context_line":""},{"line_number":1425,"context_line":"            # Update physical volumes"},{"line_number":1426,"context_line":"            ipv \u003d self._ipv_operator.ipv_get(cinder_device\u003dcinder_device)"},{"line_number":1427,"context_line":"            if ((self._prev_pv is None) or"},{"line_number":1428,"context_line":"                    (self._prev_pv !\u003d ipv)):"}],"source_content_type":"text/x-python","patch_set":47,"id":"45ddc604_75f72c54","line":1425,"range":{"start_line":1425,"start_character":0,"end_line":1425,"end_character":37},"in_reply_to":"d4fee6a1_c596f02d","updated":"2021-01-19 14:28:36.000000000","message":"Yes, I verify with both rook-ceph and native ceph cluster. And osd with /dev/sdb and /dev/nvme0n1, 4 case.","commit_id":"9a2b7826fab79f44cbe97ca7f55c28be548b94bf"}],"sysinv/sysinv/sysinv/sysinv/agent/partition.py":[{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"288765c84380b4e93f0a559c3af2d66c55b175b9","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"                try:"},{"line_number":168,"context_line":"                    sgdisk_partitions \u003d self.get_sgdisk_info(device_path)"},{"line_number":169,"context_line":"                    LOG.info(\"PARTED sgdisk_part_info: %s\" % str(sgdisk_partitions))"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"                    for partition in sgdisk_partitions:"},{"line_number":172,"context_line":"                        partition_number \u003d partition.get(\u0027part_number\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_76a7490d","line":169,"updated":"2020-08-28 12:56:35.000000000","message":"you want to drop this to DEBUG to not flood the logs during normal operation","commit_id":"d8720d5cc11ac1183ed9a4a8a262092f72a49a4c"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"fadaa13beda11222cbcdcbf82a1bb72c615f8e6a","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"                try:"},{"line_number":168,"context_line":"                    sgdisk_partitions \u003d self.get_sgdisk_info(device_path)"},{"line_number":169,"context_line":"                    LOG.info(\"PARTED sgdisk_part_info: %s\" % str(sgdisk_partitions))"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"                    for partition in sgdisk_partitions:"},{"line_number":172,"context_line":"                        partition_number \u003d partition.get(\u0027part_number\u0027)"}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_b710a9aa","line":169,"in_reply_to":"9f560f44_76a7490d","updated":"2020-08-31 01:28:12.000000000","message":"updated","commit_id":"d8720d5cc11ac1183ed9a4a8a262092f72a49a4c"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"288765c84380b4e93f0a559c3af2d66c55b175b9","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                    sgdisk_partitions \u003d self.get_sgdisk_info(device_path)"},{"line_number":169,"context_line":"                    LOG.info(\"PARTED sgdisk_part_info: %s\" % str(sgdisk_partitions))"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"                    for partition in sgdisk_partitions:"},{"line_number":172,"context_line":"                        partition_number \u003d partition.get(\u0027part_number\u0027)"},{"line_number":173,"context_line":"                        size_mib \u003d partition.get(\u0027size_mib\u0027)"},{"line_number":174,"context_line":"                        if \u0027nvme\u0027 in device_node:"}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_b6d60153","line":171,"updated":"2020-08-28 12:56:35.000000000","message":"Note: there is a lot of common code shared with get_partition_info.  If there is any way to refactor these, it will lead to less issues in the future where one is changed and the other is missed.","commit_id":"d8720d5cc11ac1183ed9a4a8a262092f72a49a4c"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"fadaa13beda11222cbcdcbf82a1bb72c615f8e6a","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                    sgdisk_partitions \u003d self.get_sgdisk_info(device_path)"},{"line_number":169,"context_line":"                    LOG.info(\"PARTED sgdisk_part_info: %s\" % str(sgdisk_partitions))"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"                    for partition in sgdisk_partitions:"},{"line_number":172,"context_line":"                        partition_number \u003d partition.get(\u0027part_number\u0027)"},{"line_number":173,"context_line":"                        size_mib \u003d partition.get(\u0027size_mib\u0027)"},{"line_number":174,"context_line":"                        if \u0027nvme\u0027 in device_node:"}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_1725150b","line":171,"in_reply_to":"9f560f44_b6d60153","updated":"2020-08-31 01:28:12.000000000","message":"I propose to keep this way to no influence to rook and native-ceph validation.","commit_id":"d8720d5cc11ac1183ed9a4a8a262092f72a49a4c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":147,"context_line":"        return ipartitions"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def ipartition_rook_get(self):"},{"line_number":150,"context_line":"        \"\"\"Enumerate partitions"},{"line_number":151,"context_line":"        :param self"},{"line_number":152,"context_line":"        :returns list of partitions and attributes"},{"line_number":153,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":43,"id":"7730f502_e64a2369","line":150,"range":{"start_line":150,"start_character":11,"end_line":150,"end_character":31},"updated":"2021-01-14 19:41:53.000000000","message":"please update comment","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"e3beb0d7dbc219c0101137c7a054cc701318adfc","unresolved":true,"context_lines":[{"line_number":147,"context_line":"        return ipartitions"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def ipartition_rook_get(self):"},{"line_number":150,"context_line":"        \"\"\"Enumerate partitions"},{"line_number":151,"context_line":"        :param self"},{"line_number":152,"context_line":"        :returns list of partitions and attributes"},{"line_number":153,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":43,"id":"cbfba6a1_fc5d7f53","line":150,"range":{"start_line":150,"start_character":11,"end_line":150,"end_character":31},"in_reply_to":"7730f502_e64a2369","updated":"2021-01-19 10:42:55.000000000","message":"fixed","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        ipartitions \u003d []"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        # Get all disk devices."},{"line_number":158,"context_line":"        context \u003d pyudev.Context()"},{"line_number":159,"context_line":"        for device in context.list_devices(DEVTYPE\u003d\u0027disk\u0027):"},{"line_number":160,"context_line":"            if not utils.is_system_usable_block_device(device):"}],"source_content_type":"text/x-python","patch_set":43,"id":"32a1b4a2_bcf8de6c","line":157,"range":{"start_line":157,"start_character":10,"end_line":157,"end_character":30},"updated":"2021-01-14 19:41:53.000000000","message":"update comment","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"e3beb0d7dbc219c0101137c7a054cc701318adfc","unresolved":true,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        ipartitions \u003d []"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"        # Get all disk devices."},{"line_number":158,"context_line":"        context \u003d pyudev.Context()"},{"line_number":159,"context_line":"        for device in context.list_devices(DEVTYPE\u003d\u0027disk\u0027):"},{"line_number":160,"context_line":"            if not utils.is_system_usable_block_device(device):"}],"source_content_type":"text/x-python","patch_set":43,"id":"108dd4c2_2d27614a","line":157,"range":{"start_line":157,"start_character":10,"end_line":157,"end_character":30},"in_reply_to":"32a1b4a2_bcf8de6c","updated":"2021-01-19 10:42:55.000000000","message":"fixed","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"}],"sysinv/sysinv/sysinv/sysinv/agent/pv.py":[{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"288765c84380b4e93f0a559c3af2d66c55b175b9","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                        attr[k] \u003d int(attr[k])"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"                # Make sure we have attributes and ignore orphaned PVs"},{"line_number":83,"context_line":"                if attr and attr[\u0027lvm_vg_name\u0027]:"},{"line_number":84,"context_line":"                    return attr"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_36915148","line":83,"updated":"2020-08-28 12:56:35.000000000","message":"nit: minor optimization.\nthe int_keys code above could be relocated under this \u0027if\u0027 block, since we only return attrs in this location","commit_id":"d8720d5cc11ac1183ed9a4a8a262092f72a49a4c"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"fadaa13beda11222cbcdcbf82a1bb72c615f8e6a","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                        attr[k] \u003d int(attr[k])"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"                # Make sure we have attributes and ignore orphaned PVs"},{"line_number":83,"context_line":"                if attr and attr[\u0027lvm_vg_name\u0027]:"},{"line_number":84,"context_line":"                    return attr"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"        return None"}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_176a351a","line":83,"in_reply_to":"9f560f44_36915148","updated":"2020-08-31 01:28:12.000000000","message":"updated","commit_id":"d8720d5cc11ac1183ed9a4a8a262092f72a49a4c"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":37,"context_line":"                                  traceback.tb_lineno))"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def ipv_rook_get(self):"},{"line_number":40,"context_line":"        # keys: matching the field order of pvdisplay command"},{"line_number":41,"context_line":"        string_keys \u003d [\u0027lvm_pv_name\u0027, \u0027lvm_vg_name\u0027, \u0027lvm_pv_uuid\u0027,"},{"line_number":42,"context_line":"                       \u0027lvm_pv_size\u0027, \u0027lvm_pe_total\u0027, \u0027lvm_pe_alloced\u0027]"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # keys that need to be translated into ints"},{"line_number":45,"context_line":"        int_keys \u003d [\u0027lvm_pv_size\u0027, \u0027lvm_pe_total\u0027, \u0027lvm_pe_alloced\u0027]"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        # pvdisplay command to retrieve the pv data of all pvs present"},{"line_number":48,"context_line":"        pvdisplay_command \u003d \u0027pvdisplay -C --separator\u003d\";\" -o pv_name,vg_name,pv_uuid\u0027\\"},{"line_number":49,"context_line":"                            \u0027,pv_size,pv_pe_count,pv_pe_alloc_count\u0027\\"},{"line_number":50,"context_line":"                            \u0027 --units B --nosuffix --noheadings\u0027"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        disable_filter \u003d \u0027 --config \\\u0027devices/global_filter\u003d[\"a|.*|\"]\\\u0027\u0027"},{"line_number":53,"context_line":"        pvdisplay_command \u003d pvdisplay_command + disable_filter"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        # Execute the command"},{"line_number":56,"context_line":"        try:"},{"line_number":57,"context_line":"            pvdisplay_process \u003d subprocess.Popen(pvdisplay_command,"},{"line_number":58,"context_line":"                                             stdout\u003dsubprocess.PIPE,"},{"line_number":59,"context_line":"                                             shell\u003dTrue)"},{"line_number":60,"context_line":"            pvdisplay_output \u003d pvdisplay_process.stdout.read()"},{"line_number":61,"context_line":"        except Exception as e:"},{"line_number":62,"context_line":"            self.handle_exception(\"Could not retrieve pvdisplay \""},{"line_number":63,"context_line":"                                  \"information: %s\" % e)"},{"line_number":64,"context_line":"            pvdisplay_output \u003d \"\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        # parse the output 1 pv/row"},{"line_number":67,"context_line":"        rows \u003d [row for row in pvdisplay_output.split(\u0027\\n\u0027) if row.strip()]"},{"line_number":68,"context_line":"        for row in rows:"}],"source_content_type":"text/x-python","patch_set":43,"id":"1dc091d5_1381f235","line":65,"range":{"start_line":40,"start_character":3,"end_line":65,"end_character":0},"updated":"2021-01-14 19:41:53.000000000","message":"This appears common to the code in ipv_get() ... please factor out to a method to return the pvdisplay_output","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"e3beb0d7dbc219c0101137c7a054cc701318adfc","unresolved":true,"context_lines":[{"line_number":37,"context_line":"                                  traceback.tb_lineno))"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def ipv_rook_get(self):"},{"line_number":40,"context_line":"        # keys: matching the field order of pvdisplay command"},{"line_number":41,"context_line":"        string_keys \u003d [\u0027lvm_pv_name\u0027, \u0027lvm_vg_name\u0027, \u0027lvm_pv_uuid\u0027,"},{"line_number":42,"context_line":"                       \u0027lvm_pv_size\u0027, \u0027lvm_pe_total\u0027, \u0027lvm_pe_alloced\u0027]"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # keys that need to be translated into ints"},{"line_number":45,"context_line":"        int_keys \u003d [\u0027lvm_pv_size\u0027, \u0027lvm_pe_total\u0027, \u0027lvm_pe_alloced\u0027]"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"        # pvdisplay command to retrieve the pv data of all pvs present"},{"line_number":48,"context_line":"        pvdisplay_command \u003d \u0027pvdisplay -C --separator\u003d\";\" -o pv_name,vg_name,pv_uuid\u0027\\"},{"line_number":49,"context_line":"                            \u0027,pv_size,pv_pe_count,pv_pe_alloc_count\u0027\\"},{"line_number":50,"context_line":"                            \u0027 --units B --nosuffix --noheadings\u0027"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        disable_filter \u003d \u0027 --config \\\u0027devices/global_filter\u003d[\"a|.*|\"]\\\u0027\u0027"},{"line_number":53,"context_line":"        pvdisplay_command \u003d pvdisplay_command + disable_filter"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"        # Execute the command"},{"line_number":56,"context_line":"        try:"},{"line_number":57,"context_line":"            pvdisplay_process \u003d subprocess.Popen(pvdisplay_command,"},{"line_number":58,"context_line":"                                             stdout\u003dsubprocess.PIPE,"},{"line_number":59,"context_line":"                                             shell\u003dTrue)"},{"line_number":60,"context_line":"            pvdisplay_output \u003d pvdisplay_process.stdout.read()"},{"line_number":61,"context_line":"        except Exception as e:"},{"line_number":62,"context_line":"            self.handle_exception(\"Could not retrieve pvdisplay \""},{"line_number":63,"context_line":"                                  \"information: %s\" % e)"},{"line_number":64,"context_line":"            pvdisplay_output \u003d \"\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        # parse the output 1 pv/row"},{"line_number":67,"context_line":"        rows \u003d [row for row in pvdisplay_output.split(\u0027\\n\u0027) if row.strip()]"},{"line_number":68,"context_line":"        for row in rows:"}],"source_content_type":"text/x-python","patch_set":43,"id":"f78c968c_ed650fcf","line":65,"range":{"start_line":40,"start_character":3,"end_line":65,"end_character":0},"in_reply_to":"1dc091d5_1381f235","updated":"2021-01-19 10:42:55.000000000","message":"updated","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"907168e0337f76c1f8bbdc46b581515c206332a0","unresolved":true,"context_lines":[{"line_number":36,"context_line":"        LOG.error(\"%s @ %s:%s\" % (e, traceback.tb_frame.f_code.co_filename,"},{"line_number":37,"context_line":"                                  traceback.tb_lineno))"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    def ipv_rook_get(self):"},{"line_number":40,"context_line":"        # keys: matching the field order of pvdisplay command"},{"line_number":41,"context_line":"        string_keys \u003d [\u0027lvm_pv_name\u0027, \u0027lvm_vg_name\u0027, \u0027lvm_pv_uuid\u0027,"},{"line_number":42,"context_line":"                       \u0027lvm_pv_size\u0027, \u0027lvm_pe_total\u0027, \u0027lvm_pe_alloced\u0027]"}],"source_content_type":"text/x-python","patch_set":47,"id":"c636e611_ac0f9d10","line":39,"range":{"start_line":39,"start_character":8,"end_line":39,"end_character":20},"updated":"2021-01-19 14:18:08.000000000","message":"Is this ipv_rook_get() method referenced anymore? should be deleted if not referenced.","commit_id":"9a2b7826fab79f44cbe97ca7f55c28be548b94bf"}],"sysinv/sysinv/sysinv/sysinv/agent/rpcapi.py":[{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":329,"context_line":"        return self.call(context,"},{"line_number":330,"context_line":"                         self.make_msg(\u0027update_host_lvm\u0027,"},{"line_number":331,"context_line":"                                       host_uuid\u003dhost_uuid),"},{"line_number":332,"context_line":"                         timeout\u003d300)"}],"source_content_type":"text/x-python","patch_set":43,"id":"740f5db9_2e6815d7","line":332,"range":{"start_line":332,"start_character":25,"end_line":332,"end_character":36},"updated":"2021-01-14 19:41:53.000000000","message":"how long is this rpcapi measured to take?","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"d0f93d35f5e37c76cef65d62ca9371b99496f68d","unresolved":true,"context_lines":[{"line_number":329,"context_line":"        return self.call(context,"},{"line_number":330,"context_line":"                         self.make_msg(\u0027update_host_lvm\u0027,"},{"line_number":331,"context_line":"                                       host_uuid\u003dhost_uuid),"},{"line_number":332,"context_line":"                         timeout\u003d300)"}],"source_content_type":"text/x-python","patch_set":43,"id":"4dba0af4_7c0de7e3","line":332,"range":{"start_line":332,"start_character":25,"end_line":332,"end_character":36},"in_reply_to":"740f5db9_2e6815d7","updated":"2021-01-19 12:58:20.000000000","message":"updated","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"}],"sysinv/sysinv/sysinv/sysinv/api/controllers/v1/storage_ceph_rook.py":[{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"880e98f1ccdf320941affbe37e5482dcead79946","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# Copyright 2017 UnitedStack Inc."}],"source_content_type":"text/x-python","patch_set":37,"id":"7e4372b2_7e0268c2","line":1,"updated":"2020-12-11 04:53:03.000000000","message":"nit: we dont want these vim directives in the files","commit_id":"0b912612b0936e7cabf322b0f9d737b884d8bbfd"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"880e98f1ccdf320941affbe37e5482dcead79946","unresolved":true,"context_lines":[{"line_number":374,"context_line":"                                                services)"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"    elif op \u003d\u003d constants.SB_API_OP_MODIFY:"},{"line_number":377,"context_line":"        pass"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"    elif op \u003d\u003d constants.SB_API_OP_DELETE:"},{"line_number":380,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":37,"id":"bdfc6cb8_bbdeef93","line":377,"updated":"2020-12-11 04:53:03.000000000","message":"are these next 2 ops still under development?","commit_id":"0b912612b0936e7cabf322b0f9d737b884d8bbfd"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"86cfcaa4e1124c9058dd6024a046a49664c54942","unresolved":true,"context_lines":[{"line_number":374,"context_line":"                                                services)"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"    elif op \u003d\u003d constants.SB_API_OP_MODIFY:"},{"line_number":377,"context_line":"        pass"},{"line_number":378,"context_line":""},{"line_number":379,"context_line":"    elif op \u003d\u003d constants.SB_API_OP_DELETE:"},{"line_number":380,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":37,"id":"ab81fda6_8c644eb7","line":377,"in_reply_to":"bdfc6cb8_bbdeef93","updated":"2020-12-11 13:47:52.000000000","message":"Currently modify and delete in this function, it do nothing. Left for future placeholder","commit_id":"0b912612b0936e7cabf322b0f9d737b884d8bbfd"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"880e98f1ccdf320941affbe37e5482dcead79946","unresolved":true,"context_lines":[{"line_number":445,"context_line":"    \"\"\" Validate each individual data value to make sure it\u0027s of the correct"},{"line_number":446,"context_line":"        type and value."},{"line_number":447,"context_line":"    \"\"\""},{"line_number":448,"context_line":"    pass"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"def _pre_patch_checks(storage_ceph_rook_obj, patch_obj):"}],"source_content_type":"text/x-python","patch_set":37,"id":"59c4ed58_57c5e60f","line":448,"updated":"2020-12-11 04:53:03.000000000","message":"Does this need a todo, or is it just a future placeholder for additional capabilities checks","commit_id":"0b912612b0936e7cabf322b0f9d737b884d8bbfd"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"86cfcaa4e1124c9058dd6024a046a49664c54942","unresolved":true,"context_lines":[{"line_number":445,"context_line":"    \"\"\" Validate each individual data value to make sure it\u0027s of the correct"},{"line_number":446,"context_line":"        type and value."},{"line_number":447,"context_line":"    \"\"\""},{"line_number":448,"context_line":"    pass"},{"line_number":449,"context_line":""},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"def _pre_patch_checks(storage_ceph_rook_obj, patch_obj):"}],"source_content_type":"text/x-python","patch_set":37,"id":"3b1e980a_631845a6","line":448,"in_reply_to":"59c4ed58_57c5e60f","updated":"2020-12-11 13:47:52.000000000","message":"Yes, left for future placeholder. I think there will more request.","commit_id":"0b912612b0936e7cabf322b0f9d737b884d8bbfd"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"415cd592e215f9c49073a8d587d092f5a1b858e3","unresolved":true,"context_lines":[{"line_number":230,"context_line":"            new_storage_ceph_rook \u003d _create(storage_ceph_rook)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        except exception.SysinvException as e:"},{"line_number":233,"context_line":"            LOG.exception(e)"},{"line_number":234,"context_line":"            raise wsme.exc.ClientSideError(_(\"Invalid data: failed to create \""},{"line_number":235,"context_line":"                                             \"a storage_ceph_rook record.\"))"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-python","patch_set":48,"id":"fdb59775_b1c6b95c","line":233,"updated":"2021-01-19 14:58:30.000000000","message":"nit: this is redundant.  LOG.exception already includes the exception info, no need to pass \u0027e\u0027.","commit_id":"54e1fcc3b24f5229729d9d35b3d78fbb2db46e3b"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"29724f6322ca948a5aa86c8a1bec372a87dfdcaf","unresolved":true,"context_lines":[{"line_number":230,"context_line":"            new_storage_ceph_rook \u003d _create(storage_ceph_rook)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        except exception.SysinvException as e:"},{"line_number":233,"context_line":"            LOG.exception(e)"},{"line_number":234,"context_line":"            raise wsme.exc.ClientSideError(_(\"Invalid data: failed to create \""},{"line_number":235,"context_line":"                                             \"a storage_ceph_rook record.\"))"},{"line_number":236,"context_line":""}],"source_content_type":"text/x-python","patch_set":48,"id":"bef0c811_49341583","line":233,"in_reply_to":"fdb59775_b1c6b95c","updated":"2021-01-21 02:46:41.000000000","message":"fixed","commit_id":"54e1fcc3b24f5229729d9d35b3d78fbb2db46e3b"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"415cd592e215f9c49073a8d587d092f5a1b858e3","unresolved":true,"context_lines":[{"line_number":342,"context_line":"    storage_ceph_rook[\u0027state\u0027] \u003d constants.SB_STATE_CONFIGURED"},{"line_number":343,"context_line":"    storage_ceph_rook[\u0027task\u0027] \u003d constants.SB_TASK_NONE"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    # TODO (Martin, Chen): Put this back"},{"line_number":346,"context_line":"    # if req \u003d\u003d constants.SB_API_OP_MODIFY or req \u003d\u003d constants.SB_API_OP_DELETE:"},{"line_number":347,"context_line":"    #     raise wsme.exc.ClientSideError(\"API Operation %s is not supported for \""},{"line_number":348,"context_line":"    #                                    \"the %s backend\" %"}],"source_content_type":"text/x-python","patch_set":48,"id":"42cdddc1_22e6950a","line":345,"updated":"2021-01-19 14:58:30.000000000","message":"when does this get put back (ie: was it commented out for test purposes)","commit_id":"54e1fcc3b24f5229729d9d35b3d78fbb2db46e3b"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"29724f6322ca948a5aa86c8a1bec372a87dfdcaf","unresolved":true,"context_lines":[{"line_number":342,"context_line":"    storage_ceph_rook[\u0027state\u0027] \u003d constants.SB_STATE_CONFIGURED"},{"line_number":343,"context_line":"    storage_ceph_rook[\u0027task\u0027] \u003d constants.SB_TASK_NONE"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"    # TODO (Martin, Chen): Put this back"},{"line_number":346,"context_line":"    # if req \u003d\u003d constants.SB_API_OP_MODIFY or req \u003d\u003d constants.SB_API_OP_DELETE:"},{"line_number":347,"context_line":"    #     raise wsme.exc.ClientSideError(\"API Operation %s is not supported for \""},{"line_number":348,"context_line":"    #                                    \"the %s backend\" %"}],"source_content_type":"text/x-python","patch_set":48,"id":"29ac59f6_2e6db563","line":345,"in_reply_to":"42cdddc1_22e6950a","updated":"2021-01-21 02:46:41.000000000","message":"fixed","commit_id":"54e1fcc3b24f5229729d9d35b3d78fbb2db46e3b"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"415cd592e215f9c49073a8d587d092f5a1b858e3","unresolved":true,"context_lines":[{"line_number":520,"context_line":"            raise wsme.exc.ClientSideError("},{"line_number":521,"context_line":"                _(\"Can not modify \u0027%s\u0027 with this operation.\" % d))"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    LOG.info(\"SYS_I orig storage_ceph_rook: %s \" % ostorcephrook.as_dict())"},{"line_number":524,"context_line":"    LOG.info(\"SYS_I new  storage_ceph_rook: %s \" % storcephrook_config.as_dict())"},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"    # Execute the common semantic checks for all backends, if backend is not"}],"source_content_type":"text/x-python","patch_set":48,"id":"290cf860_c251d4fa","line":523,"updated":"2021-01-19 14:58:30.000000000","message":"are these 2 LOG lines staying, or were they debug  / development logs.","commit_id":"54e1fcc3b24f5229729d9d35b3d78fbb2db46e3b"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"29724f6322ca948a5aa86c8a1bec372a87dfdcaf","unresolved":true,"context_lines":[{"line_number":520,"context_line":"            raise wsme.exc.ClientSideError("},{"line_number":521,"context_line":"                _(\"Can not modify \u0027%s\u0027 with this operation.\" % d))"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    LOG.info(\"SYS_I orig storage_ceph_rook: %s \" % ostorcephrook.as_dict())"},{"line_number":524,"context_line":"    LOG.info(\"SYS_I new  storage_ceph_rook: %s \" % storcephrook_config.as_dict())"},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"    # Execute the common semantic checks for all backends, if backend is not"}],"source_content_type":"text/x-python","patch_set":48,"id":"a271c588_67271f82","line":523,"in_reply_to":"290cf860_c251d4fa","updated":"2021-01-21 02:46:41.000000000","message":"This is I reference sysinv/sysinv/sysinv/api/controllers/v1/storage_ceph.py \n\n1381     LOG.info(\"SYS_I orig    storage_ceph: %s \" % ostorceph.as_dict())\n1382     LOG.info(\"SYS_I patched storage_ceph: %s \" % storceph_config.as_dict())\n1383\n1384     LOG.info(\"Don\u0027t check quotas\")\n1385","commit_id":"54e1fcc3b24f5229729d9d35b3d78fbb2db46e3b"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"3321cc8878fdaff2b0dcbc1c7cb4ca719a6a37e6","unresolved":true,"context_lines":[{"line_number":422,"context_line":"    valid_controller_hosts \u003d [h for h in controller_hosts if"},{"line_number":423,"context_line":"                              h[\u0027administrative\u0027] \u003d\u003d constants.ADMIN_UNLOCKED and"},{"line_number":424,"context_line":"                              h[\u0027availability\u0027] in [constants.AVAILABILITY_AVAILABLE,"},{"line_number":425,"context_line":"                                                     constants.AVAILABILITY_DEGRADED]]"},{"line_number":426,"context_line":"    if valid_controller_hosts:"},{"line_number":427,"context_line":"        _apply_backend_changes(constants.SB_API_OP_CREATE, storage_backend_obj)"},{"line_number":428,"context_line":""}],"source_content_type":"text/x-python","patch_set":54,"id":"d20a65f3_89698f99","line":425,"range":{"start_line":425,"start_character":52,"end_line":425,"end_character":53},"updated":"2021-01-26 13:51:58.000000000","message":"surprised this extra space didnt violate pep8","commit_id":"3ef6cf81bd8ab3152d2f70c9ea4837917c3d35b4"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"3321cc8878fdaff2b0dcbc1c7cb4ca719a6a37e6","unresolved":true,"context_lines":[{"line_number":548,"context_line":""},{"line_number":549,"context_line":""},{"line_number":550,"context_line":"def _delete(sb_uuid):"},{"line_number":551,"context_line":"    # LOG.error(\"sb_uuid %s\" % sb_uuid)"},{"line_number":552,"context_line":""},{"line_number":553,"context_line":"    storage_ceph_rook_obj \u003d pecan.request.dbapi.storage_ceph_rook_get(sb_uuid)"},{"line_number":554,"context_line":""}],"source_content_type":"text/x-python","patch_set":54,"id":"ec52b351_0a95960c","line":551,"range":{"start_line":551,"start_character":5,"end_line":551,"end_character":39},"updated":"2021-01-26 13:51:58.000000000","message":"nit: these commented out lines would be nice to remove.","commit_id":"3ef6cf81bd8ab3152d2f70c9ea4837917c3d35b4"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"3321cc8878fdaff2b0dcbc1c7cb4ca719a6a37e6","unresolved":true,"context_lines":[{"line_number":552,"context_line":""},{"line_number":553,"context_line":"    storage_ceph_rook_obj \u003d pecan.request.dbapi.storage_ceph_rook_get(sb_uuid)"},{"line_number":554,"context_line":""},{"line_number":555,"context_line":"    # LOG.error(\"delete %s\" % storage_ceph_rook_obj.as_dict())"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"    # Execute the common semantic checks for all backends, if backend is not"},{"line_number":558,"context_line":"    # present this will not return"}],"source_content_type":"text/x-python","patch_set":54,"id":"215ad809_b066c952","line":555,"updated":"2021-01-26 13:51:58.000000000","message":"nit: commented out","commit_id":"3ef6cf81bd8ab3152d2f70c9ea4837917c3d35b4"}],"sysinv/sysinv/sysinv/sysinv/conductor/manager.py":[{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"288765c84380b4e93f0a559c3af2d66c55b175b9","unresolved":false,"context_lines":[{"line_number":4498,"context_line":"                            # standby controller"},{"line_number":4499,"context_line":"                            continue"},{"line_number":4500,"context_line":"                        if ipv.lvm_vg_name.startswith(\"ceph-\"):"},{"line_number":4501,"context_line":"                            # (Martin): rook removed osd, destroy the standby PV"},{"line_number":4502,"context_line":"                            LOG.info(\"remove out-of-date rook provisioned pv %s\" % ipv.lvm_pv_name)"},{"line_number":4503,"context_line":"                            self._prepare_for_ipv_removal(ipv)"},{"line_number":4504,"context_line":"                            self.dbapi.ipv_destroy(ipv.id)"}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_d68575b0","line":4501,"updated":"2020-08-28 12:56:35.000000000","message":"nit:  if this is a todo, we tend to use the syntax todo(Martin):","commit_id":"d8720d5cc11ac1183ed9a4a8a262092f72a49a4c"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"fadaa13beda11222cbcdcbf82a1bb72c615f8e6a","unresolved":false,"context_lines":[{"line_number":4498,"context_line":"                            # standby controller"},{"line_number":4499,"context_line":"                            continue"},{"line_number":4500,"context_line":"                        if ipv.lvm_vg_name.startswith(\"ceph-\"):"},{"line_number":4501,"context_line":"                            # (Martin): rook removed osd, destroy the standby PV"},{"line_number":4502,"context_line":"                            LOG.info(\"remove out-of-date rook provisioned pv %s\" % ipv.lvm_pv_name)"},{"line_number":4503,"context_line":"                            self._prepare_for_ipv_removal(ipv)"},{"line_number":4504,"context_line":"                            self.dbapi.ipv_destroy(ipv.id)"}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_3771390e","line":4501,"in_reply_to":"9f560f44_d68575b0","updated":"2020-08-31 01:28:12.000000000","message":"updated","commit_id":"d8720d5cc11ac1183ed9a4a8a262092f72a49a4c"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"880e98f1ccdf320941affbe37e5482dcead79946","unresolved":true,"context_lines":[{"line_number":1319,"context_line":"        elif personality \u003d\u003d constants.STORAGE:"},{"line_number":1320,"context_line":"            config_dict[\"personalities\"] \u003d [constants.STORAGE]"},{"line_number":1321,"context_line":"            config_dict[\"classes\"] \u003d [\u0027platform::lvm::storage::runtime\u0027]"},{"line_number":1322,"context_line":""},{"line_number":1323,"context_line":"        config_uuid \u003d self._config_update_hosts(context, personalities,"},{"line_number":1324,"context_line":"                host_uuids\u003d[host.uuid])"},{"line_number":1325,"context_line":""}],"source_content_type":"text/x-python","patch_set":37,"id":"20e0e9e7_75e2e288","line":1322,"updated":"2020-12-11 04:53:03.000000000","message":"be aware that a new personality may be coming also (edgeworker)  https://review.opendev.org/c/starlingx/config/+/763918","commit_id":"0b912612b0936e7cabf322b0f9d737b884d8bbfd"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"86cfcaa4e1124c9058dd6024a046a49664c54942","unresolved":true,"context_lines":[{"line_number":1319,"context_line":"        elif personality \u003d\u003d constants.STORAGE:"},{"line_number":1320,"context_line":"            config_dict[\"personalities\"] \u003d [constants.STORAGE]"},{"line_number":1321,"context_line":"            config_dict[\"classes\"] \u003d [\u0027platform::lvm::storage::runtime\u0027]"},{"line_number":1322,"context_line":""},{"line_number":1323,"context_line":"        config_uuid \u003d self._config_update_hosts(context, personalities,"},{"line_number":1324,"context_line":"                host_uuids\u003d[host.uuid])"},{"line_number":1325,"context_line":""}],"source_content_type":"text/x-python","patch_set":37,"id":"11c5a6c3_c92330d5","line":1322,"in_reply_to":"20e0e9e7_75e2e288","updated":"2020-12-11 13:47:52.000000000","message":"Thanks. Later I will improve. I think containerized ceph pod should deployed to edgework node.","commit_id":"0b912612b0936e7cabf322b0f9d737b884d8bbfd"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"df6050d69074085735744c57f17310f0245d4397","unresolved":true,"context_lines":[{"line_number":1332,"context_line":"                           config_dict\u003dconfig_dict)"},{"line_number":1333,"context_line":""},{"line_number":1334,"context_line":"        # Regenerate config target uuid, node is going for reboot!"},{"line_number":1335,"context_line":"        config_uuid \u003d self._config_update_hosts(context, personalities)"},{"line_number":1336,"context_line":"        if self._config_is_reboot_required(host.config_target):"},{"line_number":1337,"context_line":"            config_uuid \u003d self._config_set_reboot_required(config_uuid)"},{"line_number":1338,"context_line":"        self._puppet.update_host_config(host, config_uuid)"},{"line_number":1339,"context_line":""},{"line_number":1340,"context_line":"    def _configure_controller_host(self, context, host):"}],"source_content_type":"text/x-python","patch_set":40,"id":"873d502d_17423787","line":1337,"range":{"start_line":1335,"start_character":7,"end_line":1337,"end_character":71},"updated":"2021-01-13 15:39:50.000000000","message":"Do all hosts with this personality need to be set to reboot_required or only for this one host? \n\nThe reboot_required flag can be scoped to personalities and hosts:\nconfig_uuid \u003d self._config_update_hosts(context, personalities, host_uuids, reboot_required \u003d True)","commit_id":"8a4e3423d4a17e628853702d7d613e04f661779f"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":1332,"context_line":"                           config_dict\u003dconfig_dict)"},{"line_number":1333,"context_line":""},{"line_number":1334,"context_line":"        # Regenerate config target uuid, node is going for reboot!"},{"line_number":1335,"context_line":"        config_uuid \u003d self._config_update_hosts(context, personalities, host.uuid, True)"},{"line_number":1336,"context_line":"        self._puppet.update_host_config(host, config_uuid)"},{"line_number":1337,"context_line":""},{"line_number":1338,"context_line":"    def _configure_controller_host(self, context, host):"}],"source_content_type":"text/x-python","patch_set":43,"id":"0e6cc1c9_68772782","line":1335,"range":{"start_line":1335,"start_character":72,"end_line":1335,"end_character":81},"updated":"2021-01-14 19:41:53.000000000","message":"host_uuids parameter is expected to be a list type.  Please check \u0027fm alarm-list\u0027 to ensure there are no stuck 250.001 Config out of date alarms.","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":1332,"context_line":"                           config_dict\u003dconfig_dict)"},{"line_number":1333,"context_line":""},{"line_number":1334,"context_line":"        # Regenerate config target uuid, node is going for reboot!"},{"line_number":1335,"context_line":"        config_uuid \u003d self._config_update_hosts(context, personalities, host.uuid, True)"},{"line_number":1336,"context_line":"        self._puppet.update_host_config(host, config_uuid)"},{"line_number":1337,"context_line":""},{"line_number":1338,"context_line":"    def _configure_controller_host(self, context, host):"}],"source_content_type":"text/x-python","patch_set":43,"id":"86340819_2df551bc","line":1335,"range":{"start_line":1335,"start_character":83,"end_line":1335,"end_character":87},"updated":"2021-01-14 19:41:53.000000000","message":"recommend \u0027reboot\u003dTrue\u0027 as per other uses in this file, just for consistency.","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"e3beb0d7dbc219c0101137c7a054cc701318adfc","unresolved":true,"context_lines":[{"line_number":1332,"context_line":"                           config_dict\u003dconfig_dict)"},{"line_number":1333,"context_line":""},{"line_number":1334,"context_line":"        # Regenerate config target uuid, node is going for reboot!"},{"line_number":1335,"context_line":"        config_uuid \u003d self._config_update_hosts(context, personalities, host.uuid, True)"},{"line_number":1336,"context_line":"        self._puppet.update_host_config(host, config_uuid)"},{"line_number":1337,"context_line":""},{"line_number":1338,"context_line":"    def _configure_controller_host(self, context, host):"}],"source_content_type":"text/x-python","patch_set":43,"id":"4969d222_49a234a1","line":1335,"range":{"start_line":1335,"start_character":72,"end_line":1335,"end_character":81},"in_reply_to":"0e6cc1c9_68772782","updated":"2021-01-19 10:42:55.000000000","message":"fixed","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"e3beb0d7dbc219c0101137c7a054cc701318adfc","unresolved":true,"context_lines":[{"line_number":1332,"context_line":"                           config_dict\u003dconfig_dict)"},{"line_number":1333,"context_line":""},{"line_number":1334,"context_line":"        # Regenerate config target uuid, node is going for reboot!"},{"line_number":1335,"context_line":"        config_uuid \u003d self._config_update_hosts(context, personalities, host.uuid, True)"},{"line_number":1336,"context_line":"        self._puppet.update_host_config(host, config_uuid)"},{"line_number":1337,"context_line":""},{"line_number":1338,"context_line":"    def _configure_controller_host(self, context, host):"}],"source_content_type":"text/x-python","patch_set":43,"id":"5016cb0f_ab127581","line":1335,"range":{"start_line":1335,"start_character":83,"end_line":1335,"end_character":87},"in_reply_to":"86340819_2df551bc","updated":"2021-01-19 10:42:55.000000000","message":"fixed","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"bdb3451820e82a421dceef4da92c19a9b408d957","unresolved":true,"context_lines":[{"line_number":1361,"context_line":"        self._config_apply_runtime_manifest(context,"},{"line_number":1362,"context_line":"                                            config_uuid,"},{"line_number":1363,"context_line":"                                            config_dict,"},{"line_number":1364,"context_line":"                                            force\u003dTrue)"},{"line_number":1365,"context_line":""},{"line_number":1366,"context_line":"    def _configure_controller_host(self, context, host):"},{"line_number":1367,"context_line":"        \"\"\"Configure a controller host with the supplied data."}],"source_content_type":"text/x-python","patch_set":53,"id":"57c2ab84_7a5db9d0","line":1364,"range":{"start_line":1364,"start_character":44,"end_line":1364,"end_character":54},"updated":"2021-01-22 22:08:22.000000000","message":"This means to apply the manifest on the target even before initial puppet manifest (initial_config_complete) is applied. Please confirm this option is required.","commit_id":"e241dd2e329aca4280c868f8c114ac2f4f1ca5ce"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"7e137bef75ec128758110c7ba42d6cbe5803aac8","unresolved":true,"context_lines":[{"line_number":1361,"context_line":"        self._config_apply_runtime_manifest(context,"},{"line_number":1362,"context_line":"                                            config_uuid,"},{"line_number":1363,"context_line":"                                            config_dict,"},{"line_number":1364,"context_line":"                                            force\u003dTrue)"},{"line_number":1365,"context_line":""},{"line_number":1366,"context_line":"    def _configure_controller_host(self, context, host):"},{"line_number":1367,"context_line":"        \"\"\"Configure a controller host with the supplied data."}],"source_content_type":"text/x-python","patch_set":53,"id":"170b7bcc_93838b7f","line":1364,"range":{"start_line":1364,"start_character":44,"end_line":1364,"end_character":54},"in_reply_to":"57c2ab84_7a5db9d0","updated":"2021-01-25 01:14:27.000000000","message":"Yes, this should be force\u003dFalse. I verified and updated.","commit_id":"e241dd2e329aca4280c868f8c114ac2f4f1ca5ce"}],"sysinv/sysinv/sysinv/sysinv/conductor/rpcapi.py":[{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"df6050d69074085735744c57f17310f0245d4397","unresolved":true,"context_lines":[{"line_number":994,"context_line":"        \"\"\"Synchronously, have the conductor update Rook Ceph on a controller"},{"line_number":995,"context_line":""},{"line_number":996,"context_line":"        :param context: request context"},{"line_number":997,"context_line":"        :param sb_uuid: uuid of the storage backed to apply the rook ceph config"},{"line_number":998,"context_line":"        :param services: list of services using Ceph."},{"line_number":999,"context_line":"        \"\"\""},{"line_number":1000,"context_line":"        return self.call(context,"}],"source_content_type":"text/x-python","patch_set":40,"id":"e0757570_c866e7e3","line":997,"range":{"start_line":997,"start_character":44,"end_line":997,"end_character":51},"updated":"2021-01-13 15:39:50.000000000","message":"backend","commit_id":"8a4e3423d4a17e628853702d7d613e04f661779f"}],"sysinv/sysinv/sysinv/sysinv/db/api.py":[{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":2602,"context_line":""},{"line_number":2603,"context_line":"    @abc.abstractmethod"},{"line_number":2604,"context_line":"    def storage_ceph_rook_get_list(self, limit\u003dNone, marker\u003dNone,"},{"line_number":2605,"context_line":"                              sort_key\u003dNone, sort_dir\u003dNone):"},{"line_number":2606,"context_line":"        \"\"\"Return a list of storage_ceph_rook."},{"line_number":2607,"context_line":""},{"line_number":2608,"context_line":"        :param limit: Maximum number of storage_ceph_rook to return."}],"source_content_type":"text/x-python","patch_set":43,"id":"6501ff9a_e42e9d96","line":2605,"range":{"start_line":2605,"start_character":30,"end_line":2605,"end_character":58},"updated":"2021-01-14 19:41:53.000000000","message":"nit: indentation","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"e3beb0d7dbc219c0101137c7a054cc701318adfc","unresolved":true,"context_lines":[{"line_number":2602,"context_line":""},{"line_number":2603,"context_line":"    @abc.abstractmethod"},{"line_number":2604,"context_line":"    def storage_ceph_rook_get_list(self, limit\u003dNone, marker\u003dNone,"},{"line_number":2605,"context_line":"                              sort_key\u003dNone, sort_dir\u003dNone):"},{"line_number":2606,"context_line":"        \"\"\"Return a list of storage_ceph_rook."},{"line_number":2607,"context_line":""},{"line_number":2608,"context_line":"        :param limit: Maximum number of storage_ceph_rook to return."}],"source_content_type":"text/x-python","patch_set":43,"id":"436298ea_c360fde0","line":2605,"range":{"start_line":2605,"start_character":30,"end_line":2605,"end_character":58},"in_reply_to":"6501ff9a_e42e9d96","updated":"2021-01-19 10:42:55.000000000","message":"fixed","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"}],"sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/099_placeholder.py":[{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"df6050d69074085735744c57f17310f0245d4397","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright (c) 2020 Wind River Systems, Inc."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":40,"id":"9324af58_cb7cf32d","side":"PARENT","line":1,"updated":"2021-01-13 15:39:50.000000000","message":"Please do not modify any preexisting db migrations. A new migration and upgrade() method is required.","commit_id":"4c8f8acc45a2327e0b62ed2720d16d5e6e62baff"}],"sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/099_storage_ceph_rook.py":[{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"880e98f1ccdf320941affbe37e5482dcead79946","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright (c) 2018 Wind River Systems, Inc."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":37,"id":"1aede2aa_68602d1e","line":1,"updated":"2020-12-11 04:53:03.000000000","message":"remove vim directives.\n\nAlso, we dont usually rename a placeholder unless this is being used for patchback.\nWe would normally create a new numbered entry file.","commit_id":"0b912612b0936e7cabf322b0f9d737b884d8bbfd"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"86cfcaa4e1124c9058dd6024a046a49664c54942","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Copyright (c) 2018 Wind River Systems, Inc."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":37,"id":"d1e1a5c4_1dd43901","line":1,"in_reply_to":"1aede2aa_68602d1e","updated":"2020-12-11 13:47:52.000000000","message":"from 099_placeholder.py to 103_placeholder.py is not used now. So I update with this file","commit_id":"0b912612b0936e7cabf322b0f9d737b884d8bbfd"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"880e98f1ccdf320941affbe37e5482dcead79946","unresolved":true,"context_lines":[{"line_number":5,"context_line":"# SPDX-License-Identifier: Apache-2.0"},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"from sqlalchemy import Integer, DateTime, String"},{"line_number":9,"context_line":"from sqlalchemy import Column, MetaData, Table, ForeignKey"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"ENGINE \u003d \u0027InnoDB\u0027"}],"source_content_type":"text/x-python","patch_set":37,"id":"5045d0f5_c60b7371","line":8,"updated":"2020-12-11 04:53:03.000000000","message":"ideally these imports would be on separate lines.","commit_id":"0b912612b0936e7cabf322b0f9d737b884d8bbfd"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"df6050d69074085735744c57f17310f0245d4397","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# Copyright (c) 2020 Intel Corporation, Inc."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# SPDX-License-Identifier: Apache-2.0"}],"source_content_type":"text/x-python","patch_set":40,"id":"b88c1a19_0f161c5c","line":1,"updated":"2021-01-13 15:39:50.000000000","message":"Do not overwrite existing migration version, please increment to a new migration version.","commit_id":"8a4e3423d4a17e628853702d7d613e04f661779f"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def upgrade(migrate_engine):"},{"line_number":20,"context_line":"    \"\"\""},{"line_number":21,"context_line":"       This database upgrade creates a new storage_external table"},{"line_number":22,"context_line":"    \"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    meta \u003d MetaData()"}],"source_content_type":"text/x-python","patch_set":40,"id":"858acbb6_79b9669d","line":21,"range":{"start_line":21,"start_character":43,"end_line":21,"end_character":59},"updated":"2021-01-14 19:41:53.000000000","message":"storage_ceph_rook","commit_id":"8a4e3423d4a17e628853702d7d613e04f661779f"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    Table(\u0027storage_backend\u0027, meta, autoload\u003dTrue)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    # Define and create the storage_external table."},{"line_number":30,"context_line":"    storage_ceph_rook \u003d Table("},{"line_number":31,"context_line":"        \u0027storage_ceph_rook\u0027,"},{"line_number":32,"context_line":"        meta,"}],"source_content_type":"text/x-python","patch_set":40,"id":"1bd1f774_df74da3d","line":29,"range":{"start_line":29,"start_character":28,"end_line":29,"end_character":44},"updated":"2021-01-14 19:41:53.000000000","message":"storage_ceph_rook","commit_id":"8a4e3423d4a17e628853702d7d613e04f661779f"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"e3beb0d7dbc219c0101137c7a054cc701318adfc","unresolved":true,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    Table(\u0027storage_backend\u0027, meta, autoload\u003dTrue)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    # Define and create the storage_external table."},{"line_number":30,"context_line":"    storage_ceph_rook \u003d Table("},{"line_number":31,"context_line":"        \u0027storage_ceph_rook\u0027,"},{"line_number":32,"context_line":"        meta,"}],"source_content_type":"text/x-python","patch_set":40,"id":"0b0c7ba5_694d455b","line":29,"range":{"start_line":29,"start_character":28,"end_line":29,"end_character":44},"in_reply_to":"1bd1f774_df74da3d","updated":"2021-01-19 10:42:55.000000000","message":"fixed","commit_id":"8a4e3423d4a17e628853702d7d613e04f661779f"}],"sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/110_storage_ceph_rook.py":[{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"def upgrade(migrate_engine):"},{"line_number":20,"context_line":"    \"\"\""},{"line_number":21,"context_line":"       This database upgrade creates a new storage_external table"},{"line_number":22,"context_line":"    \"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    meta \u003d MetaData()"}],"source_content_type":"text/x-python","patch_set":43,"id":"a1a833fc_b5d9c53d","line":21,"range":{"start_line":21,"start_character":43,"end_line":21,"end_character":59},"updated":"2021-01-14 19:41:53.000000000","message":"storage_ceph_rook","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    Table(\u0027storage_backend\u0027, meta, autoload\u003dTrue)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    # Define and create the storage_external table."},{"line_number":30,"context_line":"    storage_ceph_rook \u003d Table("},{"line_number":31,"context_line":"        \u0027storage_ceph_rook\u0027,"},{"line_number":32,"context_line":"        meta,"}],"source_content_type":"text/x-python","patch_set":43,"id":"6d7ed895_aa274a01","line":29,"range":{"start_line":29,"start_character":28,"end_line":29,"end_character":44},"updated":"2021-01-14 19:41:53.000000000","message":"storage_ceph_rook","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"415cd592e215f9c49073a8d587d092f5a1b858e3","unresolved":true,"context_lines":[{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"from sqlalchemy import Integer"},{"line_number":8,"context_line":"from sqlalchemy import DateTime"},{"line_number":9,"context_line":"from sqlalchemy import String"},{"line_number":10,"context_line":"from sqlalchemy import Column"},{"line_number":11,"context_line":"from sqlalchemy import MetaData"}],"source_content_type":"text/x-python","patch_set":48,"id":"530fd1e1_64e27898","line":8,"updated":"2021-01-19 14:58:30.000000000","message":"nit: imports not alphabetical.  I had thought we enforced this in flake8, but I guess not.","commit_id":"54e1fcc3b24f5229729d9d35b3d78fbb2db46e3b"}],"sysinv/sysinv/sysinv/sysinv/objects/storage_ceph_rook.py":[{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"880e98f1ccdf320941affbe37e5482dcead79946","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#"},{"line_number":2,"context_line":"# Copyright (c) 2017 Wind River Systems, Inc."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"# SPDX-License-Identifier: Apache-2.0"},{"line_number":5,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":37,"id":"f462e0e3_4b3dc3c2","line":2,"updated":"2020-12-11 04:53:03.000000000","message":"Is this code from somewhere else?  If not, I\u0027d suggest updating the header","commit_id":"0b912612b0936e7cabf322b0f9d737b884d8bbfd"},{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"880e98f1ccdf320941affbe37e5482dcead79946","unresolved":true,"context_lines":[{"line_number":4,"context_line":"# SPDX-License-Identifier: Apache-2.0"},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":8,"context_line":"# coding\u003dutf-8"},{"line_number":9,"context_line":"#"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-python","patch_set":37,"id":"dfacaea8_768c2bdf","line":7,"updated":"2020-12-11 04:53:03.000000000","message":"vim directives.","commit_id":"0b912612b0936e7cabf322b0f9d737b884d8bbfd"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def save_changes(self, context, updates):"},{"line_number":23,"context_line":"        self.dbapi.storage_ceph_rook_update(self.uuid,  # pylint: disable\u003dno-member"},{"line_number":24,"context_line":"                                       updates)"}],"source_content_type":"text/x-python","patch_set":40,"id":"3e29a6c3_621ed3fc","line":24,"range":{"start_line":24,"start_character":39,"end_line":24,"end_character":46},"updated":"2021-01-14 19:41:53.000000000","message":"nit: indentation","commit_id":"8a4e3423d4a17e628853702d7d613e04f661779f"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def save_changes(self, context, updates):"},{"line_number":23,"context_line":"        self.dbapi.storage_ceph_rook_update(self.uuid,  # pylint: disable\u003dno-member"},{"line_number":24,"context_line":"                                       updates)"}],"source_content_type":"text/x-python","patch_set":43,"id":"f98a8e3a_bb3c7fcb","line":24,"range":{"start_line":24,"start_character":39,"end_line":24,"end_character":46},"updated":"2021-01-14 19:41:53.000000000","message":"nit: indentation","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"e3beb0d7dbc219c0101137c7a054cc701318adfc","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    def save_changes(self, context, updates):"},{"line_number":23,"context_line":"        self.dbapi.storage_ceph_rook_update(self.uuid,  # pylint: disable\u003dno-member"},{"line_number":24,"context_line":"                                       updates)"}],"source_content_type":"text/x-python","patch_set":43,"id":"31926744_3ef81f9f","line":24,"range":{"start_line":24,"start_character":39,"end_line":24,"end_character":46},"in_reply_to":"f98a8e3a_bb3c7fcb","updated":"2021-01-19 10:42:55.000000000","message":"fixed","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"}],"sysinv/sysinv/sysinv/sysinv/puppet/common.py":[{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":38,"context_line":"REPORT_PCI_SRIOV_CONFIG \u003d \u0027pci_sriov_config\u0027"},{"line_number":39,"context_line":"REPORT_CEPH_OSD_CONFIG \u003d \u0027ceph_osd\u0027"},{"line_number":40,"context_line":"REPORT_CEPH_RADOSGW_CONFIG \u003d \u0027ceph_radosgw\u0027"},{"line_number":41,"context_line":"REPORT_CEPH_ROOK_CONFIG \u003d \u0027rook_ceph_config\u0027"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"def puppet_apply_manifest(ip_address, personality,"}],"source_content_type":"text/x-python","patch_set":40,"id":"5223cb35_6577b2a9","line":41,"range":{"start_line":41,"start_character":27,"end_line":41,"end_character":43},"updated":"2021-01-14 19:41:53.000000000","message":"consider ceph_rook_config (more in alignment with const name)","commit_id":"8a4e3423d4a17e628853702d7d613e04f661779f"},{"author":{"_account_id":9926,"name":"John Kung","email":"john.kung@windriver.com","username":"jkung"},"change_message_id":"ba7fa47bc59693b2aff76e72457f4c673bf55560","unresolved":true,"context_lines":[{"line_number":38,"context_line":"REPORT_PCI_SRIOV_CONFIG \u003d \u0027pci_sriov_config\u0027"},{"line_number":39,"context_line":"REPORT_CEPH_OSD_CONFIG \u003d \u0027ceph_osd\u0027"},{"line_number":40,"context_line":"REPORT_CEPH_RADOSGW_CONFIG \u003d \u0027ceph_radosgw\u0027"},{"line_number":41,"context_line":"REPORT_CEPH_ROOK_CONFIG \u003d \u0027rook_ceph_config\u0027"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"def puppet_apply_manifest(ip_address, personality,"}],"source_content_type":"text/x-python","patch_set":43,"id":"81170b8f_4ab6189c","line":41,"range":{"start_line":41,"start_character":27,"end_line":41,"end_character":43},"updated":"2021-01-14 19:41:53.000000000","message":"\u0027ceph_rook_config\u0027 to be consistent with other naming","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"e3beb0d7dbc219c0101137c7a054cc701318adfc","unresolved":true,"context_lines":[{"line_number":38,"context_line":"REPORT_PCI_SRIOV_CONFIG \u003d \u0027pci_sriov_config\u0027"},{"line_number":39,"context_line":"REPORT_CEPH_OSD_CONFIG \u003d \u0027ceph_osd\u0027"},{"line_number":40,"context_line":"REPORT_CEPH_RADOSGW_CONFIG \u003d \u0027ceph_radosgw\u0027"},{"line_number":41,"context_line":"REPORT_CEPH_ROOK_CONFIG \u003d \u0027rook_ceph_config\u0027"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"def puppet_apply_manifest(ip_address, personality,"}],"source_content_type":"text/x-python","patch_set":43,"id":"9ea17a84_45f61945","line":41,"range":{"start_line":41,"start_character":27,"end_line":41,"end_character":43},"in_reply_to":"81170b8f_4ab6189c","updated":"2021-01-19 10:42:55.000000000","message":"fixed","commit_id":"1acbc44b1d6df0bd8b2c3a837aec094fefb6f1ff"}],"sysinv/sysinv/sysinv/sysinv/puppet/rook.py":[{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"415cd592e215f9c49073a8d587d092f5a1b858e3","unresolved":true,"context_lines":[{"line_number":52,"context_line":"                directory \u003d \"/var/lib/ceph/ceph-%d/osd%d/\" % (stor.osdid, stor.osdid)"},{"line_number":53,"context_line":"                dir_config \u003d {"},{"line_number":54,"context_line":"                    \u0027disk_node\u0027: disk.device_node,"},{"line_number":55,"context_line":"                    \u0027data_path\u0027: disk.device_path + \u0027-part1\u0027,"},{"line_number":56,"context_line":"                    \u0027directory\u0027: directory,"},{"line_number":57,"context_line":"                }"},{"line_number":58,"context_line":"                directories_config.update({name: dir_config})"}],"source_content_type":"text/x-python","patch_set":48,"id":"71a929bb_4ca1b646","line":55,"updated":"2021-01-19 14:58:30.000000000","message":"I am going to assume you can never have the same disk listed twice in the pairs list, and therefore need to handle -part2","commit_id":"54e1fcc3b24f5229729d9d35b3d78fbb2db46e3b"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"29724f6322ca948a5aa86c8a1bec372a87dfdcaf","unresolved":true,"context_lines":[{"line_number":52,"context_line":"                directory \u003d \"/var/lib/ceph/ceph-%d/osd%d/\" % (stor.osdid, stor.osdid)"},{"line_number":53,"context_line":"                dir_config \u003d {"},{"line_number":54,"context_line":"                    \u0027disk_node\u0027: disk.device_node,"},{"line_number":55,"context_line":"                    \u0027data_path\u0027: disk.device_path + \u0027-part1\u0027,"},{"line_number":56,"context_line":"                    \u0027directory\u0027: directory,"},{"line_number":57,"context_line":"                }"},{"line_number":58,"context_line":"                directories_config.update({name: dir_config})"}],"source_content_type":"text/x-python","patch_set":48,"id":"7334c2c1_b943f502","line":55,"in_reply_to":"71a929bb_4ca1b646","updated":"2021-01-21 02:46:41.000000000","message":"I temporarily move this function, as this is for migration. For next stx.60, when enable migration. I will add this function again and debug and verify cae disk.device_path + \u0027-part2\u0027","commit_id":"54e1fcc3b24f5229729d9d35b3d78fbb2db46e3b"}],"sysinv/sysinv/sysinv/sysinv/puppet/storage.py":[{"author":{"_account_id":15435,"name":"Al Bailey","email":"albailey1974@gmail.com","username":"albailey"},"change_message_id":"288765c84380b4e93f0a559c3af2d66c55b175b9","unresolved":false,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        # The final_filter contain only the final global_filter devices, while the transition_filter"},{"line_number":212,"context_line":"        # contains the transient list of removing devices as well"},{"line_number":213,"context_line":"        final_devices \u003d cgts_devices + cinder_devices + nova_final_devices + ceph_mon_devices + rook_osd_devices"},{"line_number":214,"context_line":"        final_filter \u003d self._operator.storage.format_lvm_filter(final_devices)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        transition_filter \u003d self._operator.storage.format_lvm_filter("}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_76162958","line":213,"updated":"2020-08-28 12:56:35.000000000","message":"nit: line width","commit_id":"d8720d5cc11ac1183ed9a4a8a262092f72a49a4c"},{"author":{"_account_id":28602,"name":"chen haochuan","email":"haochuan.z.chen@intel.com","username":"haochuan"},"change_message_id":"fadaa13beda11222cbcdcbf82a1bb72c615f8e6a","unresolved":false,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        # The final_filter contain only the final global_filter devices, while the transition_filter"},{"line_number":212,"context_line":"        # contains the transient list of removing devices as well"},{"line_number":213,"context_line":"        final_devices \u003d cgts_devices + cinder_devices + nova_final_devices + ceph_mon_devices + rook_osd_devices"},{"line_number":214,"context_line":"        final_filter \u003d self._operator.storage.format_lvm_filter(final_devices)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        transition_filter \u003d self._operator.storage.format_lvm_filter("}],"source_content_type":"text/x-python","patch_set":24,"id":"9f560f44_975f6574","line":213,"in_reply_to":"9f560f44_76162958","updated":"2020-08-31 01:28:12.000000000","message":"updated","commit_id":"d8720d5cc11ac1183ed9a4a8a262092f72a49a4c"}]}
