)]}'
{"ironic/drivers/modules/agent.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"91f7d033801966027a3b5ac8d596f098e41a4a74","unresolved":false,"context_lines":[{"line_number":459,"context_line":"                else:"},{"line_number":460,"context_line":"                    deploy_opts \u003d None"},{"line_number":461,"context_line":"                task.driver.boot.prepare_ramdisk(task, deploy_opts)"},{"line_number":462,"context_line":"                if not task.driver.storage.should_write_image(task):"},{"line_number":463,"context_line":"                    return"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"            node.instance_info \u003d deploy_utils.build_instance_info_for_deploy("},{"line_number":466,"context_line":"                task)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_cc4b6585","line":463,"range":{"start_line":462,"start_character":16,"end_line":463,"end_character":26},"updated":"2017-06-29 14:40:39.000000000","message":"Moving the two lines below up to 457-458 removes the need for this.","commit_id":"f97e9d2e1b250f5af29524b3ec7fd29459584544"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"149b63cbfa341a09b61c5df4bc2c8c54b36d2563","unresolved":false,"context_lines":[{"line_number":462,"context_line":"                if not task.driver.storage.should_write_image(task):"},{"line_number":463,"context_line":"                    return"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"            node.instance_info \u003d deploy_utils.build_instance_info_for_deploy("},{"line_number":466,"context_line":"                task)"},{"line_number":467,"context_line":"            node.save()"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"    @METRICS.timer(\u0027AgentDeploy.clean_up\u0027)"},{"line_number":470,"context_line":"    @task_manager.require_exclusive_lock"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_5a883570","line":467,"range":{"start_line":465,"start_character":12,"end_line":467,"end_character":23},"updated":"2017-06-29 06:12:41.000000000","message":"These steps needs to be done before invoking task.driver.boot.prepare_ramdisk(). It needs to be moved @ L458","commit_id":"f97e9d2e1b250f5af29524b3ec7fd29459584544"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"91f7d033801966027a3b5ac8d596f098e41a4a74","unresolved":false,"context_lines":[{"line_number":462,"context_line":"                if not task.driver.storage.should_write_image(task):"},{"line_number":463,"context_line":"                    return"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"            node.instance_info \u003d deploy_utils.build_instance_info_for_deploy("},{"line_number":466,"context_line":"                task)"},{"line_number":467,"context_line":"            node.save()"},{"line_number":468,"context_line":""},{"line_number":469,"context_line":"    @METRICS.timer(\u0027AgentDeploy.clean_up\u0027)"},{"line_number":470,"context_line":"    @task_manager.require_exclusive_lock"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_cc624517","line":467,"range":{"start_line":465,"start_character":12,"end_line":467,"end_character":23},"in_reply_to":"3f1d235d_5a883570","updated":"2017-06-29 14:40:39.000000000","message":"+1","commit_id":"f97e9d2e1b250f5af29524b3ec7fd29459584544"}],"ironic/drivers/modules/pxe.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"91f7d033801966027a3b5ac8d596f098e41a4a74","unresolved":false,"context_lines":[{"line_number":474,"context_line":"            if not task.driver.storage.should_write_image(task):"},{"line_number":475,"context_line":"                # We have nothing else to do as this is handled in the"},{"line_number":476,"context_line":"                # backend storage system."},{"line_number":477,"context_line":"                return"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"        dhcp_opts \u003d pxe_utils.dhcp_options_for_instance(task)"},{"line_number":480,"context_line":"        provider \u003d dhcp_factory.DHCPFactory()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_4f12a75a","line":477,"updated":"2017-06-29 14:40:39.000000000","message":"nit: I really feel like we should turn the above pxe file check into something that is fired upon init, but it also makes sense to run/check here.  I guess bailing here makes sense in the grand scheme of things.","commit_id":"f97e9d2e1b250f5af29524b3ec7fd29459584544"},{"author":{"_account_id":11929,"name":"Michael Turek","email":"mjturek@linux.vnet.ibm.com","username":"mjturek"},"change_message_id":"5ffeb2b663ea7afa215010195ee158e6bc33c531","unresolved":false,"context_lines":[{"line_number":474,"context_line":"            if not task.driver.storage.should_write_image(task):"},{"line_number":475,"context_line":"                # We have nothing else to do as this is handled in the"},{"line_number":476,"context_line":"                # backend storage system."},{"line_number":477,"context_line":"                return"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"        dhcp_opts \u003d pxe_utils.dhcp_options_for_instance(task)"},{"line_number":480,"context_line":"        provider \u003d dhcp_factory.DHCPFactory()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_ba2a97e4","line":477,"in_reply_to":"3f1d235d_4f12a75a","updated":"2017-06-29 15:36:54.000000000","message":"Is the ipxe file generated really only dependent on configuration? +1 for just doing this in init if so. I\u0027ll dig  a bit","commit_id":"f97e9d2e1b250f5af29524b3ec7fd29459584544"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"9c072f3ba07f18daf297d67cd54b04f162745683","unresolved":false,"context_lines":[{"line_number":474,"context_line":"            if not task.driver.storage.should_write_image(task):"},{"line_number":475,"context_line":"                # We have nothing else to do as this is handled in the"},{"line_number":476,"context_line":"                # backend storage system."},{"line_number":477,"context_line":"                return"},{"line_number":478,"context_line":""},{"line_number":479,"context_line":"        dhcp_opts \u003d pxe_utils.dhcp_options_for_instance(task)"},{"line_number":480,"context_line":"        provider \u003d dhcp_factory.DHCPFactory()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f1d235d_245accf2","line":477,"in_reply_to":"3f1d235d_ba2a97e4","updated":"2017-06-30 12:52:55.000000000","message":"boot.ipxe is independent of the configuration.  We write the configuration out during deployment.  I think the prepare_instance method expects it to already be written where as the deployment path does not. That is likely where we have a difference between the two processes.","commit_id":"f97e9d2e1b250f5af29524b3ec7fd29459584544"}]}
