)]}'
{"specs/juno/long-running-deploy-ramdisks.rst":[{"author":{"_account_id":10202,"name":"Wan-yen Hsu","email":"wanyenhsu@gmail.com"},"change_message_id":"6c5ae0038c61fb659b29116c064cabc09f15a77b","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  deploy() tasks to the PXE driver\u0027s validate function. This will allow the"},{"line_number":40,"context_line":"  driver to decide what power states are valid for various actions."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Add a script to do a rolling reboot of unprovisioned nodes into a new version"},{"line_number":43,"context_line":"  of the deploy ramdisk."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* Add the ability to automatically reboot a node when the deploy ramdisk or"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_03d8e651","line":42,"updated":"2014-07-24 22:11:41.000000000","message":"Wan-yen\r\n  Is this script outside of Ironic or a Ironic CLI/API will be defined?  I am thinking about supporting  iLO vritual media IPA deploy driver  as specified in https://review.openstack.org/#/c/108445/ to boot up IPA.  Will it need a CLI/API to trigger IPA boot-up?  Is the long-running ramdisk targeted for Juno?  Can you  take a look at  https://review.openstack.org/#/c/108445 and see whether it meets IPA needs for Juno? Thanks!","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"a2f9e5714134571432fcb745fa34c840597e213e","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  deploy() tasks to the PXE driver\u0027s validate function. This will allow the"},{"line_number":40,"context_line":"  driver to decide what power states are valid for various actions."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Add a script to do a rolling reboot of unprovisioned nodes into a new version"},{"line_number":43,"context_line":"  of the deploy ramdisk."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* Add the ability to automatically reboot a node when the deploy ramdisk or"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_1247001e","line":42,"updated":"2014-07-21 22:50:42.000000000","message":"Where will this script belong to ? python-ironicclient ??\n\nCould it be a vendor-passthru call instead ?","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":10626,"name":"Russell Haering","email":"russellhaering@gmail.com","username":"russell_h"},"change_message_id":"454d2f3b7a91102e50a25021af86e00fae50af23","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  deploy() tasks to the PXE driver\u0027s validate function. This will allow the"},{"line_number":40,"context_line":"  driver to decide what power states are valid for various actions."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Add a script to do a rolling reboot of unprovisioned nodes into a new version"},{"line_number":43,"context_line":"  of the deploy ramdisk."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* Add the ability to automatically reboot a node when the deploy ramdisk or"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_a0b87379","line":42,"in_reply_to":"baada198_03d8e651","updated":"2014-07-30 02:14:26.000000000","message":"IMO this is more of an ops tool, which should just be scripted against the API. Nova seems to store things like this in \u0027tools\u0027, sometimes in a driver-specific subdirectory. Maybe tools/agent/reboot_unprovisioned.py?","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b8d1c440119a278518b952a87fd81142885a288d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"  of the deploy ramdisk."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"* Add the ability to automatically reboot a node when the deploy ramdisk or"},{"line_number":46,"context_line":"  kernel changes in the database."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Store the glance UUID (or some other unique identifier) of the deploy ramdisk"},{"line_number":49,"context_line":"  with the node in the database. If deploy() is called, and the node is not"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_8f518632","line":46,"updated":"2014-07-18 11:41:30.000000000","message":"How will this ability be triggered? will it require configuration?","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b8d1c440119a278518b952a87fd81142885a288d","unresolved":false,"context_lines":[{"line_number":45,"context_line":"* Add the ability to automatically reboot a node when the deploy ramdisk or"},{"line_number":46,"context_line":"  kernel changes in the database."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"* Store the glance UUID (or some other unique identifier) of the deploy ramdisk"},{"line_number":49,"context_line":"  with the node in the database. If deploy() is called, and the node is not"},{"line_number":50,"context_line":"  using the correct ramdisk, reboot into the correct ramdisk. (This is already"},{"line_number":51,"context_line":"  supported in the PXE driver)."}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_af79eafd","line":48,"updated":"2014-07-18 11:41:30.000000000","message":"\"(or some other unique identifier)\"  \u003c-- I guess, glance UUID is enough","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b8d1c440119a278518b952a87fd81142885a288d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"* Store the glance UUID (or some other unique identifier) of the deploy ramdisk"},{"line_number":49,"context_line":"  with the node in the database. If deploy() is called, and the node is not"},{"line_number":50,"context_line":"  using the correct ramdisk, reboot into the correct ramdisk. (This is already"},{"line_number":51,"context_line":"  supported in the PXE driver)."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* Add a config option to leave deploy ramdisks running."},{"line_number":54,"context_line":"  (TODO is this the right thing to do? maybe per-driver/per-node?)"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_cf7e1ee4","line":51,"updated":"2014-07-18 11:41:30.000000000","message":"What do you mean by \"supported in the PXE driver\" here? It does not support long-running ramdisks IIRC.","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b8d1c440119a278518b952a87fd81142885a288d","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  using the correct ramdisk, reboot into the correct ramdisk. (This is already"},{"line_number":51,"context_line":"  supported in the PXE driver)."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* Add a config option to leave deploy ramdisks running."},{"line_number":54,"context_line":"  (TODO is this the right thing to do? maybe per-driver/per-node?)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* TODO anything else here, that I\u0027m missing?"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_cfcc5e38","line":53,"updated":"2014-07-18 11:41:30.000000000","message":"\"leave\" after what event? after previous deploy? if only some drivers support log-running ramdisks, this should be per-driver.","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":10202,"name":"Wan-yen Hsu","email":"wanyenhsu@gmail.com"},"change_message_id":"6c5ae0038c61fb659b29116c064cabc09f15a77b","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  using the correct ramdisk, reboot into the correct ramdisk. (This is already"},{"line_number":51,"context_line":"  supported in the PXE driver)."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* Add a config option to leave deploy ramdisks running."},{"line_number":54,"context_line":"  (TODO is this the right thing to do? maybe per-driver/per-node?)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* TODO anything else here, that I\u0027m missing?"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_2356ca5e","line":53,"updated":"2014-07-24 22:11:41.000000000","message":"Wan-yen:\r\nNot all drivers support long-running ramdsik, so it seems to me this should be  at least a per-driver config option.  Also, this config option is applicable only when the driver reboots bare-metal node from the wrong ramdisk into the correct ramdisk. right?.","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"change_message_id":"789a49a7b6afe112f07237ac62555975e98b5dbb","unresolved":false,"context_lines":[{"line_number":51,"context_line":"  supported in the PXE driver)."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* Add a config option to leave deploy ramdisks running."},{"line_number":54,"context_line":"  (TODO is this the right thing to do? maybe per-driver/per-node?)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* TODO anything else here, that I\u0027m missing?"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_233a69e7","line":54,"updated":"2014-06-25 12:45:41.000000000","message":"What are the limitations if we only do a config option? What would be the use cases for per-driver or per-node? I initially thought per-node would be good but I couldn\u0027t find any use case for that.","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":7080,"name":"Mathieu Mitchell","email":"mat128@gmail.com","username":"mat128"},"change_message_id":"789a49a7b6afe112f07237ac62555975e98b5dbb","unresolved":false,"context_lines":[{"line_number":53,"context_line":"* Add a config option to leave deploy ramdisks running."},{"line_number":54,"context_line":"  (TODO is this the right thing to do? maybe per-driver/per-node?)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* TODO anything else here, that I\u0027m missing?"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Alternatives"},{"line_number":59,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_3622a5a3","line":56,"updated":"2014-06-25 12:45:41.000000000","message":"From now on, the code would assume the deployment ramdisk is always there and that it can use it at any time? What would happen if the node failed in between? Regular exception path? (pick another node?)","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b8d1c440119a278518b952a87fd81142885a288d","unresolved":false,"context_lines":[{"line_number":53,"context_line":"* Add a config option to leave deploy ramdisks running."},{"line_number":54,"context_line":"  (TODO is this the right thing to do? maybe per-driver/per-node?)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* TODO anything else here, that I\u0027m missing?"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Alternatives"},{"line_number":59,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_4fd84eef","line":56,"in_reply_to":"1ae5cdf2_3622a5a3","updated":"2014-07-18 11:41:30.000000000","message":"Good question.","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b8d1c440119a278518b952a87fd81142885a288d","unresolved":false,"context_lines":[{"line_number":58,"context_line":"Alternatives"},{"line_number":59,"context_line":"------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"None."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Data model impact"},{"line_number":64,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_2f779ad5","line":61,"updated":"2014-07-18 11:41:30.000000000","message":"There is an alternative, it is to boot the node every time. There may be more alternatives as well..","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":10202,"name":"Wan-yen Hsu","email":"wanyenhsu@gmail.com"},"change_message_id":"6c5ae0038c61fb659b29116c064cabc09f15a77b","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"The `validate` method in the driver interface will be modified to accept an"},{"line_number":77,"context_line":"\"action\" parameter, which will be the name of the method validation is being"},{"line_number":78,"context_line":"done for, e.g. \"deploy\" or \"tear_down\"."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Validation currently being done in the conductor manager will be expected to"},{"line_number":81,"context_line":"move to the driver\u0027s validate function."}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_a301fa08","line":78,"updated":"2014-07-24 22:11:41.000000000","message":"Wan-yen:  is this API backward compatible for the drivers that do not support long running ramdisk?","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":10626,"name":"Russell Haering","email":"russellhaering@gmail.com","username":"russell_h"},"change_message_id":"454d2f3b7a91102e50a25021af86e00fae50af23","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"The `validate` method in the driver interface will be modified to accept an"},{"line_number":77,"context_line":"\"action\" parameter, which will be the name of the method validation is being"},{"line_number":78,"context_line":"done for, e.g. \"deploy\" or \"tear_down\"."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Validation currently being done in the conductor manager will be expected to"},{"line_number":81,"context_line":"move to the driver\u0027s validate function."}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_064a185b","line":78,"in_reply_to":"baada198_a301fa08","updated":"2014-07-30 02:14:26.000000000","message":"I\u0027m more interested in out-of-tree drivers, regardless of their support for a long running ramdisk. If we are concerned about breaking out of tree drivers this might need to be made a new method, but maintainers of out-of-tree drivers are already in a world of pain. I tend to think its OK.","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":10202,"name":"Wan-yen Hsu","email":"wanyenhsu@gmail.com"},"change_message_id":"2ac881ef5ccf18ea1ce4fbd621eea43d1a80ca0b","unresolved":false,"context_lines":[{"line_number":76,"context_line":"The `validate` method in the driver interface will be modified to accept an"},{"line_number":77,"context_line":"\"action\" parameter, which will be the name of the method validation is being"},{"line_number":78,"context_line":"done for, e.g. \"deploy\" or \"tear_down\"."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Validation currently being done in the conductor manager will be expected to"},{"line_number":81,"context_line":"move to the driver\u0027s validate function."},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1abeadc6_d3113e05","line":79,"updated":"2014-08-28 21:56:31.000000000","message":"My concern is more for the in-tree vendor specific drivers (e.g., iLO, DRAC, SeaMicro, ..etc) that may or may not support long running ramdisk.  Will the validate API backward compatible for the drivers that do not support long running ramdisk?  Will it require those drivers to change?  ideally, we don\u0027t want to require changes to those drivers for both development and review reasons.","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":10202,"name":"Wan-yen Hsu","email":"wanyenhsu@gmail.com"},"change_message_id":"6c5ae0038c61fb659b29116c064cabc09f15a77b","unresolved":false,"context_lines":[{"line_number":113,"context_line":"---------------------"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"A new config option will be added to leave deploy ramdisks running."},{"line_number":116,"context_line":"(TODO is this the right thing to do? maybe per-driver/per-node?)"},{"line_number":117,"context_line":"This will default to False, leaving no immediate impact."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Deployers should also weigh the tradeoffs of always-on nodes versus the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_8e2fbd88","line":116,"updated":"2014-07-24 22:11:41.000000000","message":"Wan-yen: per driver because not all drivers support long running ramdisk.","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b8d1c440119a278518b952a87fd81142885a288d","unresolved":false,"context_lines":[{"line_number":113,"context_line":"---------------------"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"A new config option will be added to leave deploy ramdisks running."},{"line_number":116,"context_line":"(TODO is this the right thing to do? maybe per-driver/per-node?)"},{"line_number":117,"context_line":"This will default to False, leaving no immediate impact."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Deployers should also weigh the tradeoffs of always-on nodes versus the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_6f2b5295","line":116,"updated":"2014-07-18 11:41:30.000000000","message":"should be per-driver, I guess. if you have some nodes managed by PXE, it will fail for them.\n\nalso, all configuration options should be stated here with their names, types and default values.","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"a2f9e5714134571432fcb745fa34c840597e213e","unresolved":false,"context_lines":[{"line_number":113,"context_line":"---------------------"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"A new config option will be added to leave deploy ramdisks running."},{"line_number":116,"context_line":"(TODO is this the right thing to do? maybe per-driver/per-node?)"},{"line_number":117,"context_line":"This will default to False, leaving no immediate impact."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Deployers should also weigh the tradeoffs of always-on nodes versus the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_32aa4471","line":116,"in_reply_to":"baada198_6f2b5295","updated":"2014-07-21 22:50:42.000000000","message":"i also vote for per-driver configuration option for this.","commit_id":"1265753b3bec41eb17765b0a654d9ddb0e086793"}],"specs/kilo/long-running-deploy-ramdisks.rst":[{"author":{"_account_id":8106,"name":"Haomeng,Wang","email":"wanghaomeng@gmail.com","username":"whaom"},"change_message_id":"bdd6d32d1a1fb7fe94c75bd6fb59cb00adbbb0a1","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Support long-running deploy ramdisks"},{"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/ironic/+spec/long-running-deploy-ramdisks"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Deploy ramdisks are currently booted at deploy time. Some operators may"},{"line_number":14,"context_line":"find it desirable if deploy ramdisks were already running at deploy time."}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_11dbdb4f","line":11,"updated":"2014-10-16 02:22:18.000000000","message":"This url is not working now, can you check and update, we need the launchpad blueprint page.","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"18c5c868567eee66e8c4ffb26df861029e310609","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Support long-running deploy ramdisks"},{"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/ironic/+spec/long-running-deploy-ramdisks"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Deploy ramdisks are currently booted at deploy time. Some operators may"},{"line_number":14,"context_line":"find it desirable if deploy ramdisks were already running at deploy time."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a7e1126_29424c3f","line":11,"in_reply_to":"baa201ad_11dbdb4f","updated":"2015-12-17 12:14:50.000000000","message":"RFE bug now :)","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"4c0948e9d925a9c9aa195f4b2b506cfea072c859","unresolved":false,"context_lines":[{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"The following changes should provide good support for long-running deploy"},{"line_number":33,"context_line":"ramdisks:"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"* Handle all validation for driver tasks (deploy, tear_down, etc) in the"},{"line_number":36,"context_line":"  validate() function of the driver. This will add an \"action\" parameter to the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_e23e76b7","line":33,"updated":"2014-10-17 19:22:24.000000000","message":"could you point out how if any a hash-ring change could impact a Long Running Agent and how it would be handled.","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"6eb3c7b750db77338ae84c9108d592e8bd95d267","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  deploy() tasks to the PXE driver\u0027s validate function. This will allow the"},{"line_number":40,"context_line":"  driver to decide what power states are valid for various actions."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Add a script to do a rolling reboot of unprovisioned nodes into a new version"},{"line_number":43,"context_line":"  of the deploy ramdisk. This should be an operational script that uses"},{"line_number":44,"context_line":"  ironicclient to hit the power state API, and thus should probably live in"},{"line_number":45,"context_line":"  the `tools/` directory in-tree."}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_483758ff","line":42,"updated":"2014-10-16 08:41:40.000000000","message":"How would conductor/admin know that a node has booted successfully to the agent ramdisk or not ? How about adding a new provision state for nodes that are booted to deploy ramdisk.  We can accept that also as a valid provision states.  We can add a new provision state RAMDISK_BOOTED or something else(RAMDISK_BOOTED sounds wierd to me too :)) that can signify that the agent is booted and ready to accept commands.  \n\nWe could add this to the list of state transitions in our normal flow.\n\n1. Normal flow would look like\n\nNOSTATE -\u003e DEPLOYING -\u003e WAIT-CALL-BACK -\u003e RAMDISK-BOOTED -\u003e DEPLOYING -\u003e ACTIVE\n\n2. Our new flow would look like\n\nRAMDISK-BOOTED -\u003e DEPLOYING -\u003e ACTIVE\n\nWe could use ironic node-set-provision-state \u003cnode-uuid\u003e agent_booted to boot the node to the agent ramdisk.","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"6eb3c7b750db77338ae84c9108d592e8bd95d267","unresolved":false,"context_lines":[{"line_number":44,"context_line":"  ironicclient to hit the power state API, and thus should probably live in"},{"line_number":45,"context_line":"  the `tools/` directory in-tree."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"* Add the ability to automatically reboot a node when the deploy ramdisk or"},{"line_number":48,"context_line":"  kernel changes in the database. This will be configurable behavior that"},{"line_number":49,"context_line":"  defaults to not automatically reboot."},{"line_number":50,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_aebc4dbc","line":47,"updated":"2014-10-16 08:41:40.000000000","message":"Again this might be \n\nRAMDISK-BOOTED -\u003e WAIT-CALL-BACK -\u003e RAMDISK-BOOTED","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"229387367237369e4d3d747fc0b72ad1294096bf","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* Store the glance UUID of the currently running deploy ramdisk with the node"},{"line_number":52,"context_line":"  in the database. If deploy() is called, and the node is not using the"},{"line_number":53,"context_line":"  correct ramdisk, reboot into the correct ramdisk."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Add a config option to leave deploy ramdisks running after tear down. This"},{"line_number":56,"context_line":"  option should be per-driver, as not all drivers may implement this feature."}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_678e3bd2","line":53,"updated":"2014-10-14 18:44:28.000000000","message":"The three bulletpoints from 42-53 all seem to be handling the same things.\n\nI suggest this to replace all three:\n\nInside the periodic tasks for inactive nodes running IPA (to check for heartbeating), we should also check the Glance UUID on the node to see if it matches the known-deployed ramdisk image. If not, the node would then be rebooted into the new ramdisk image.\n\nAt that point, you can optionally include a script or some documentation on how to bulk-update the Ironic nodes with the correct glance image Id.","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"6eb3c7b750db77338ae84c9108d592e8bd95d267","unresolved":false,"context_lines":[{"line_number":52,"context_line":"  in the database. If deploy() is called, and the node is not using the"},{"line_number":53,"context_line":"  correct ramdisk, reboot into the correct ramdisk."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Add a config option to leave deploy ramdisks running after tear down. This"},{"line_number":56,"context_line":"  option should be per-driver, as not all drivers may implement this feature."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* Add a `heartbeat` method to the node REST API, as well as the driver API."}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_cee431e2","line":55,"updated":"2014-10-16 08:41:40.000000000","message":"ACTIVE -\u003e DELETING -\u003e DECOMMISSION -\u003e RAMDISK-BOOTED","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4c1c46bbfb93e0507d6287bcf5c1568592f6a585","unresolved":false,"context_lines":[{"line_number":56,"context_line":"  option should be per-driver, as not all drivers may implement this feature."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* Add a `heartbeat` method to the node REST API, as well as the driver API."},{"line_number":59,"context_line":"  Ramdisks waiting for a deployment should heartbeat to this endpoint."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* Add a (per driver) configuration option for a heartbeat timeout."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_11559bf9","line":59,"updated":"2014-10-15 07:52:53.000000000","message":"What about making this endpoint also unauthenticated, so that we can stop relying on keystone token published? (Also, is IPA currently able to renew token? For long-running ramdisk it will expire.)","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"afdccb4682351ad7716d49ae7c6b71429f600c7a","unresolved":false,"context_lines":[{"line_number":56,"context_line":"  option should be per-driver, as not all drivers may implement this feature."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* Add a `heartbeat` method to the node REST API, as well as the driver API."},{"line_number":59,"context_line":"  Ramdisks waiting for a deployment should heartbeat to this endpoint."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* Add a (per driver) configuration option for a heartbeat timeout."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_63d44fbd","line":59,"in_reply_to":"baa201ad_11559bf9","updated":"2014-10-15 16:24:48.000000000","message":"IPA is currently completely unauthenticated, in both directions.","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"5b00824de15d509f5b54a888869c351173b06949","unresolved":false,"context_lines":[{"line_number":56,"context_line":"  option should be per-driver, as not all drivers may implement this feature."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"* Add a `heartbeat` method to the node REST API, as well as the driver API."},{"line_number":59,"context_line":"  Ramdisks waiting for a deployment should heartbeat to this endpoint."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* Add a (per driver) configuration option for a heartbeat timeout."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_5e5ba0f5","line":59,"in_reply_to":"baa201ad_63d44fbd","updated":"2014-10-15 16:51:33.000000000","message":"I agree with this being unauthenticated.","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"229387367237369e4d3d747fc0b72ad1294096bf","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"* Add a periodic task for inactive nodes that should be running a deploy"},{"line_number":64,"context_line":"  ramdisk. If the ramdisk has not heartbeated within the timeout, shut the"},{"line_number":65,"context_line":"  node down and put it into maintenance."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* Handle the case where a ramdisk has heartbeated within the timeout, but the"},{"line_number":68,"context_line":"  ramdisk is not responsive."}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_e73eabd9","line":65,"updated":"2014-10-14 18:44:28.000000000","message":"This, similar to the power status loop, should have to fail multiple times before putting a node in maintenance. For example:\n\n1) Node not heartbeating. First time observed.\n2) Kick off job to try and successfully boot an agent (which could look something like...):\n - reconfigure DHCP/PXE environment\n - reset BMC\n - reconfigure BMC to boot via PXE\n - Reboot the node into an agent\n3) Repeat N times. On the N+1th time, put the node into maintenance due to unable to boot agent.\n\nObviously \"N\" would be configurable, in this case (where 0 would give you the behavior you advocate).","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4c1c46bbfb93e0507d6287bcf5c1568592f6a585","unresolved":false,"context_lines":[{"line_number":65,"context_line":"  node down and put it into maintenance."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* Handle the case where a ramdisk has heartbeated within the timeout, but the"},{"line_number":68,"context_line":"  ramdisk is not responsive."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_b145af44","line":68,"updated":"2014-10-15 07:52:53.000000000","message":"Where is should be handled? Per-driver? I don\u0027t see global means of checking for responsiveness (except for heartbeat). Also why isn\u0027t heartbeat enough? please state.","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"5b00824de15d509f5b54a888869c351173b06949","unresolved":false,"context_lines":[{"line_number":65,"context_line":"  node down and put it into maintenance."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* Handle the case where a ramdisk has heartbeated within the timeout, but the"},{"line_number":68,"context_line":"  ramdisk is not responsive."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_bed80c1f","line":68,"in_reply_to":"baa201ad_63eb6f78","updated":"2014-10-15 16:51:33.000000000","message":"Trying to keep this general and not specific to IPA, but that\u0027s a good example.\n\nPresumably the deploy ramdisk should/will boot at some rate that is faster than the timeout. Perhaps, say, 3x that rate.\n\nNow imagine a ramdisk heartbeats, and then dies somehow. Nova schedules to that node. What should Ironic handle in that case?\n\nI\u0027m not sure what the right answer is here; it will likely need to be handled by the driver, as initiating a deploy may differ between drivers (e.g. for IPA, Ironic calls a REST API, for the iSCSI driver, maybe the data is passed back in the next heartbeat response).\n\nI can call these things out specifically.","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"afdccb4682351ad7716d49ae7c6b71429f600c7a","unresolved":false,"context_lines":[{"line_number":65,"context_line":"  node down and put it into maintenance."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"* Handle the case where a ramdisk has heartbeated within the timeout, but the"},{"line_number":68,"context_line":"  ramdisk is not responsive."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_63eb6f78","line":68,"in_reply_to":"baa201ad_b145af44","updated":"2014-10-15 16:24:48.000000000","message":"Think of a situation with asymmetic connectivity: i.e. IPA can heartbeat, but the conductors can\u0027t call the api of IPA. These situations should be handled as well (I would suspect as part of the periodic task noted above? or maybe just an action taken if too many calls to the agent time out.","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"6eb3c7b750db77338ae84c9108d592e8bd95d267","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Data model impact"},{"line_number":77,"context_line":"-----------------"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"The currently running ramdisk will need to be stored in the driver_info column."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"RPC API impact"},{"line_number":82,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_ee001568","line":79,"updated":"2014-10-16 08:41:40.000000000","message":"will it be the same as deploy_kernel and deploy_ramdisk.  if so, can we mention that ?","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4c1c46bbfb93e0507d6287bcf5c1568592f6a585","unresolved":false,"context_lines":[{"line_number":88,"context_line":"---------------"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Add a `heartbeat` endpoint to the nodes API, that deploy ramdisks should"},{"line_number":91,"context_line":"heartbeat to."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Driver API impact"},{"line_number":94,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_3171bfa8","line":91,"updated":"2014-10-15 07:52:53.000000000","message":"Please state parameters, return value etc","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4c1c46bbfb93e0507d6287bcf5c1568592f6a585","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"This should be simple to implement across existing drivers - add the parameter"},{"line_number":104,"context_line":"to the validate function, and don\u0027t use it until any validation is added to"},{"line_number":105,"context_line":"the validate method."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"A `heartbeat` method also must be added to the driver API, for the driver to"},{"line_number":108,"context_line":"take action on when a deploy ramdisk heartbeats. This could default to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_d19cf3c2","line":105,"updated":"2014-10-15 07:52:53.000000000","message":"What about backward compatibility with possible 3rdparty drivers?","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"5b00824de15d509f5b54a888869c351173b06949","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"This should be simple to implement across existing drivers - add the parameter"},{"line_number":104,"context_line":"to the validate function, and don\u0027t use it until any validation is added to"},{"line_number":105,"context_line":"the validate method."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"A `heartbeat` method also must be added to the driver API, for the driver to"},{"line_number":108,"context_line":"take action on when a deploy ramdisk heartbeats. This could default to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_1e1918d7","line":105,"in_reply_to":"baa201ad_a37557cc","updated":"2014-10-15 16:51:33.000000000","message":"I would love to maintain backwards compat for out of tree drivers... need to chat with folks about the best way to do this.","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"afdccb4682351ad7716d49ae7c6b71429f600c7a","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"This should be simple to implement across existing drivers - add the parameter"},{"line_number":104,"context_line":"to the validate function, and don\u0027t use it until any validation is added to"},{"line_number":105,"context_line":"the validate method."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"A `heartbeat` method also must be added to the driver API, for the driver to"},{"line_number":108,"context_line":"take action on when a deploy ramdisk heartbeats. This could default to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_a37557cc","line":105,"in_reply_to":"baa201ad_d19cf3c2","updated":"2014-10-15 16:24:48.000000000","message":"Does Ironic as a project promise the driver API is a stable one? I don\u0027t think we should enforce that unless the decision has been explicitly made that the driver API is stable :). (as a note; not even Nova makes this promise today, as we all well know.)","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4c1c46bbfb93e0507d6287bcf5c1568592f6a585","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"A `heartbeat` method also must be added to the driver API, for the driver to"},{"line_number":108,"context_line":"take action on when a deploy ramdisk heartbeats. This could default to"},{"line_number":109,"context_line":"storing the time of the heartbeat, but some drivers may wish to do more work."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Nova driver impact"},{"line_number":112,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_7166e7ee","line":109,"updated":"2014-10-15 07:52:53.000000000","message":"ditto about parameters","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"229387367237369e4d3d747fc0b72ad1294096bf","unresolved":false,"context_lines":[{"line_number":116,"context_line":"Security impact"},{"line_number":117,"context_line":"---------------"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"None."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Other end user impact"},{"line_number":122,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_a202d106","line":119,"updated":"2014-10-14 18:44:28.000000000","message":"Vulnerabilities exposed by an agent running with out of date code would be additional attack surface for deployers to manage patches of.\n\nAdditionally, since the agent is unauthenticated, running it for longer means there are more opportunities for the unauthenticated nature of the agent to be exploited.","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"4c0948e9d925a9c9aa195f4b2b506cfea072c859","unresolved":false,"context_lines":[{"line_number":121,"context_line":"Other end user impact"},{"line_number":122,"context_line":"---------------------"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"None."},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Scalability impact"},{"line_number":127,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_22431eb0","line":124,"updated":"2014-10-17 19:22:24.000000000","message":"might be worth pointing out that power state for nodes using LRA\u0027s will of course show as ON instead of OFF. logical but better to point this out.","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"229387367237369e4d3d747fc0b72ad1294096bf","unresolved":false,"context_lines":[{"line_number":132,"context_line":"Performance Impact"},{"line_number":133,"context_line":"------------------"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"None."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"Other deployer impact"},{"line_number":138,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_c26ef5c8","line":135,"updated":"2014-10-14 18:44:28.000000000","message":"This has significant positive performance impact w/r/t speeding up agent deploys where it\u0027s enabled.","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4c1c46bbfb93e0507d6287bcf5c1568592f6a585","unresolved":false,"context_lines":[{"line_number":181,"context_line":"  * Add config options to allow long-running ramdisks, and for the heartbeat"},{"line_number":182,"context_line":"    timeout."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"* Add \"current deploy kernel/ramdisk\" to driver_info."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"* Add script to do rolling reboots of unprovisioned nodes into new ramdisk."},{"line_number":187,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_91e42b3d","line":184,"updated":"2014-10-15 07:52:53.000000000","message":"to instance_info, I think.","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"afdccb4682351ad7716d49ae7c6b71429f600c7a","unresolved":false,"context_lines":[{"line_number":181,"context_line":"  * Add config options to allow long-running ramdisks, and for the heartbeat"},{"line_number":182,"context_line":"    timeout."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"* Add \"current deploy kernel/ramdisk\" to driver_info."},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"* Add script to do rolling reboots of unprovisioned nodes into new ramdisk."},{"line_number":187,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"baa201ad_835f7340","line":184,"in_reply_to":"baa201ad_91e42b3d","updated":"2014-10-15 16:24:48.000000000","message":"No, because the deploy kernel/ramdisk is needed well before an instance is assigned, particularly in the case of a long running agent. i.e. the ramdisk/kernel is already loaded before an instance is scheduled to the node","commit_id":"3f8dcbc2adb1a07fc89d72f8ac86c2192c562897"}]}
