)]}'
{"ironic/common/rescue.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7bcedbc9e923b54a1422e462282223df7f11ed19","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    node \u003d task.node"},{"line_number":30,"context_line":"    missing_params \u003d []"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    if CONF.agent.manage_agent_boot:"},{"line_number":33,"context_line":"        # TODO(stendulker): boot.validate() performs validation of"},{"line_number":34,"context_line":"        # provisioning related parameters which is not required during"},{"line_number":35,"context_line":"        # rescue operation."}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_f4f3359d","line":32,"updated":"2018-02-07 09:25:10.000000000","message":"This variable is agent-specific and should not be used here.","commit_id":"eb4deef28bc2f51bc2e9fd1490963342123aec31"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"4276410f258de8b3aa4eb817a5700bf9d64f662f","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    node \u003d task.node"},{"line_number":30,"context_line":"    missing_params \u003d []"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    if CONF.agent.manage_agent_boot:"},{"line_number":33,"context_line":"        # TODO(stendulker): boot.validate() performs validation of"},{"line_number":34,"context_line":"        # provisioning related parameters which is not required during"},{"line_number":35,"context_line":"        # rescue operation."}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_42c00f51","line":32,"in_reply_to":"3fa0c359_f4f3359d","updated":"2018-02-08 04:16:04.000000000","message":"Done","commit_id":"eb4deef28bc2f51bc2e9fd1490963342123aec31"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7bcedbc9e923b54a1422e462282223df7f11ed19","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        # TODO(stendulker): boot.validate() performs validation of"},{"line_number":34,"context_line":"        # provisioning related parameters which is not required during"},{"line_number":35,"context_line":"        # rescue operation."},{"line_number":36,"context_line":"        task.driver.boot.validate(task)"},{"line_number":37,"context_line":"        for req in task.driver.rescue.get_properties():"},{"line_number":38,"context_line":"            if node.driver_info.get(req) is None:"},{"line_number":39,"context_line":"                missing_params.append(\u0027driver_info/\u0027 + req)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_14efc1b0","line":36,"updated":"2018-02-07 09:25:10.000000000","message":"This is already done in the conductor","commit_id":"eb4deef28bc2f51bc2e9fd1490963342123aec31"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"4276410f258de8b3aa4eb817a5700bf9d64f662f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        # TODO(stendulker): boot.validate() performs validation of"},{"line_number":34,"context_line":"        # provisioning related parameters which is not required during"},{"line_number":35,"context_line":"        # rescue operation."},{"line_number":36,"context_line":"        task.driver.boot.validate(task)"},{"line_number":37,"context_line":"        for req in task.driver.rescue.get_properties():"},{"line_number":38,"context_line":"            if node.driver_info.get(req) is None:"},{"line_number":39,"context_line":"                missing_params.append(\u0027driver_info/\u0027 + req)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_8a996c6f","line":36,"in_reply_to":"3fa0c359_14efc1b0","updated":"2018-02-08 04:16:04.000000000","message":"Its not being called for rescue [1]. Added it.\n[1] https://github.com/openstack/ironic/blob/master/ironic/conductor/manager.py#L580-L596","commit_id":"eb4deef28bc2f51bc2e9fd1490963342123aec31"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7bcedbc9e923b54a1422e462282223df7f11ed19","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        task.driver.boot.validate(task)"},{"line_number":37,"context_line":"        for req in task.driver.rescue.get_properties():"},{"line_number":38,"context_line":"            if node.driver_info.get(req) is None:"},{"line_number":39,"context_line":"                missing_params.append(\u0027driver_info/\u0027 + req)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    rescue_pass \u003d node.instance_info.get(\u0027rescue_password\u0027)"},{"line_number":42,"context_line":"    if rescue_pass is None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_b42b6de9","line":39,"updated":"2018-02-07 09:25:10.000000000","message":"This belongs to AgentRescue.validate","commit_id":"eb4deef28bc2f51bc2e9fd1490963342123aec31"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"4276410f258de8b3aa4eb817a5700bf9d64f662f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        task.driver.boot.validate(task)"},{"line_number":37,"context_line":"        for req in task.driver.rescue.get_properties():"},{"line_number":38,"context_line":"            if node.driver_info.get(req) is None:"},{"line_number":39,"context_line":"                missing_params.append(\u0027driver_info/\u0027 + req)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    rescue_pass \u003d node.instance_info.get(\u0027rescue_password\u0027)"},{"line_number":42,"context_line":"    if rescue_pass is None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa0c359_02ba07dd","line":39,"in_reply_to":"3fa0c359_b42b6de9","updated":"2018-02-08 04:16:04.000000000","message":"Done","commit_id":"eb4deef28bc2f51bc2e9fd1490963342123aec31"}],"ironic/conductor/manager.py":[{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"544cd3e26e65063eba6631d9c353090160e4ddad","unresolved":false,"context_lines":[{"line_number":578,"context_line":""},{"line_number":579,"context_line":"            try:"},{"line_number":580,"context_line":"                task.driver.power.validate(task)"},{"line_number":581,"context_line":"                task.driver.boot.validate(task)"},{"line_number":582,"context_line":"                task.driver.rescue.validate(task)"},{"line_number":583,"context_line":"                task.driver.network.validate(task)"},{"line_number":584,"context_line":"            except (exception.InvalidParameterValue,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_0c969c40","line":581,"updated":"2018-02-09 06:00:23.000000000","message":"We don\u0027t need to call it if manage_agent_boot is False. Or, we need to merge this fix in prior to this patch[1].\n\n[1] https://review.openstack.org/#/c/263842/","commit_id":"5466e354a44e417093e7fd1123c945d757418fb1"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"e22a64d9bbe71a238e922de971e8e724ec81bcfb","unresolved":false,"context_lines":[{"line_number":578,"context_line":""},{"line_number":579,"context_line":"            try:"},{"line_number":580,"context_line":"                task.driver.power.validate(task)"},{"line_number":581,"context_line":"                task.driver.boot.validate(task)"},{"line_number":582,"context_line":"                task.driver.rescue.validate(task)"},{"line_number":583,"context_line":"                task.driver.network.validate(task)"},{"line_number":584,"context_line":"            except (exception.InvalidParameterValue,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_ace768ac","line":581,"in_reply_to":"3fa0c359_0c969c40","updated":"2018-02-09 06:05:01.000000000","message":"Sorry. \nOr, we need to merge this fix[1] in prior to this patch.\n\n[1] https://review.openstack.org/#/c/263842/","commit_id":"5466e354a44e417093e7fd1123c945d757418fb1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f87031ae1645881d6d1b98ceae88450dfb74611d","unresolved":false,"context_lines":[{"line_number":578,"context_line":""},{"line_number":579,"context_line":"            try:"},{"line_number":580,"context_line":"                task.driver.power.validate(task)"},{"line_number":581,"context_line":"                task.driver.boot.validate(task)"},{"line_number":582,"context_line":"                task.driver.rescue.validate(task)"},{"line_number":583,"context_line":"                task.driver.network.validate(task)"},{"line_number":584,"context_line":"            except (exception.InvalidParameterValue,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_84eb5cda","line":581,"in_reply_to":"3fa0c359_ace768ac","updated":"2018-02-09 10:27:23.000000000","message":"Hmm, will move this validation to rescue.validate()","commit_id":"5466e354a44e417093e7fd1123c945d757418fb1"}],"ironic/drivers/base.py":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"230c864965f1e20cec2fa7e2bced902b5ccf97f4","unresolved":false,"context_lines":[{"line_number":614,"context_line":"        \"\"\""},{"line_number":615,"context_line":"        pass"},{"line_number":616,"context_line":""},{"line_number":617,"context_line":"    def validate(self, task):"},{"line_number":618,"context_line":"        \"\"\"Validate that the node has required properties for agent rescue."},{"line_number":619,"context_line":""},{"line_number":620,"context_line":"        :param task: a TaskManager instance with the node being checked"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa0c359_e3138b65","line":617,"range":{"start_line":617,"start_character":4,"end_line":617,"end_character":29},"updated":"2018-02-06 23:46:36.000000000","message":"Should be abstract method and need to override it in AgentRescue.","commit_id":"54c7113d2de4c4604959008a72bd8626bb2f4dad"},{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"544cd3e26e65063eba6631d9c353090160e4ddad","unresolved":false,"context_lines":[{"line_number":493,"context_line":"        :raises: MissingParameterValue if node is missing one or more required"},{"line_number":494,"context_line":"            parameters"},{"line_number":495,"context_line":"        \"\"\""},{"line_number":496,"context_line":"        pass"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"class PowerInterface(BaseInterface):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_4cd584e4","line":496,"updated":"2018-02-09 06:00:23.000000000","message":"I wonder if it would be better to raise UnsupportedDriverExtension by default to detect an interface which doesn\u0027t support rescue such as irmc-virtual-media.","commit_id":"5466e354a44e417093e7fd1123c945d757418fb1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f87031ae1645881d6d1b98ceae88450dfb74611d","unresolved":false,"context_lines":[{"line_number":493,"context_line":"        :raises: MissingParameterValue if node is missing one or more required"},{"line_number":494,"context_line":"            parameters"},{"line_number":495,"context_line":"        \"\"\""},{"line_number":496,"context_line":"        pass"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":""},{"line_number":499,"context_line":"class PowerInterface(BaseInterface):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_24912848","line":496,"in_reply_to":"3fa0c359_4cd584e4","updated":"2018-02-09 10:27:23.000000000","message":"Done","commit_id":"5466e354a44e417093e7fd1123c945d757418fb1"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"9e381b9752e79a8c5ea300ee7120a9ab70bbc5c1","unresolved":false,"context_lines":[{"line_number":490,"context_line":"        \"\"\"Validate that the node has required properties for rescue."},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"        :param task: a TaskManager instance with the node being checked"},{"line_number":493,"context_line":"        :raises: MissingParameterValue if node is missing one or more required"},{"line_number":494,"context_line":"            parameters"},{"line_number":495,"context_line":"        :raises: UnsupportedDriverExtension"},{"line_number":496,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa0c359_2b62090b","line":493,"updated":"2018-02-13 15:37:25.000000000","message":"we probably should have included (or used) InvalidParameterValue, since MissingParameterValue inherits from InvalidParameterValue.","commit_id":"1c162058e3f20c89716290360b3c54024429ee64"}],"ironic/drivers/modules/agent.py":[{"author":{"_account_id":13689,"name":"Hironori Shiina","email":"Hironori.Shiina@fujitsu.com","username":"shiina"},"change_message_id":"544cd3e26e65063eba6631d9c353090160e4ddad","unresolved":false,"context_lines":[{"line_number":765,"context_line":"        \"\"\""},{"line_number":766,"context_line":"        # Validate rescuing network"},{"line_number":767,"context_line":"        task.driver.network.validate_rescue(task)"},{"line_number":768,"context_line":"        # Validate boot properties related to rescue"},{"line_number":769,"context_line":"        task.driver.boot.validate_rescue(task)"},{"line_number":770,"context_line":""},{"line_number":771,"context_line":"        node \u003d task.node"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_6cd2c002","line":768,"updated":"2018-02-09 06:00:23.000000000","message":"We need to see CONF.agent.manage_agent_boot here or in validate_rescue().","commit_id":"5466e354a44e417093e7fd1123c945d757418fb1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f87031ae1645881d6d1b98ceae88450dfb74611d","unresolved":false,"context_lines":[{"line_number":765,"context_line":"        \"\"\""},{"line_number":766,"context_line":"        # Validate rescuing network"},{"line_number":767,"context_line":"        task.driver.network.validate_rescue(task)"},{"line_number":768,"context_line":"        # Validate boot properties related to rescue"},{"line_number":769,"context_line":"        task.driver.boot.validate_rescue(task)"},{"line_number":770,"context_line":""},{"line_number":771,"context_line":"        node \u003d task.node"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa0c359_a48a18bc","line":768,"in_reply_to":"3fa0c359_6cd2c002","updated":"2018-02-09 10:27:23.000000000","message":"Done","commit_id":"5466e354a44e417093e7fd1123c945d757418fb1"}]}
