)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"4bd925a947bfbf6f070f2021d556038ede45158d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Devananda van der Veen \u003cdevananda.vdv@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-05-22 15:04:43 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add spec for the deprecation of the baremetal driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I2a9e6ca2f19d5b0f80954cdec45a9eca17960fa1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7adec928_1aa5d9b4","line":7,"updated":"2014-05-23 09:19:25.000000000","message":"The title of the commit message should match the title of the spec document.\n\nThe first paragraph intro of the spec document should also be used in the commit message body.","commit_id":"61026e464c9b08a7bd1b09c70515984a99524117"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"7a26b012c17e3d211b00c25c06cd55e6d62a2ce4","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Devananda van der Veen \u003cdevananda.vdv@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-05-22 15:04:43 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add spec for the deprecation of the baremetal driver"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I2a9e6ca2f19d5b0f80954cdec45a9eca17960fa1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7adec928_b555cbc7","line":7,"in_reply_to":"7adec928_1aa5d9b4","updated":"2014-05-23 16:19:00.000000000","message":"Done","commit_id":"61026e464c9b08a7bd1b09c70515984a99524117"}],"specs/juno/deprecate-baremetal-driver.rst":[{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"0803464698f4233b4d0772a45826eeb11c34107e","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* create empty ironic database"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"* extract data from nova_bm and import to ironic, using the provided tool"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"* start ironic services"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_844fc3bd","line":75,"updated":"2014-05-23 15:22:24.000000000","message":"So at this point would we be running an system configured with Ironic or BM ?    I\u0027m guessing Ironic (so that the empty DB exists) and counting on still having the BM tables available in Nova.   \n\nThe tool might need to support different accounr logins into MySQL for Nova and Ironic","commit_id":"61026e464c9b08a7bd1b09c70515984a99524117"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"7a26b012c17e3d211b00c25c06cd55e6d62a2ce4","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* create empty ironic database"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"* extract data from nova_bm and import to ironic, using the provided tool"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"* start ironic services"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_95352fdd","line":75,"in_reply_to":"7adec928_844fc3bd","updated":"2014-05-23 16:19:00.000000000","message":"at this point, nova-compute would still be configured with the nova.virt.baremetal driver -- though, ideally, all the nova-compute services would be stopped, or in some other maintenance state which prevented any activity.\n\nFair point about needing different mysql credentials","commit_id":"61026e464c9b08a7bd1b09c70515984a99524117"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"0803464698f4233b4d0772a45826eeb11c34107e","unresolved":false,"context_lines":[{"line_number":96,"context_line":"  via Ironic\u0027s REST API. This would require ironic\u0027s REST API to accept nodes"},{"line_number":97,"context_line":"  that have non-null provision_state and power_state, which it expressly"},{"line_number":98,"context_line":"  does not allow today. This change would require significant changes"},{"line_number":99,"context_line":"  to the provisioning API and state management within the conductor service."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Data model impact"},{"line_number":102,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_c48e2bd0","line":99,"updated":"2014-05-23 15:22:24.000000000","message":"That may be harder - but it would also provide a path for introducing Ironic into existing (non Nova BM) deployments, which I think will be an often asked for use case.","commit_id":"61026e464c9b08a7bd1b09c70515984a99524117"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"7a26b012c17e3d211b00c25c06cd55e6d62a2ce4","unresolved":false,"context_lines":[{"line_number":96,"context_line":"  via Ironic\u0027s REST API. This would require ironic\u0027s REST API to accept nodes"},{"line_number":97,"context_line":"  that have non-null provision_state and power_state, which it expressly"},{"line_number":98,"context_line":"  does not allow today. This change would require significant changes"},{"line_number":99,"context_line":"  to the provisioning API and state management within the conductor service."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Data model impact"},{"line_number":102,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7adec928_d5b41737","line":99,"in_reply_to":"7adec928_c48e2bd0","updated":"2014-05-23 16:19:00.000000000","message":"Allowing Ironic to \"take over\" hardware -- and continue to support what ever is running on that hardware -- which was PXE booted by something entirely different is an interesting feature. It\u0027s impossible to plan for all the complications that would arise from importing deployments from unknown, external tools.\n\nAlso, I don\u0027t see what difference that DB vs API input will make in that capability.","commit_id":"61026e464c9b08a7bd1b09c70515984a99524117"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"cddcd1c71a8adac5b1701045255c6d0d3e62c7f5","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"The proposed upgrade process should follow this path:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* build ironic deploy ramdisk and load it in glance"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* create empty ironic database"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7adec928_f04da173","line":67,"updated":"2014-05-23 16:51:45.000000000","message":"Picking up on my earlier point, if you do the migration after Ironic has been started (need to be ready for this to have the DB created) and after Nova has been re-configured to use Ironic then there is no risk of Nova updating the BM tables while the migration is in flight.  \n\nEither way I think you need to make it explicit in here when Nova is expected to be switched from BM to Ironic","commit_id":"67b08a7f720dfd7ac6bf35abdb417d5e2545ea26"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"2987ddef3f3c4d9178a97c5ba0a4535eb9818fee","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"The proposed upgrade process should follow this path:"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* build ironic deploy ramdisk and load it in glance"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"* create empty ironic database"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7adec928_08a02142","line":67,"in_reply_to":"7adec928_f04da173","updated":"2014-05-23 19:23:50.000000000","message":"Phil, I believe this revision makes it clear when each service should be stopped / started. See line 73 (stop nova-compute), line 81 (start ironic), and line 88 (start nova-compute).\n\nAs far as your suggestion to start Ironic and switch Nova to the Ironic driver *prior* to  performing the data migration, this exposes several other situations which would need to be addressed:\n\n- nova and/or ironic attempting to provision nodes prior to, or during, the data migration\n- ironic having incomplete information about nodes that it is supposed to manage, when a periodic task starts up midway through the migration\n- the migration being aborted by the user part-way through, causing ironic to remain running with inconsistent data\n- what happens if some hardware is manually entered in ironic before the migration, which is then duplicated during the migration?\n- what happens if some hardware is manually entered in ironic before the migration, which does not duplicate the nova_bm node information, but is actively being deployed while the migration is run?\n\n\nWhile handling these scenarios is not impossible, it\u0027s a very significant additional burden to account for all the edge cases. A stop-migrate-start upgrade is must easier to perform in production than a stop-start-migrate upgrade -- the cost is a brief interruption in the end-user\u0027s ability to create or delete instances, which is, as far as I know, a widely accepted upgrade cost that decreases upgrade complexity.","commit_id":"67b08a7f720dfd7ac6bf35abdb417d5e2545ea26"},{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"b9fde4bb4965af6c12954138d005f7ecc8657500","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"This proposal is to add the following to the Nova codebase:"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Add a tool which will import both nova.virt.baremetal.db.api and"},{"line_number":47,"context_line":"  ironic.db.api, extract the current state from the `nova_bm` database,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_91199a7c","line":44,"updated":"2014-06-18 18:47:20.000000000","message":"IMO we should consider creating a separate repository for the upgrade tool. That\u0027ll allow to manage all the dependencies (both Nova\u0027s and Ironic\u0027s ones) in the same manner.","commit_id":"437d92b0a0515ffb023265474fe6e10f57ffbe9c"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"d899ea5ca55fdd05e6d12e32359efd07af198dd3","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"This proposal is to add the following to the Nova codebase:"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"* Add a tool which will import both nova.virt.baremetal.db.api and"},{"line_number":47,"context_line":"  ironic.db.api, extract the current state from the `nova_bm` database,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_1b8d6e31","line":44,"in_reply_to":"1ae5cdf2_91199a7c","updated":"2014-06-20 02:53:49.000000000","message":"I\u0027m curious how this was handled for Cinder, and what the plan is for Neutron\u0027s migration tooling.... \n\nNote that it is not possible to delete an openstack/* code repository after it\u0027s been created, whereas we intend to delete this tool a few cycles from now. \n\nI think the tool will need to be released with the version of Nova that first supports the Ironic driver.  Thus my initial proposal to add it to the Nova tree. I\u0027m fine if the Nova team would rather it live somewhere else, too -- as long as we can get it released at the same time.","commit_id":"437d92b0a0515ffb023265474fe6e10f57ffbe9c"},{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"b9fde4bb4965af6c12954138d005f7ecc8657500","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Additionaly, one change will be made to Ironic to facilitate this:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* Add boolean field `nodes`.`imported_from_nova_bm` to ironic database."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"At the end of the release cycle following the cycle in which this work is"},{"line_number":60,"context_line":"completed, all of the above will be removed from the code base. Additionally,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_915efa11","line":57,"updated":"2014-06-18 18:47:20.000000000","message":"Maybe use Node\u0027s extra field for that?","commit_id":"437d92b0a0515ffb023265474fe6e10f57ffbe9c"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"d899ea5ca55fdd05e6d12e32359efd07af198dd3","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Additionaly, one change will be made to Ironic to facilitate this:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* Add boolean field `nodes`.`imported_from_nova_bm` to ironic database."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"At the end of the release cycle following the cycle in which this work is"},{"line_number":60,"context_line":"completed, all of the above will be removed from the code base. Additionally,"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_c0c5d75c","line":57,"in_reply_to":"1ae5cdf2_915efa11","updated":"2014-06-20 02:53:49.000000000","message":"Done","commit_id":"437d92b0a0515ffb023265474fe6e10f57ffbe9c"},{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"b9fde4bb4965af6c12954138d005f7ecc8657500","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"NOTE: In Ironic, this will require an extra field in the database to indicate"},{"line_number":118,"context_line":"nodes that were deployed by nova.virt.baremetal and imported into Ironic. This"},{"line_number":119,"context_line":"field should default to False, and should be set to False during both the"},{"line_number":120,"context_line":"tear_down and deploy methods. It should be set to True only by the data"},{"line_number":121,"context_line":"migration script. This field could be dropped from the ironic database after"},{"line_number":122,"context_line":"one release."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_91ed1af3","line":119,"updated":"2014-06-18 18:47:20.000000000","message":"If we use Node\u0027s extra field, the DB model in Ironic won\u0027t change.","commit_id":"437d92b0a0515ffb023265474fe6e10f57ffbe9c"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"d899ea5ca55fdd05e6d12e32359efd07af198dd3","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"NOTE: In Ironic, this will require an extra field in the database to indicate"},{"line_number":118,"context_line":"nodes that were deployed by nova.virt.baremetal and imported into Ironic. This"},{"line_number":119,"context_line":"field should default to False, and should be set to False during both the"},{"line_number":120,"context_line":"tear_down and deploy methods. It should be set to True only by the data"},{"line_number":121,"context_line":"migration script. This field could be dropped from the ironic database after"},{"line_number":122,"context_line":"one release."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_bbaaba6e","line":119,"in_reply_to":"1ae5cdf2_91ed1af3","updated":"2014-06-20 02:53:49.000000000","message":"Done","commit_id":"437d92b0a0515ffb023265474fe6e10f57ffbe9c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e659a4becd192d51a4bc5ada6996ebac229bbebd","unresolved":false,"context_lines":[{"line_number":169,"context_line":"TBD"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Primary assignee:"},{"line_number":172,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Other contributors:"},{"line_number":175,"context_line":"  \u003claunchpad-id or None\u003e"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_17c9115a","line":172,"updated":"2014-06-18 11:18:32.000000000","message":"Really want this filled in before we merge this.","commit_id":"437d92b0a0515ffb023265474fe6e10f57ffbe9c"},{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"b9fde4bb4965af6c12954138d005f7ecc8657500","unresolved":false,"context_lines":[{"line_number":169,"context_line":"TBD"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Primary assignee:"},{"line_number":172,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Other contributors:"},{"line_number":175,"context_line":"  \u003claunchpad-id or None\u003e"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_b1e05627","line":172,"in_reply_to":"1ae5cdf2_17c9115a","updated":"2014-06-18 18:47:20.000000000","message":"I\u0027m actually working on that. So you can put romcheg.","commit_id":"437d92b0a0515ffb023265474fe6e10f57ffbe9c"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"d899ea5ca55fdd05e6d12e32359efd07af198dd3","unresolved":false,"context_lines":[{"line_number":169,"context_line":"TBD"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Primary assignee:"},{"line_number":172,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Other contributors:"},{"line_number":175,"context_line":"  \u003claunchpad-id or None\u003e"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_bbe2ba9d","line":172,"in_reply_to":"1ae5cdf2_b1e05627","updated":"2014-06-20 02:53:49.000000000","message":"Done","commit_id":"437d92b0a0515ffb023265474fe6e10f57ffbe9c"},{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"b9fde4bb4965af6c12954138d005f7ecc8657500","unresolved":false,"context_lines":[{"line_number":172,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Other contributors:"},{"line_number":175,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"Work Items"},{"line_number":178,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_71c16e7f","line":175,"updated":"2014-06-18 18:47:20.000000000","message":"Probably we need someone who is familiar with Grenade in order to do testing ASAP.","commit_id":"437d92b0a0515ffb023265474fe6e10f57ffbe9c"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"d899ea5ca55fdd05e6d12e32359efd07af198dd3","unresolved":false,"context_lines":[{"line_number":172,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Other contributors:"},{"line_number":175,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"Work Items"},{"line_number":178,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_60e883b3","line":175,"in_reply_to":"1ae5cdf2_71c16e7f","updated":"2014-06-20 02:53:49.000000000","message":"Or we need someone to work with the QA team to learn grenade quickly.","commit_id":"437d92b0a0515ffb023265474fe6e10f57ffbe9c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e659a4becd192d51a4bc5ada6996ebac229bbebd","unresolved":false,"context_lines":[{"line_number":219,"context_line":""},{"line_number":220,"context_line":"* request that Nova restart the instance"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"* confirm that Ironic restarted the instance and that it booted properly"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1ae5cdf2_b7df7d0b","line":222,"updated":"2014-06-18 11:18:32.000000000","message":"Ouch, its the right thing to do though.","commit_id":"437d92b0a0515ffb023265474fe6e10f57ffbe9c"},{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"8a6acaefedce27566b43b6b5a2afa734e6b934d8","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Upgrade from a nova \"baremetal\" deployment to Ironic"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/ironic/+spec/deprecate-baremetal-driver"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This specification describes the requirements to providing an upgrade path from"},{"line_number":14,"context_line":"a deployment of the nova.virt.baremetal driver to the nova.virt.ironic driver."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1ae5cdf2_69ac7eef","line":11,"updated":"2014-06-24 13:00:24.000000000","message":"It\u0027s actually here: https://blueprints.launchpad.net/nova/+spec/deprecate-baremetal-driver","commit_id":"df4ecdfc7f1320c19922771336bc78d99bc8b869"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"f741bec5a7ef28c9c72b79130fced2ac534c8c71","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Upgrade from a nova \"baremetal\" deployment to Ironic"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/ironic/+spec/deprecate-baremetal-driver"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This specification describes the requirements to providing an upgrade path from"},{"line_number":14,"context_line":"a deployment of the nova.virt.baremetal driver to the nova.virt.ironic driver."}],"source_content_type":"text/x-rst","patch_set":8,"id":"baada198_fbfb47be","line":11,"in_reply_to":"1ae5cdf2_69ac7eef","updated":"2014-07-07 17:09:32.000000000","message":"Done","commit_id":"df4ecdfc7f1320c19922771336bc78d99bc8b869"},{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"cefb04ea6f3baf727543b21036a7f30611c966d6","unresolved":false,"context_lines":[{"line_number":53,"context_line":"The proposed tooling consists of the following components:"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* A tool which will import both nova.virt.baremetal.db.api and"},{"line_number":56,"context_line":"  ironic.db.api, extract the current state from the `nova_bm` database,"},{"line_number":57,"context_line":"  convert it to Ironic\u0027s data structures and populate the `ironic` database."},{"line_number":58,"context_line":"  This tool will add or update the `node`.`extra` {imported_from_nova} key"},{"line_number":59,"context_line":"  to a value of True for any nodes with an active instance deployed to them,"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1ae5cdf2_9314c2a0","line":56,"updated":"2014-06-23 14:29:38.000000000","message":"In the past importing the code directly from both distributions caused some conflicts because of singletons. So I had to copy models from one of the projects. I will check whether it is the same now.","commit_id":"df4ecdfc7f1320c19922771336bc78d99bc8b869"},{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"058e06893de39a5f7854cb49949a5ccc72a4d2a0","unresolved":false,"context_lines":[{"line_number":53,"context_line":"The proposed tooling consists of the following components:"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* A tool which will import both nova.virt.baremetal.db.api and"},{"line_number":56,"context_line":"  ironic.db.api, extract the current state from the `nova_bm` database,"},{"line_number":57,"context_line":"  convert it to Ironic\u0027s data structures and populate the `ironic` database."},{"line_number":58,"context_line":"  This tool will add or update the `node`.`extra` {imported_from_nova} key"},{"line_number":59,"context_line":"  to a value of True for any nodes with an active instance deployed to them,"}],"source_content_type":"text/x-rst","patch_set":8,"id":"1ae5cdf2_843451e0","line":56,"in_reply_to":"1ae5cdf2_9314c2a0","updated":"2014-06-24 13:21:54.000000000","message":"That seems to work now.","commit_id":"df4ecdfc7f1320c19922771336bc78d99bc8b869"},{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"058e06893de39a5f7854cb49949a5ccc72a4d2a0","unresolved":false,"context_lines":[{"line_number":76,"context_line":"* stop nova-compute services which are configured to use the"},{"line_number":77,"context_line":"  nova.virt.baremetal driver"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* update flavor metadata in glance to reference new deploy kernel \u0026 ramdisk"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* extract data from nova_bm and import to ironic, using the provided tool."},{"line_number":82,"context_line":"  This tool must accept separate database credentials for each database."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1ae5cdf2_e92eceaa","line":79,"updated":"2014-06-24 13:21:54.000000000","message":"Flavor metadata is stored in Nova, not in Glance.","commit_id":"df4ecdfc7f1320c19922771336bc78d99bc8b869"},{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"a9457b69c75c2e9311491680db4713067ad8eebc","unresolved":false,"context_lines":[{"line_number":76,"context_line":"* stop nova-compute services which are configured to use the"},{"line_number":77,"context_line":"  nova.virt.baremetal driver"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* update flavor metadata in glance to reference new deploy kernel \u0026 ramdisk"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* extract data from nova_bm and import to ironic, using the provided tool."},{"line_number":82,"context_line":"  This tool must accept separate database credentials for each database."}],"source_content_type":"text/x-rst","patch_set":8,"id":"baada198_472d5ffd","line":79,"in_reply_to":"1ae5cdf2_28007434","updated":"2014-07-05 10:31:27.000000000","message":"I don\u0027t think so. Image metadata is not updated. Instead all new deploy kernel and ramdisk are uploaded to Glance and so references to them have to be updated in the flavor metadata, aka, baremetal:deploy_kernel_id and baremetal:deploy_ramdisk_id.","commit_id":"df4ecdfc7f1320c19922771336bc78d99bc8b869"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"dc31423d206b2f6235ad3ecb8bc8ac9b760f03a1","unresolved":false,"context_lines":[{"line_number":76,"context_line":"* stop nova-compute services which are configured to use the"},{"line_number":77,"context_line":"  nova.virt.baremetal driver"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* update flavor metadata in glance to reference new deploy kernel \u0026 ramdisk"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* extract data from nova_bm and import to ironic, using the provided tool."},{"line_number":82,"context_line":"  This tool must accept separate database credentials for each database."}],"source_content_type":"text/x-rst","patch_set":8,"id":"1ae5cdf2_28007434","line":79,"in_reply_to":"1ae5cdf2_e92eceaa","updated":"2014-06-25 19:52:05.000000000","message":"Perhaps image metadata was intended?","commit_id":"df4ecdfc7f1320c19922771336bc78d99bc8b869"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"f741bec5a7ef28c9c72b79130fced2ac534c8c71","unresolved":false,"context_lines":[{"line_number":76,"context_line":"* stop nova-compute services which are configured to use the"},{"line_number":77,"context_line":"  nova.virt.baremetal driver"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* update flavor metadata in glance to reference new deploy kernel \u0026 ramdisk"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* extract data from nova_bm and import to ironic, using the provided tool."},{"line_number":82,"context_line":"  This tool must accept separate database credentials for each database."}],"source_content_type":"text/x-rst","patch_set":8,"id":"baada198_7b2f373f","line":79,"in_reply_to":"baada198_472d5ffd","updated":"2014-07-07 17:09:32.000000000","message":"Roman is correct - this is flavor metadata stored in Nova. I\u0027ve corrected the spec.","commit_id":"df4ecdfc7f1320c19922771336bc78d99bc8b869"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2c094bd49cd98ed8dd2345f81656e34ea9929999","unresolved":false,"context_lines":[{"line_number":45,"context_line":"nova.virt.baremetal driver to the new nova.virt.ironic driver."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"At the end of the release cycle following the cycle in which this work is"},{"line_number":48,"context_line":"completed, the nova.virt.baremetal driver and all related artefacts (eg, the"},{"line_number":49,"context_line":"tooling described in this proposal, the baremetal virt driver and host manager,"},{"line_number":50,"context_line":"database schema and migration tests, and the API extension) will be deleted"},{"line_number":51,"context_line":"from the Nova codebase."}],"source_content_type":"text/x-rst","patch_set":9,"id":"baada198_a8f01cca","line":48,"updated":"2014-07-17 20:15:05.000000000","message":"s/artefacts/artifacts/","commit_id":"ae2790fd8c59f086732c4d1d8d3841a4238061a0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2c094bd49cd98ed8dd2345f81656e34ea9929999","unresolved":false,"context_lines":[{"line_number":48,"context_line":"completed, the nova.virt.baremetal driver and all related artefacts (eg, the"},{"line_number":49,"context_line":"tooling described in this proposal, the baremetal virt driver and host manager,"},{"line_number":50,"context_line":"database schema and migration tests, and the API extension) will be deleted"},{"line_number":51,"context_line":"from the Nova codebase."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The proposed tooling consists of the following components:"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"baada198_48b780f5","line":51,"updated":"2014-07-17 20:15:05.000000000","message":"Hmm, I wonder what the precedent is for deleting an API extension? Other drivers we\u0027ve previously deprecated and removed haven\u0027t had API extensions to go with them.\n\nAre we not able to proxy the API to ironic in the same way we did for glance, cinder, etc? If we couldn\u0027t drop those APIs (and I think we\u0027ve established that we can\u0027t, at least for a long time), I don\u0027t see how we can drop this one.","commit_id":"ae2790fd8c59f086732c4d1d8d3841a4238061a0"},{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"576ab1eef487f46691bb927d4b96a707468bd5fe","unresolved":false,"context_lines":[{"line_number":48,"context_line":"completed, the nova.virt.baremetal driver and all related artefacts (eg, the"},{"line_number":49,"context_line":"tooling described in this proposal, the baremetal virt driver and host manager,"},{"line_number":50,"context_line":"database schema and migration tests, and the API extension) will be deleted"},{"line_number":51,"context_line":"from the Nova codebase."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The proposed tooling consists of the following components:"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"baada198_eb6e9963","line":51,"in_reply_to":"baada198_2efec338","updated":"2014-07-31 07:58:47.000000000","message":"If we don\u0027t delete the old stuff, how would we ensure none uses it?","commit_id":"ae2790fd8c59f086732c4d1d8d3841a4238061a0"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f552e93b59eadfab5a79b604d385558e9f3c17b9","unresolved":false,"context_lines":[{"line_number":48,"context_line":"completed, the nova.virt.baremetal driver and all related artefacts (eg, the"},{"line_number":49,"context_line":"tooling described in this proposal, the baremetal virt driver and host manager,"},{"line_number":50,"context_line":"database schema and migration tests, and the API extension) will be deleted"},{"line_number":51,"context_line":"from the Nova codebase."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"The proposed tooling consists of the following components:"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"baada198_2efec338","line":51,"in_reply_to":"baada198_48b780f5","updated":"2014-07-24 15:07:37.000000000","message":"+1 for proxy I am afraid, we shouldn\u0027t delete that without a good reason.","commit_id":"ae2790fd8c59f086732c4d1d8d3841a4238061a0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2c094bd49cd98ed8dd2345f81656e34ea9929999","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  their instances are deleted."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"* A flavor update tool which will update the extra_specs of baremetal"},{"line_number":64,"context_line":"  flavors to reference new ironic-appropriate deploy kernel \u0026 ramdisk."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* Process documentation aimed at deployers."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"baada198_e8a054a7","line":64,"range":{"start_line":64,"start_character":46,"end_line":64,"end_character":52},"updated":"2014-07-17 20:15:05.000000000","message":"s/deploy/deployed/ ?","commit_id":"ae2790fd8c59f086732c4d1d8d3841a4238061a0"},{"author":{"_account_id":6623,"name":"Roman Prykhodchenko","email":"me@romcheg.me","username":"prykhodchenko"},"change_message_id":"576ab1eef487f46691bb927d4b96a707468bd5fe","unresolved":false,"context_lines":[{"line_number":61,"context_line":"  their instances are deleted."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"* A flavor update tool which will update the extra_specs of baremetal"},{"line_number":64,"context_line":"  flavors to reference new ironic-appropriate deploy kernel \u0026 ramdisk."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* Process documentation aimed at deployers."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"baada198_d05fc00d","line":64,"in_reply_to":"baada198_e8a054a7","updated":"2014-07-31 07:58:47.000000000","message":"No, deploy kernel and deploy ramdisk are the terms used by Ironic for items which are used for deploying images to bm-nodes","commit_id":"ae2790fd8c59f086732c4d1d8d3841a4238061a0"},{"author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"change_message_id":"11801f1014c0daf299d3c8f66dae704a02adae1b","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"The proposed upgrade process using this tooling would follow this path:"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"* build ironic deploy ramdisk and load it in glance"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* create empty ironic database"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"baada198_29a16495","line":70,"range":{"start_line":70,"start_character":15,"end_line":70,"end_character":21},"updated":"2014-07-24 12:51:55.000000000","message":"load it into glance","commit_id":"ae2790fd8c59f086732c4d1d8d3841a4238061a0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2c094bd49cd98ed8dd2345f81656e34ea9929999","unresolved":false,"context_lines":[{"line_number":94,"context_line":"* observe nova-compute log files to ensure it has connected to ironic and is"},{"line_number":95,"context_line":"  reporting available resources accurately"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"* end maintenance period"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"Alternatives"},{"line_number":100,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"baada198_e88e9426","line":97,"updated":"2014-07-17 20:15:05.000000000","message":"Is this for all the nodes in a given nova-bm deployment? I don\u0027t think that\u0027s necessarily a problem, but I think it\u0027s worth calling out specifically.","commit_id":"ae2790fd8c59f086732c4d1d8d3841a4238061a0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2c094bd49cd98ed8dd2345f81656e34ea9929999","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"No data model impact to support the migration."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"The nova_bm schema may be dropped, along will all supporting DB migration"},{"line_number":121,"context_line":"tests, after the deprecation period is complete."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"baada198_68c9a459","line":120,"updated":"2014-07-17 20:15:05.000000000","message":"s/will/with/","commit_id":"ae2790fd8c59f086732c4d1d8d3841a4238061a0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2c094bd49cd98ed8dd2345f81656e34ea9929999","unresolved":false,"context_lines":[{"line_number":193,"context_line":"It also depends on the capability of the ironic-conductor processes to \"take"},{"line_number":194,"context_line":"over\" an instance deployed by another conductor. This capability will be"},{"line_number":195,"context_line":"leveraged to allow ironic-conductor to take over instances deployed by"},{"line_number":196,"context_line":"nova-baremetal."},{"line_number":197,"context_line":""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":9,"id":"baada198_c8d550e6","line":196,"updated":"2014-07-17 20:15:05.000000000","message":"Is there an ironic spec or blueprint for this? What state is this effort in?","commit_id":"ae2790fd8c59f086732c4d1d8d3841a4238061a0"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"f552e93b59eadfab5a79b604d385558e9f3c17b9","unresolved":false,"context_lines":[{"line_number":214,"context_line":""},{"line_number":215,"context_line":"* request that Nova restart the instance"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"* confirm that Ironic restarted the instance and that it booted properly"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":9,"id":"baada198_b13b129b","line":217,"updated":"2014-07-24 15:07:37.000000000","message":"awesome.","commit_id":"ae2790fd8c59f086732c4d1d8d3841a4238061a0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5750ce600755ce2851b18d77fcc8ef8366fc2170","unresolved":false,"context_lines":[{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"At the start of a release cycle following the cycle in which this work is"},{"line_number":45,"context_line":"completed, the artifacts of baremetal will be delete from the Nova tree."},{"line_number":46,"context_line":"This includes: the baremetal virt driver, baremetal host manager, \u0027nova_bm\u0027"},{"line_number":47,"context_line":"database schema and its migration tests."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"baada198_03601133","line":45,"updated":"2014-08-07 17:28:53.000000000","message":"nit: s/delete/deleted/","commit_id":"0a3c0ddc0f0ff96703d981c77199d7d326adb9c9"},{"author":{"_account_id":360,"name":"Dan Prince","email":"dprince@redhat.com","username":"dan-prince"},"change_message_id":"661ff87eeb3d5a63a8a074750dadd167d470ce33","unresolved":false,"context_lines":[{"line_number":47,"context_line":"database schema and its migration tests."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"The API extension will be replaced by a read-only proxy API. This will forward"},{"line_number":50,"context_line":"the following API commands to Ironic:"},{"line_number":51,"context_line":"- baremetal-interface-list"},{"line_number":52,"context_line":"- baremetal-node-list"},{"line_number":53,"context_line":"- baremetal-node-show"}],"source_content_type":"text/x-rst","patch_set":13,"id":"baada198_0508f525","line":50,"updated":"2014-08-08 13:37:09.000000000","message":"I don\u0027t see any reason why we couldn\u0027t remove the API extension for bare metal nodes. It is an \u0027admin only\u0027 extension right? So it would have little impact on users. Also, the Ironic interfaces are already much superior for management so there is no reason you wouldn\u0027t go just use those instead... If the calls map cleanly then maybe (a proxy), otherwise I think spending the time to proxy API calls is just work for nothing.\n\nTo me the proxy work is unrelated to deprecation. People are already using Ironic and no-one is complaining yet so I think that proves the point here that doing a proxy here isn\u0027t required.","commit_id":"0a3c0ddc0f0ff96703d981c77199d7d326adb9c9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5750ce600755ce2851b18d77fcc8ef8366fc2170","unresolved":false,"context_lines":[{"line_number":72,"context_line":"Data model impact"},{"line_number":73,"context_line":"-----------------"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"The nova_bm schema and all supporting DB migration tests may be deleted."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"REST API impact"},{"line_number":78,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"baada198_23b3559b","line":75,"updated":"2014-08-07 17:28:53.000000000","message":"I wonder if we need some sort of thing documented about removing the nova_bm database after migration? I guess most people will know to remove it, but it might be good to point it out so it\u0027s not just sitting in people\u0027s databases forever. Dunno where the right place to do this is, just thinking out loud.","commit_id":"0a3c0ddc0f0ff96703d981c77199d7d326adb9c9"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"b126d53efe213f325acea921c9102b43cb584653","unresolved":false,"context_lines":[{"line_number":72,"context_line":"Data model impact"},{"line_number":73,"context_line":"-----------------"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"The nova_bm schema and all supporting DB migration tests may be deleted."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"REST API impact"},{"line_number":78,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"baada198_6fb859e8","line":75,"in_reply_to":"baada198_23b3559b","updated":"2014-08-12 04:01:06.000000000","message":"Do we? Does that need to be called out somewhere in this spec, or just called out via a DocImpact flag on that commit?","commit_id":"0a3c0ddc0f0ff96703d981c77199d7d326adb9c9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5750ce600755ce2851b18d77fcc8ef8366fc2170","unresolved":false,"context_lines":[{"line_number":87,"context_line":"- baremetal-node-create"},{"line_number":88,"context_line":"- baremetal-node-delete"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The endpoints for these methods will return a 404 NOT FOUND."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Notifications impact"},{"line_number":93,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"baada198_83550121","line":90,"updated":"2014-08-07 17:28:53.000000000","message":"Is 404 the right code? We could probably argue about it for a long time, and it\u0027s not critical to the spec approval I think. However, I think I heard 403 mentioned at one point, which seems better than 404 to me.\n\nAnyway, hopefully we can get some API dudes to comment on this in parallel.","commit_id":"0a3c0ddc0f0ff96703d981c77199d7d326adb9c9"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"b126d53efe213f325acea921c9102b43cb584653","unresolved":false,"context_lines":[{"line_number":87,"context_line":"- baremetal-node-create"},{"line_number":88,"context_line":"- baremetal-node-delete"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The endpoints for these methods will return a 404 NOT FOUND."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Notifications impact"},{"line_number":93,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"baada198_efcb8970","line":90,"in_reply_to":"baada198_83550121","updated":"2014-08-12 04:01:06.000000000","message":"I dunno -- let me know. Either way, that\u0027s an easy thing to address during the code review, too.","commit_id":"0a3c0ddc0f0ff96703d981c77199d7d326adb9c9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"5750ce600755ce2851b18d77fcc8ef8366fc2170","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"* reconfigure nova to use ironic, start ironic, and restart nova-compute"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"* run tempest"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"baada198_6308ed2e","line":181,"updated":"2014-08-07 17:28:53.000000000","message":"Wasn\u0027t there a step in here for \"make sure that a former BM node is now visible in ironic as an ironic node\" ? That\u0027s not part of tempest...","commit_id":"0a3c0ddc0f0ff96703d981c77199d7d326adb9c9"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"8c7e86fca53209ebc0e1039319e936404394cea2","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"* reconfigure nova to use ironic, start ironic, and restart nova-compute"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"* run tempest"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"baada198_f20bc52a","line":181,"in_reply_to":"baada198_6308ed2e","updated":"2014-08-08 13:29:45.000000000","message":"Tempest would fail if there are not 3 (serial) or 6 (parallel) nodes available in ironic. I think that\u0027s good enough, but we can certainly do a quick sanity check before starting tempest, if you think that\u0027s valuable.","commit_id":"0a3c0ddc0f0ff96703d981c77199d7d326adb9c9"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"b126d53efe213f325acea921c9102b43cb584653","unresolved":false,"context_lines":[{"line_number":178,"context_line":""},{"line_number":179,"context_line":"* reconfigure nova to use ironic, start ironic, and restart nova-compute"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"* run tempest"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"baada198_8f904d43","line":181,"in_reply_to":"baada198_f20bc52a","updated":"2014-08-12 04:01:06.000000000","message":"So - is that something you feel needs a separate step? I\u0027m looking for feedback here.\n\nIMO, tempest running against the data is good enough. I\u0027d rather not introduce another step for what I view as a trivial pre-check.","commit_id":"0a3c0ddc0f0ff96703d981c77199d7d326adb9c9"}]}
