)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"35c4edbc8d0e4d3f9b09a22353b2bb9b1e5070b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"de81ef45_b949b4e1","updated":"2023-10-05 08:35:14.000000000","message":"thanks Dmitry, see inline.","commit_id":"c6479fd8813014dcf92fd43e44bfa5665cb80517"}],"doc/source/user/dynamic-emulator.rst":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bb49e2a67b7210e015cba6115bf93cdc23ba1110","unresolved":true,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":".. code-block:: bash"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"   sushy-emulator --os-cloud baremetal-cloud"},{"line_number":320,"context_line":"    * Running on http://localhost:8000/ (Press CTRL+C to quit)"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"By this point you should be able to see your Baremetal instances among the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e99d77b3_9997347e","line":319,"updated":"2023-09-22 12:18:23.000000000","message":"This does not look right: this option is for the OpenStack backend.","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"35c4edbc8d0e4d3f9b09a22353b2bb9b1e5070b5","unresolved":true,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":".. code-block:: bash"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"   sushy-emulator --os-cloud baremetal-cloud"},{"line_number":320,"context_line":"    * Running on http://localhost:8000/ (Press CTRL+C to quit)"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"By this point you should be able to see your Baremetal instances among the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"feeb3e2a_985dcebd","line":319,"in_reply_to":"e99d77b3_9997347e","updated":"2023-10-05 08:35:14.000000000","message":"I\u0027ve added --ironic-cloud","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"c3dba529f5887496f4d2bb477cfccf7cb82169eb","unresolved":false,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":".. code-block:: bash"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"   sushy-emulator --os-cloud baremetal-cloud"},{"line_number":320,"context_line":"    * Running on http://localhost:8000/ (Press CTRL+C to quit)"},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"By this point you should be able to see your Baremetal instances among the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f4c6c37_b0942898","line":319,"in_reply_to":"feeb3e2a_985dcebd","updated":"2023-11-09 10:46:32.000000000","message":"Done","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"}],"sushy_tools/emulator/main.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bb49e2a67b7210e015cba6115bf93cdc23ba1110","unresolved":true,"context_lines":[{"line_number":804,"context_line":"                        help\u003d\u0027SSL key to use for HTTPS. Can also be set\u0027"},{"line_number":805,"context_line":"                        \u0027via config variable SUSHY_EMULATOR_SSL_KEY.\u0027)"},{"line_number":806,"context_line":"    backend_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":807,"context_line":"    backend_group.add_argument(\u0027--os-cloud\u0027,"},{"line_number":808,"context_line":"                               type\u003dstr,"},{"line_number":809,"context_line":"                               help\u003d\u0027OpenStack cloud name. Can also be set \u0027"},{"line_number":810,"context_line":"                                    \u0027via environment variable OS_CLOUD or \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a5f60a8_e2e7187f","line":807,"updated":"2023-09-22 12:18:23.000000000","message":"Let\u0027s add a new option to this group?","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"}],"sushy_tools/emulator/resources/systems/ironicdriver.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bb49e2a67b7210e015cba6115bf93cdc23ba1110","unresolved":true,"context_lines":[{"line_number":69,"context_line":"    @memoize.memoize()"},{"line_number":70,"context_line":"    def _get_node(self, identity):"},{"line_number":71,"context_line":"        node \u003d self._cc.baremetal.get_node(identity)"},{"line_number":72,"context_line":"        if node:"},{"line_number":73,"context_line":"            return node"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        msg \u003d (\u0027Error finding node by UUID \"%(identity)s\" at OS \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"19fcb94c_bb6e814d","line":72,"updated":"2023-09-22 12:18:23.000000000","message":"I think get_node raises an exception, not returns None","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"35c4edbc8d0e4d3f9b09a22353b2bb9b1e5070b5","unresolved":true,"context_lines":[{"line_number":69,"context_line":"    @memoize.memoize()"},{"line_number":70,"context_line":"    def _get_node(self, identity):"},{"line_number":71,"context_line":"        node \u003d self._cc.baremetal.get_node(identity)"},{"line_number":72,"context_line":"        if node:"},{"line_number":73,"context_line":"            return node"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        msg \u003d (\u0027Error finding node by UUID \"%(identity)s\" at OS \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"48cc379b_e3fa56b3","line":72,"in_reply_to":"19fcb94c_bb6e814d","updated":"2023-10-05 08:35:14.000000000","message":"Yup, fixed","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"c3dba529f5887496f4d2bb477cfccf7cb82169eb","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    @memoize.memoize()"},{"line_number":70,"context_line":"    def _get_node(self, identity):"},{"line_number":71,"context_line":"        node \u003d self._cc.baremetal.get_node(identity)"},{"line_number":72,"context_line":"        if node:"},{"line_number":73,"context_line":"            return node"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"        msg \u003d (\u0027Error finding node by UUID \"%(identity)s\" at OS \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"d7f899ab_92fb8cf6","line":72,"in_reply_to":"48cc379b_e3fa56b3","updated":"2023-11-09 10:46:32.000000000","message":"Done","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bb49e2a67b7210e015cba6115bf93cdc23ba1110","unresolved":true,"context_lines":[{"line_number":158,"context_line":"        node \u003d self._get_node(identity)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        if state in (\u0027On\u0027, \u0027ForceOn\u0027):"},{"line_number":161,"context_line":"            if node.power_state !\u003d self.IRONIC_POWER_ON:"},{"line_number":162,"context_line":"                self._cc.baremetal.set_node_power_state("},{"line_number":163,"context_line":"                    node.id, self.IRONIC_POWER_ON)"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"777e100f_54de2bce","line":161,"updated":"2023-09-22 12:18:23.000000000","message":"You don\u0027t need all these checks for the current state: Ironic is capable of doing the right thing.","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"35c4edbc8d0e4d3f9b09a22353b2bb9b1e5070b5","unresolved":true,"context_lines":[{"line_number":158,"context_line":"        node \u003d self._get_node(identity)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        if state in (\u0027On\u0027, \u0027ForceOn\u0027):"},{"line_number":161,"context_line":"            if node.power_state !\u003d self.IRONIC_POWER_ON:"},{"line_number":162,"context_line":"                self._cc.baremetal.set_node_power_state("},{"line_number":163,"context_line":"                    node.id, self.IRONIC_POWER_ON)"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"f93d75a5_c75f8edd","line":161,"in_reply_to":"777e100f_54de2bce","updated":"2023-10-05 08:35:14.000000000","message":"was trying to save an API call, I\u0027ve removed from the Power on/off calls, we still need to do the check for the restart calls.","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"c3dba529f5887496f4d2bb477cfccf7cb82169eb","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        node \u003d self._get_node(identity)"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        if state in (\u0027On\u0027, \u0027ForceOn\u0027):"},{"line_number":161,"context_line":"            if node.power_state !\u003d self.IRONIC_POWER_ON:"},{"line_number":162,"context_line":"                self._cc.baremetal.set_node_power_state("},{"line_number":163,"context_line":"                    node.id, self.IRONIC_POWER_ON)"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"6d88f529_6400dc06","line":161,"in_reply_to":"f93d75a5_c75f8edd","updated":"2023-11-09 10:46:32.000000000","message":"Done","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bb49e2a67b7210e015cba6115bf93cdc23ba1110","unresolved":true,"context_lines":[{"line_number":209,"context_line":"            return"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        bdevice \u003d node.get_boot_device(self._cc.baremetal).get(\"boot_device\")"},{"line_number":212,"context_line":"        if bdevice \u003d\u003d \"pxe\":"},{"line_number":213,"context_line":"            return self.BOOT_DEVICE_MAP_REV[\u0027pxe\u0027]"},{"line_number":214,"context_line":"        else:"},{"line_number":215,"context_line":"            return self.BOOT_DEVICE_MAP_REV[\u0027disk\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"af7c34a2_1063881e","line":212,"updated":"2023-09-22 12:18:23.000000000","message":"return self.BOOT_DEVICE_MAP_REV[bdevice]?","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"35c4edbc8d0e4d3f9b09a22353b2bb9b1e5070b5","unresolved":true,"context_lines":[{"line_number":209,"context_line":"            return"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        bdevice \u003d node.get_boot_device(self._cc.baremetal).get(\"boot_device\")"},{"line_number":212,"context_line":"        if bdevice \u003d\u003d \"pxe\":"},{"line_number":213,"context_line":"            return self.BOOT_DEVICE_MAP_REV[\u0027pxe\u0027]"},{"line_number":214,"context_line":"        else:"},{"line_number":215,"context_line":"            return self.BOOT_DEVICE_MAP_REV[\u0027disk\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"e53a744e_edae31c1","line":212,"in_reply_to":"af7c34a2_1063881e","updated":"2023-10-05 08:35:14.000000000","message":"Yup, that better, I was too focused on my own use case","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"c3dba529f5887496f4d2bb477cfccf7cb82169eb","unresolved":false,"context_lines":[{"line_number":209,"context_line":"            return"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        bdevice \u003d node.get_boot_device(self._cc.baremetal).get(\"boot_device\")"},{"line_number":212,"context_line":"        if bdevice \u003d\u003d \"pxe\":"},{"line_number":213,"context_line":"            return self.BOOT_DEVICE_MAP_REV[\u0027pxe\u0027]"},{"line_number":214,"context_line":"        else:"},{"line_number":215,"context_line":"            return self.BOOT_DEVICE_MAP_REV[\u0027disk\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"b8790730_1fd41323","line":212,"in_reply_to":"e53a744e_edae31c1","updated":"2023-11-09 10:46:32.000000000","message":"Done","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bb49e2a67b7210e015cba6115bf93cdc23ba1110","unresolved":true,"context_lines":[{"line_number":243,"context_line":"        \"\"\""},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        driver_info \u003d self._get_driver_internal_info(identity)"},{"line_number":246,"context_line":"        boot_mode \u003d driver_info.get(\"deploy_boot_mode\", None)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        return self.BOOT_MODE_MAP_REV.get(boot_mode)"},{"line_number":249,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7227c0a7_2eb1ed84","line":246,"updated":"2023-09-22 12:18:23.000000000","message":"This is not correct, use node.boot_mode","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"35c4edbc8d0e4d3f9b09a22353b2bb9b1e5070b5","unresolved":true,"context_lines":[{"line_number":243,"context_line":"        \"\"\""},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        driver_info \u003d self._get_driver_internal_info(identity)"},{"line_number":246,"context_line":"        boot_mode \u003d driver_info.get(\"deploy_boot_mode\", None)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        return self.BOOT_MODE_MAP_REV.get(boot_mode)"},{"line_number":249,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"8de043cc_c91257eb","line":246,"in_reply_to":"7227c0a7_2eb1ed84","updated":"2023-10-05 08:35:14.000000000","message":"It worked on the cloud I was testing against but that was just a fluke.","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"c3dba529f5887496f4d2bb477cfccf7cb82169eb","unresolved":false,"context_lines":[{"line_number":243,"context_line":"        \"\"\""},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        driver_info \u003d self._get_driver_internal_info(identity)"},{"line_number":246,"context_line":"        boot_mode \u003d driver_info.get(\"deploy_boot_mode\", None)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"        return self.BOOT_MODE_MAP_REV.get(boot_mode)"},{"line_number":249,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"4b41d06d_0d635050","line":246,"in_reply_to":"8de043cc_c91257eb","updated":"2023-11-09 10:46:32.000000000","message":"Done","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bb49e2a67b7210e015cba6115bf93cdc23ba1110","unresolved":true,"context_lines":[{"line_number":258,"context_line":"        # just to make sure passed identity exists"},{"line_number":259,"context_line":"        self._get_node(identity)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        msg \u003d (\u0027The cloud driver %(driver)s does not allow changing boot \u0027"},{"line_number":262,"context_line":"               \u0027mode through Redfish\u0027 % {\u0027driver\u0027: self.driver})"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        raise error.NotSupportedError(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"052f381d_6f1549a0","line":261,"updated":"2023-09-22 12:18:23.000000000","message":"There is actually API for this, although it\u0027s asynchronous, which is a bit inconvenient (but so are many Redfish implementations).","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"35c4edbc8d0e4d3f9b09a22353b2bb9b1e5070b5","unresolved":true,"context_lines":[{"line_number":258,"context_line":"        # just to make sure passed identity exists"},{"line_number":259,"context_line":"        self._get_node(identity)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        msg \u003d (\u0027The cloud driver %(driver)s does not allow changing boot \u0027"},{"line_number":262,"context_line":"               \u0027mode through Redfish\u0027 % {\u0027driver\u0027: self.driver})"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        raise error.NotSupportedError(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"e1710df9_e3df144a","line":261,"in_reply_to":"052f381d_6f1549a0","updated":"2023-10-05 08:35:14.000000000","message":"The message here is more related to the fact that this sushy driver doesn\u0027t allow changing boot mode.","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"c3dba529f5887496f4d2bb477cfccf7cb82169eb","unresolved":false,"context_lines":[{"line_number":258,"context_line":"        # just to make sure passed identity exists"},{"line_number":259,"context_line":"        self._get_node(identity)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        msg \u003d (\u0027The cloud driver %(driver)s does not allow changing boot \u0027"},{"line_number":262,"context_line":"               \u0027mode through Redfish\u0027 % {\u0027driver\u0027: self.driver})"},{"line_number":263,"context_line":""},{"line_number":264,"context_line":"        raise error.NotSupportedError(msg)"}],"source_content_type":"text/x-python","patch_set":1,"id":"865c9d3d_c6905fb2","line":261,"in_reply_to":"e1710df9_e3df144a","updated":"2023-11-09 10:46:32.000000000","message":"Done","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bb49e2a67b7210e015cba6115bf93cdc23ba1110","unresolved":true,"context_lines":[{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        self._get_node(identity)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        # TODO(derekh): Use node.is_secure_boot ?"},{"line_number":280,"context_line":"        return False"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    def set_secure_boot(self, identity, secure):"}],"source_content_type":"text/x-python","patch_set":1,"id":"4caaaaa2_9e540de8","line":279,"updated":"2023-09-22 12:18:23.000000000","message":"Yes","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"35c4edbc8d0e4d3f9b09a22353b2bb9b1e5070b5","unresolved":true,"context_lines":[{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        self._get_node(identity)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        # TODO(derekh): Use node.is_secure_boot ?"},{"line_number":280,"context_line":"        return False"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    def set_secure_boot(self, identity, secure):"}],"source_content_type":"text/x-python","patch_set":1,"id":"81e87394_df2572aa","line":279,"in_reply_to":"4caaaaa2_9e540de8","updated":"2023-10-05 08:35:14.000000000","message":"done","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"c3dba529f5887496f4d2bb477cfccf7cb82169eb","unresolved":false,"context_lines":[{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        self._get_node(identity)"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        # TODO(derekh): Use node.is_secure_boot ?"},{"line_number":280,"context_line":"        return False"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    def set_secure_boot(self, identity, secure):"}],"source_content_type":"text/x-python","patch_set":1,"id":"54bc81f0_98331417","line":279,"in_reply_to":"81e87394_df2572aa","updated":"2023-11-09 10:46:32.000000000","message":"Done","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bb49e2a67b7210e015cba6115bf93cdc23ba1110","unresolved":true,"context_lines":[{"line_number":304,"context_line":"        except error.FishyError:"},{"line_number":305,"context_line":"            return"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"        # memory_mb might not have been set, in this case return 32G"},{"line_number":308,"context_line":"        return int(math.ceil(int(properties.get(\"memory_mb\", 32768)) / 1024.))"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"    def get_total_cpus(self, identity):"}],"source_content_type":"text/x-python","patch_set":1,"id":"8b563979_e64f2631","line":307,"updated":"2023-09-22 12:18:23.000000000","message":"I\u0027d prefer us not returning anything than making up numbers","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"35c4edbc8d0e4d3f9b09a22353b2bb9b1e5070b5","unresolved":true,"context_lines":[{"line_number":304,"context_line":"        except error.FishyError:"},{"line_number":305,"context_line":"            return"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"        # memory_mb might not have been set, in this case return 32G"},{"line_number":308,"context_line":"        return int(math.ceil(int(properties.get(\"memory_mb\", 32768)) / 1024.))"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"    def get_total_cpus(self, identity):"}],"source_content_type":"text/x-python","patch_set":1,"id":"e85d4d53_16c04a30","line":307,"in_reply_to":"8b563979_e64f2631","updated":"2023-10-05 08:35:14.000000000","message":"done","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"c3dba529f5887496f4d2bb477cfccf7cb82169eb","unresolved":false,"context_lines":[{"line_number":304,"context_line":"        except error.FishyError:"},{"line_number":305,"context_line":"            return"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"        # memory_mb might not have been set, in this case return 32G"},{"line_number":308,"context_line":"        return int(math.ceil(int(properties.get(\"memory_mb\", 32768)) / 1024.))"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"    def get_total_cpus(self, identity):"}],"source_content_type":"text/x-python","patch_set":1,"id":"10ec49f0_8f94ca6a","line":307,"in_reply_to":"e85d4d53_16c04a30","updated":"2023-11-09 10:46:32.000000000","message":"Done","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"bb49e2a67b7210e015cba6115bf93cdc23ba1110","unresolved":true,"context_lines":[{"line_number":320,"context_line":"        except error.FishyError:"},{"line_number":321,"context_line":"            return"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"        return int(properties.get(\"vcpus\", 1))"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"    def get_nics(self, identity):"},{"line_number":326,"context_line":"        \"\"\"Get node\u0027s network interfaces"}],"source_content_type":"text/x-python","patch_set":1,"id":"5066b6c3_52317ee3","line":323,"updated":"2023-09-22 12:18:23.000000000","message":"Same","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"c3dba529f5887496f4d2bb477cfccf7cb82169eb","unresolved":false,"context_lines":[{"line_number":320,"context_line":"        except error.FishyError:"},{"line_number":321,"context_line":"            return"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"        return int(properties.get(\"vcpus\", 1))"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"    def get_nics(self, identity):"},{"line_number":326,"context_line":"        \"\"\"Get node\u0027s network interfaces"}],"source_content_type":"text/x-python","patch_set":1,"id":"bff1ec2e_f5b327c4","line":323,"in_reply_to":"32eb43c5_5bfaa670","updated":"2023-11-09 10:46:32.000000000","message":"Done","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"35c4edbc8d0e4d3f9b09a22353b2bb9b1e5070b5","unresolved":true,"context_lines":[{"line_number":320,"context_line":"        except error.FishyError:"},{"line_number":321,"context_line":"            return"},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"        return int(properties.get(\"vcpus\", 1))"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"    def get_nics(self, identity):"},{"line_number":326,"context_line":"        \"\"\"Get node\u0027s network interfaces"}],"source_content_type":"text/x-python","patch_set":1,"id":"32eb43c5_5bfaa670","line":323,"in_reply_to":"5066b6c3_52317ee3","updated":"2023-10-05 08:35:14.000000000","message":"done","commit_id":"0506b60db8b318ba6b57b95c820d58c63c18bfea"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"139f2d0f3b1890bd7a074579dc48a6bacc248a5f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2018 Red Hat, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":3,"id":"64217bb0_93d2334b","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"updated":"2023-10-06 17:35:35.000000000","message":"Is this date right?","commit_id":"5d141b34c7ae60107a02bb897b9df9cc8a9ca33c"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"15cd60d9af2d781ce2014286fb1dc4f9793f61d0","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2018 Red Hat, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":3,"id":"f46c7409_1f6b9d91","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"in_reply_to":"64217bb0_93d2334b","updated":"2023-10-09 16:55:14.000000000","message":"ty, will fix","commit_id":"5d141b34c7ae60107a02bb897b9df9cc8a9ca33c"},{"author":{"_account_id":1926,"name":"Derek Higgins","email":"derekh@redhat.com","username":"derekh"},"change_message_id":"d905ebd610d751de3e6f2ab02e7fe919cb75a8bb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2018 Red Hat, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f377097_560d99e3","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":16},"in_reply_to":"f46c7409_1f6b9d91","updated":"2023-10-26 11:47:43.000000000","message":"Done","commit_id":"5d141b34c7ae60107a02bb897b9df9cc8a9ca33c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f7de2aadf8b510e03847603f04dafa71d6538d3c","unresolved":false,"context_lines":[{"line_number":72,"context_line":"            node \u003d self._cc.baremetal.get_node(identity)"},{"line_number":73,"context_line":"            return node"},{"line_number":74,"context_line":"        except openstack.exceptions.ResourceNotFound:"},{"line_number":75,"context_line":"            pass"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"        msg \u003d (\u0027Error finding node by UUID \"%(identity)s\" at ironic \u0027"},{"line_number":78,"context_line":"               \u0027cloud %(os_cloud)s\"\u0027 % {\u0027identity\u0027: identity,"}],"source_content_type":"text/x-python","patch_set":4,"id":"1cd9b5da_61de2cb5","line":75,"updated":"2023-12-07 10:32:45.000000000","message":"nit: move the error handling under the \u0027except\u0027 clause","commit_id":"79cd737e65483b1772b1ccd15f5df383597bcade"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f7de2aadf8b510e03847603f04dafa71d6538d3c","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            node \u003d self._get_node(identity)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"        except error.FishyError:"},{"line_number":142,"context_line":"            return"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        if node.power_state \u003d\u003d self.IRONIC_POWER_ON:"},{"line_number":145,"context_line":"            return \u0027On\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"afd67061_7b837440","line":142,"updated":"2023-12-07 10:32:45.000000000","message":"Why silence the NotFound error?","commit_id":"79cd737e65483b1772b1ccd15f5df383597bcade"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f7de2aadf8b510e03847603f04dafa71d6538d3c","unresolved":false,"context_lines":[{"line_number":199,"context_line":"            node \u003d self._get_node(identity)"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"        except error.FishyError:"},{"line_number":202,"context_line":"            return"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        bdevice \u003d node.get_boot_device(self._cc.baremetal).get(\"boot_device\")"},{"line_number":205,"context_line":"        return self.BOOT_DEVICE_MAP_REV.get(bdevice)"}],"source_content_type":"text/x-python","patch_set":4,"id":"eb5d002d_5c6e7afe","line":202,"updated":"2023-12-07 10:32:45.000000000","message":"dittp","commit_id":"79cd737e65483b1772b1ccd15f5df383597bcade"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f7de2aadf8b510e03847603f04dafa71d6538d3c","unresolved":false,"context_lines":[{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        memory_mb \u003d properties.get(\"memory_mb\")"},{"line_number":287,"context_line":"        if memory_mb is None:"},{"line_number":288,"context_line":"            return None"},{"line_number":289,"context_line":"        return int(math.ceil(int(memory_mb) / 1024))"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    def get_total_cpus(self, identity):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7bffd0b2_7af4e490","line":288,"updated":"2023-12-07 10:32:45.000000000","message":"nit: could fall back to inventory, memory_mb won\u0027t be populated by default in the new inspection approach","commit_id":"79cd737e65483b1772b1ccd15f5df383597bcade"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f7de2aadf8b510e03847603f04dafa71d6538d3c","unresolved":false,"context_lines":[{"line_number":303,"context_line":""},{"line_number":304,"context_line":"        cpus \u003d properties.get(\"cpus\")"},{"line_number":305,"context_line":"        if cpus is None:"},{"line_number":306,"context_line":"            return None"},{"line_number":307,"context_line":"        return int(cpus)"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    def get_nics(self, identity):"}],"source_content_type":"text/x-python","patch_set":4,"id":"e9258c54_6c6f796e","line":306,"updated":"2023-12-07 10:32:45.000000000","message":"same","commit_id":"79cd737e65483b1772b1ccd15f5df383597bcade"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f7de2aadf8b510e03847603f04dafa71d6538d3c","unresolved":false,"context_lines":[{"line_number":319,"context_line":"        self._get_node(identity)"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"        macs \u003d set()"},{"line_number":322,"context_line":"        for port in self._cc.baremetal.ports(fields\u003d[\"address\", \"node_uuid\"]):"},{"line_number":323,"context_line":"            if port[\"node_uuid\"] \u003d\u003d identity:"},{"line_number":324,"context_line":"                macs.add(port[\"address\"])"},{"line_number":325,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"df8a91a6_9ce22c82","line":322,"updated":"2023-12-07 10:32:45.000000000","message":"You can filter by node on the API level","commit_id":"79cd737e65483b1772b1ccd15f5df383597bcade"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"f7de2aadf8b510e03847603f04dafa71d6538d3c","unresolved":false,"context_lines":[{"line_number":323,"context_line":"            if port[\"node_uuid\"] \u003d\u003d identity:"},{"line_number":324,"context_line":"                macs.add(port[\"address\"])"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        return [{\u0027id\u0027: mac, \u0027mac\u0027: mac}"},{"line_number":327,"context_line":"                for mac in macs]"}],"source_content_type":"text/x-python","patch_set":4,"id":"173b2762_e5bf78c0","line":326,"updated":"2023-12-07 10:32:45.000000000","message":"nit: you could use port UUID as the ID","commit_id":"79cd737e65483b1772b1ccd15f5df383597bcade"}]}
