)]}'
{"ironic/drivers/modules/inspect_utils.py":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4290b3a229a3c9601499355a877b0283cced725","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                                     \u0027port_num\u0027: port_num})"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def create_ports_for_enabled_macs_if_not_exist(task, macs):"},{"line_number":68,"context_line":"    \"\"\"Create ironic ports for the enabled mac addresses."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    Creates ironic ports for only the enabled mac addresses returned with"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_b9d34236","line":67,"range":{"start_line":67,"start_character":4,"end_line":67,"end_character":46},"updated":"2018-12-18 06:39:54.000000000","message":"Or... would it make sense to push this redfish-specific utility somewhere under \u0027redfish\u0027 driver tree?\nOr... pass the `STATE_MAP` as a parameter this way decoupling this utility from sushy specifics?","commit_id":"e8ec687b78059320d027220e359de2bf05e470fd"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4290b3a229a3c9601499355a877b0283cced725","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                                     \u0027port_num\u0027: port_num})"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def create_ports_for_enabled_macs_if_not_exist(task, macs):"},{"line_number":68,"context_line":"    \"\"\"Create ironic ports for the enabled mac addresses."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    Creates ironic ports for only the enabled mac addresses returned with"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_e798361a","line":67,"updated":"2018-12-18 06:39:54.000000000","message":"would it make sense to merge this function with the one starting at line #37?","commit_id":"e8ec687b78059320d027220e359de2bf05e470fd"},{"author":{"_account_id":16635,"name":"deray","email":"debayan.ray@gmail.com","username":"deray"},"change_message_id":"34d54a437239d9f8da4f566a537f05c8d390c7f1","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                                     \u0027port_num\u0027: port_num})"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"def create_ports_for_enabled_macs_if_not_exist(task, macs):"},{"line_number":68,"context_line":"    \"\"\"Create ironic ports for the enabled mac addresses."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    Creates ironic ports for only the enabled mac addresses returned with"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_39d5e3b5","line":67,"in_reply_to":"3f79a3b5_e798361a","updated":"2018-12-18 17:51:03.000000000","message":"I have amended this port creating helper function [1]. Please have a look.\n\n[1] https://review.openstack.org/#/c/625659/3/ironic/drivers/modules/inspect_utils.py","commit_id":"e8ec687b78059320d027220e359de2bf05e470fd"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4290b3a229a3c9601499355a877b0283cced725","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    \"\"\""},{"line_number":78,"context_line":"    node \u003d task.node"},{"line_number":79,"context_line":"    for mac, mac_state in macs.items():"},{"line_number":80,"context_line":"        if mac_state \u003d\u003d STATE_MAP_REV.get(\u0027enabled\u0027):"},{"line_number":81,"context_line":"            port_dict \u003d {\u0027address\u0027: mac, \u0027node_id\u0027: node.id}"},{"line_number":82,"context_line":"            port \u003d objects.Port(task.context, **port_dict)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_c795fae3","line":79,"updated":"2018-12-18 06:39:54.000000000","message":"nit: loop variables have different names than at L49.","commit_id":"e8ec687b78059320d027220e359de2bf05e470fd"},{"author":{"_account_id":16635,"name":"deray","email":"debayan.ray@gmail.com","username":"deray"},"change_message_id":"34d54a437239d9f8da4f566a537f05c8d390c7f1","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"    \"\"\""},{"line_number":78,"context_line":"    node \u003d task.node"},{"line_number":79,"context_line":"    for mac, mac_state in macs.items():"},{"line_number":80,"context_line":"        if mac_state \u003d\u003d STATE_MAP_REV.get(\u0027enabled\u0027):"},{"line_number":81,"context_line":"            port_dict \u003d {\u0027address\u0027: mac, \u0027node_id\u0027: node.id}"},{"line_number":82,"context_line":"            port \u003d objects.Port(task.context, **port_dict)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_59fbff47","line":79,"in_reply_to":"3f79a3b5_c795fae3","updated":"2018-12-18 17:51:03.000000000","message":"yeah .. have taken care of this in the latest modified function as part of patch-set #3. Thanks for pointing this out!","commit_id":"e8ec687b78059320d027220e359de2bf05e470fd"}],"ironic/drivers/modules/redfish/inspect.py":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"e4290b3a229a3c9601499355a877b0283cced725","unresolved":false,"context_lines":[{"line_number":201,"context_line":"                                     \u0027node\u0027: task.node.uuid})"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        if (system.ethernet_interfaces and"},{"line_number":204,"context_line":"                system.ethernet_interfaces.summary):"},{"line_number":205,"context_line":"            macs \u003d system.ethernet_interfaces.summary"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"            # Create ports for the enabled state NICs detected."}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_7974ca38","line":204,"range":{"start_line":204,"start_character":43,"end_line":204,"end_character":50},"updated":"2018-12-18 06:39:54.000000000","message":"Is this a fix for an unrelated bug? May be worth splitting it apart?","commit_id":"e8ec687b78059320d027220e359de2bf05e470fd"},{"author":{"_account_id":16635,"name":"deray","email":"debayan.ray@gmail.com","username":"deray"},"change_message_id":"34d54a437239d9f8da4f566a537f05c8d390c7f1","unresolved":false,"context_lines":[{"line_number":201,"context_line":"                                     \u0027node\u0027: task.node.uuid})"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        if (system.ethernet_interfaces and"},{"line_number":204,"context_line":"                system.ethernet_interfaces.summary):"},{"line_number":205,"context_line":"            macs \u003d system.ethernet_interfaces.summary"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"            # Create ports for the enabled state NICs detected."}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_d9b5cf81","line":204,"range":{"start_line":204,"start_character":43,"end_line":204,"end_character":50},"in_reply_to":"3f79a3b5_7974ca38","updated":"2018-12-18 17:51:03.000000000","message":"yes. very rightly pointed. I will raise a separate bug and update the commit message here itself accordingly.","commit_id":"e8ec687b78059320d027220e359de2bf05e470fd"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"eb3dc779867740decbfcb7e6517439a2f9da31d5","unresolved":false,"context_lines":[{"line_number":182,"context_line":"            LOG.warning(\"Could not provide a valid storage size configured \""},{"line_number":183,"context_line":"                        \"for node %(node)s. Assuming this is a disk-less node\","},{"line_number":184,"context_line":"                        {\u0027node\u0027: task.node.uuid})"},{"line_number":185,"context_line":"            inspected_properties[\u0027local_gb\u0027] \u003d \u00270\u0027"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        valid_keys \u003d self.ESSENTIAL_PROPERTIES"},{"line_number":188,"context_line":"        missing_keys \u003d valid_keys - set(inspected_properties)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f769fc5_72fd0339","line":185,"updated":"2018-12-31 16:14:18.000000000","message":"Ideally, we shouldn\u0027t fail elsewhere  if local_gb is not set...","commit_id":"cb4f03f77a23702ad1753c083593bf41a7cef927"},{"author":{"_account_id":16635,"name":"deray","email":"debayan.ray@gmail.com","username":"deray"},"change_message_id":"68ad7da0af2fa2c585833285c098a1bc9ac09891","unresolved":false,"context_lines":[{"line_number":182,"context_line":"            LOG.warning(\"Could not provide a valid storage size configured \""},{"line_number":183,"context_line":"                        \"for node %(node)s. Assuming this is a disk-less node\","},{"line_number":184,"context_line":"                        {\u0027node\u0027: task.node.uuid})"},{"line_number":185,"context_line":"            inspected_properties[\u0027local_gb\u0027] \u003d \u00270\u0027"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"        valid_keys \u003d self.ESSENTIAL_PROPERTIES"},{"line_number":188,"context_line":"        missing_keys \u003d valid_keys - set(inspected_properties)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f769fc5_1bc6239c","line":185,"in_reply_to":"1f769fc5_72fd0339","updated":"2019-01-02 09:16:17.000000000","message":"\u003e Ideally, we shouldn\u0027t fail elsewhere  if local_gb is not set...\n\nIf the local_gb is not set, it doesn\u0027t fail anywhere else apart from the subsequent ESSENTIAL_PROPERTIES checking portion here at line 187-197. Historically the ``ESSENTIAL_PROPERTIES`` attribute consists of ``{\u0027memory_mb\u0027, \u0027local_gb\u0027, \u0027cpus\u0027, \u0027cpu_arch\u0027}``. Setting local_gb to \u00270\u0027 is only meant to **not** fail in case local_gb cannot be determined. Btw, this method returns ``states.MANAGEABLE`` which indicates successful inspection. So if this OOB inspection method gets through w/o any failure the inspection job is a success.","commit_id":"cb4f03f77a23702ad1753c083593bf41a7cef927"}]}
