)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"de4c00766bf626cdfc784b5a94817dd27cc5eb91","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Closes-bug: 1526400"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Depends-On: I0e34407133684e34c4ab9446b3521a24f3038f92,"},{"line_number":14,"context_line":"            Id7bb8a242838029e4cc3715d18b27fb1d5cd4dfa"},{"line_number":15,"context_line":"Change-Id: I7691c067afa300464c3160f1aa3d3eda64a9aa37"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":20,"id":"5aef4532_4569e724","line":14,"updated":"2016-03-08 16:51:17.000000000","message":"Nit:\n\nDepends-On does not support a list, you need one \"Depends-On\" tag per Change-ID, e.g:\n\nDepends-On: I0e34407133684e34c4ab9446b3521a24f3038f92\nDepends-On: Id7bb8a242838029e4cc3715d18b27fb1d5cd4dfa\n\nThat said, both of these dependencies are now merged, so we could remove it from the commit message.","commit_id":"2e0cbe9db33e410f8441dbccfd90a8faf9f68e40"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"fe1ed333c718cc5d88efa668be3f9b84922b6520","unresolved":false,"context_lines":[{"line_number":11,"context_line":"Closes-bug: 1526400"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Depends-On: I0e34407133684e34c4ab9446b3521a24f3038f92,"},{"line_number":14,"context_line":"            Id7bb8a242838029e4cc3715d18b27fb1d5cd4dfa"},{"line_number":15,"context_line":"Change-Id: I7691c067afa300464c3160f1aa3d3eda64a9aa37"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":20,"id":"5aef4532_5697df8f","line":14,"in_reply_to":"5aef4532_4569e724","updated":"2016-03-08 17:39:05.000000000","message":"ok","commit_id":"2e0cbe9db33e410f8441dbccfd90a8faf9f68e40"}],"doc/source/cleaning/raid.rst":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":6,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":7,"context_line":"Ironic supports RAID configuration for bare metal nodes.  It allows operators"},{"line_number":8,"context_line":"to specify the desired RAID configuration via Ironic CLI or REST API."},{"line_number":9,"context_line":"The desired RAID configuration is applied on the bare metal during cleaning."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Prerequisites"},{"line_number":12,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_03009533","line":9,"updated":"2015-11-25 02:00:42.000000000","message":"I forgot, can you do raid in automated cleaning or just manual cleaning? If both, we should describe any differences. But I think it is manual cleaning only?","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":6,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":7,"context_line":"Ironic supports RAID configuration for bare metal nodes.  It allows operators"},{"line_number":8,"context_line":"to specify the desired RAID configuration via Ironic CLI or REST API."},{"line_number":9,"context_line":"The desired RAID configuration is applied on the bare metal during cleaning."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Prerequisites"},{"line_number":12,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_f51a39c5","line":9,"in_reply_to":"9a8ffd7b_03009533","updated":"2015-11-28 08:38:12.000000000","message":"Yes, unless we do something to enable it for automated cleaning, it is manual cleaning only. Will update it.","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Prerequisites"},{"line_number":12,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":13,"context_line":"The bare metal node needs to configured with a driver that supports RAID"},{"line_number":14,"context_line":"configuration.  Drivers may implement RAID configuration either in-band or"},{"line_number":15,"context_line":"out-of-band."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_6395e1e2","line":13,"updated":"2015-11-25 02:00:42.000000000","message":"s/to configured/to be configured/\n\nActually, it might be better to s/configured with/use/ (because \u0027configured\u0027 may mean via a config variable or driver_info or ...)","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Prerequisites"},{"line_number":12,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":13,"context_line":"The bare metal node needs to configured with a driver that supports RAID"},{"line_number":14,"context_line":"configuration.  Drivers may implement RAID configuration either in-band or"},{"line_number":15,"context_line":"out-of-band."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_b57fd1de","line":13,"in_reply_to":"9a8ffd7b_6395e1e2","updated":"2015-11-28 08:38:12.000000000","message":"Done","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":14,"context_line":"configuration.  Drivers may implement RAID configuration either in-band or"},{"line_number":15,"context_line":"out-of-band."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Currently, no upstream driver support out-of-band RAID configuration."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"In-band RAID configuration is done using the Ironic Python Agent"},{"line_number":20,"context_line":"ramdisk. For in-band RAID configuration using agent ramdisk, a hardware"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_7e87b461","line":17,"updated":"2015-11-25 02:00:42.000000000","message":"s/support/supports/","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":14,"context_line":"configuration.  Drivers may implement RAID configuration either in-band or"},{"line_number":15,"context_line":"out-of-band."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Currently, no upstream driver support out-of-band RAID configuration."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"In-band RAID configuration is done using the Ironic Python Agent"},{"line_number":20,"context_line":"ramdisk. For in-band RAID configuration using agent ramdisk, a hardware"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_558225c9","line":17,"in_reply_to":"9a8ffd7b_7e87b461","updated":"2015-11-28 08:38:12.000000000","message":"Done","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":19,"context_line":"In-band RAID configuration is done using the Ironic Python Agent"},{"line_number":20,"context_line":"ramdisk. For in-band RAID configuration using agent ramdisk, a hardware"},{"line_number":21,"context_line":"manager which supports RAID should be bundled with the ramdisk. For more"},{"line_number":22,"context_line":"details refer documentation below."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"If a hardware manager supporting RAID configuration is bundles in the agent"},{"line_number":25,"context_line":"ramdisk, the following production drivers support in-band RAID configuration:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_3e812c4b","line":22,"updated":"2015-11-25 02:00:42.000000000","message":"s/refer/refer to/","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":19,"context_line":"In-band RAID configuration is done using the Ironic Python Agent"},{"line_number":20,"context_line":"ramdisk. For in-band RAID configuration using agent ramdisk, a hardware"},{"line_number":21,"context_line":"manager which supports RAID should be bundled with the ramdisk. For more"},{"line_number":22,"context_line":"details refer documentation below."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"If a hardware manager supporting RAID configuration is bundles in the agent"},{"line_number":25,"context_line":"ramdisk, the following production drivers support in-band RAID configuration:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_7585e9cc","line":22,"in_reply_to":"9a8ffd7b_3e812c4b","updated":"2015-11-28 08:38:12.000000000","message":"Done","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":21,"context_line":"manager which supports RAID should be bundled with the ramdisk. For more"},{"line_number":22,"context_line":"details refer documentation below."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"If a hardware manager supporting RAID configuration is bundles in the agent"},{"line_number":25,"context_line":"ramdisk, the following production drivers support in-band RAID configuration:"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"* agent_ilo"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_de96e093","line":24,"updated":"2015-11-25 02:00:42.000000000","message":"s/bundles/bundled/","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":21,"context_line":"manager which supports RAID should be bundled with the ramdisk. For more"},{"line_number":22,"context_line":"details refer documentation below."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"If a hardware manager supporting RAID configuration is bundles in the agent"},{"line_number":25,"context_line":"ramdisk, the following production drivers support in-band RAID configuration:"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"* agent_ilo"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_1571fd0e","line":24,"in_reply_to":"9a8ffd7b_de96e093","updated":"2015-11-28 08:38:12.000000000","message":"Done","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":32,"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\u003d"},{"line_number":33,"context_line":"For doing in-band RAID configuration, Ironic needs an agent ramdisk bundled"},{"line_number":34,"context_line":"with a hardware manager which supports RAID configuration. One of the hardware"},{"line_number":35,"context_line":"managers available open source is the ``Proliant Hardware Manager``.  To"},{"line_number":36,"context_line":"create an agent ramdisk with ``Proliant Hardware Manager``, use the"},{"line_number":37,"context_line":"``proliant-tools`` element in DIB::"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_dec4a093","line":35,"updated":"2015-11-25 02:00:42.000000000","message":"s/available open source is/available is open source software:/\n\nDo you have a link for where to get that?","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":32,"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\u003d"},{"line_number":33,"context_line":"For doing in-band RAID configuration, Ironic needs an agent ramdisk bundled"},{"line_number":34,"context_line":"with a hardware manager which supports RAID configuration. One of the hardware"},{"line_number":35,"context_line":"managers available open source is the ``Proliant Hardware Manager``.  To"},{"line_number":36,"context_line":"create an agent ramdisk with ``Proliant Hardware Manager``, use the"},{"line_number":37,"context_line":"``proliant-tools`` element in DIB::"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_356c4134","line":35,"in_reply_to":"9a8ffd7b_dec4a093","updated":"2015-11-28 08:38:12.000000000","message":"Done","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"  disk-image-create -o proliant-agent-ramdisk ironic-agent fedora proliant-tools"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"For more information on ``Proliant Hardware Manager``, refer TODO"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"RAID configuration JSON format"},{"line_number":44,"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"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_1e41c80b","line":41,"updated":"2015-11-25 02:00:42.000000000","message":"s/TODO/???","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"  disk-image-create -o proliant-agent-ramdisk ironic-agent fedora proliant-tools"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"For more information on ``Proliant Hardware Manager``, refer TODO"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"RAID configuration JSON format"},{"line_number":44,"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"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_d5761505","line":41,"in_reply_to":"9a8ffd7b_1e41c80b","updated":"2015-11-28 08:38:12.000000000","message":"Done","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":48,"context_line":"Target RAID configuration"},{"line_number":49,"context_line":"-------------------------"},{"line_number":50,"context_line":"This the desired RAID configuration on the bare metal node.  This is"},{"line_number":51,"context_line":"prepared by the operator and is then set on the ``target_raid_config``"},{"line_number":52,"context_line":"field of the node by the operator on Ironic node using Ironic CLI or REST API."},{"line_number":53,"context_line":"The target RAID configuration will applied during cleaning."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_bef99c4f","line":51,"updated":"2015-11-25 02:00:42.000000000","message":"I\u0027m not sure what \u0027This is prepared\u0027 entails.\n\nHow about something like \u0027Using IRONIC CLI or REST API, the operator sets the node\u0027s \u0027\u0027target_raid_config\u0027\u0027 value to the desired RAID configuration.\u0027","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":48,"context_line":"Target RAID configuration"},{"line_number":49,"context_line":"-------------------------"},{"line_number":50,"context_line":"This the desired RAID configuration on the bare metal node.  This is"},{"line_number":51,"context_line":"prepared by the operator and is then set on the ``target_raid_config``"},{"line_number":52,"context_line":"field of the node by the operator on Ironic node using Ironic CLI or REST API."},{"line_number":53,"context_line":"The target RAID configuration will applied during cleaning."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_f571d90c","line":51,"in_reply_to":"9a8ffd7b_bef99c4f","updated":"2015-11-28 08:38:12.000000000","message":"Done","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":50,"context_line":"This the desired RAID configuration on the bare metal node.  This is"},{"line_number":51,"context_line":"prepared by the operator and is then set on the ``target_raid_config``"},{"line_number":52,"context_line":"field of the node by the operator on Ironic node using Ironic CLI or REST API."},{"line_number":53,"context_line":"The target RAID configuration will applied during cleaning."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Target RAID configuration is a list of JSON dictionaries. It looks like::"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_de8900cc","line":53,"updated":"2015-11-25 02:00:42.000000000","message":"s/applied during cleaning/be applied during manual?? cleaning/","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":50,"context_line":"This the desired RAID configuration on the bare metal node.  This is"},{"line_number":51,"context_line":"prepared by the operator and is then set on the ``target_raid_config``"},{"line_number":52,"context_line":"field of the node by the operator on Ironic node using Ironic CLI or REST API."},{"line_number":53,"context_line":"The target RAID configuration will applied during cleaning."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Target RAID configuration is a list of JSON dictionaries. It looks like::"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_b566f14e","line":53,"in_reply_to":"9a8ffd7b_de8900cc","updated":"2015-11-28 08:38:12.000000000","message":"Done","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":65,"context_line":"  }"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Each dictionary of logical disk contains the desired properties of logical"},{"line_number":68,"context_line":"disk supported by the driver.  It can be figured out using Ironic CLI or"},{"line_number":69,"context_line":"REST API::"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"  Ironic CLI:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_deb0208e","line":68,"updated":"2015-11-25 02:00:42.000000000","message":"by \u0027it can be figured out\u0027 you mean the properties can be figured out?\n\nHow about \u0027These properties are discoverable using ...\u0027\n\n(Devananda seems to use that term \u0027discoverable\u0027.)","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":65,"context_line":"  }"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Each dictionary of logical disk contains the desired properties of logical"},{"line_number":68,"context_line":"disk supported by the driver.  It can be figured out using Ironic CLI or"},{"line_number":69,"context_line":"REST API::"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"  Ironic CLI:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_15581d87","line":68,"in_reply_to":"9a8ffd7b_deb0208e","updated":"2015-11-28 08:38:12.000000000","message":"Done","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  properties."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Various other properties like ``is_root_volume``, ``disk_type``, etc can be"},{"line_number":87,"context_line":"clubbed to get the desired RAID configuration.  Let\u0027s take some examples:"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"*Example 1* - Single RAID disk of RAID level 5 with all of the space"},{"line_number":90,"context_line":"available. Make this the root volume to which Ironic deploys the image::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_3e728ce6","line":87,"updated":"2015-11-25 02:00:42.000000000","message":"there\u0027s that \u0027clubbed\u0027 term again. Seems like I saw that in a spec today. What does that mean?","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  properties."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Various other properties like ``is_root_volume``, ``disk_type``, etc can be"},{"line_number":87,"context_line":"clubbed to get the desired RAID configuration.  Let\u0027s take some examples:"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"*Example 1* - Single RAID disk of RAID level 5 with all of the space"},{"line_number":90,"context_line":"available. Make this the root volume to which Ironic deploys the image::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_f548f9b4","line":87,"in_reply_to":"9a8ffd7b_3e728ce6","updated":"2015-11-28 08:38:12.000000000","message":"I meant mixed.  We use that word so often in our slang, I was assuming it is a normal english word.  Will correct it. :)","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":106,"context_line":"  {"},{"line_number":107,"context_line":"   \u0027logical_disks\u0027: ["},{"line_number":108,"context_line":"                     {"},{"line_number":109,"context_line":"                      \u0027size_gb\u0027: 100,"},{"line_number":110,"context_line":"                      \u0027raid_level\u0027: \u00275\u0027,"},{"line_number":111,"context_line":"                      \u0027is_root_volume\u0027: true,"},{"line_number":112,"context_line":"                      \u0027disk_type\u0027: \u0027ssd\u0027"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_de2580c2","line":109,"updated":"2015-11-25 02:00:42.000000000","message":"Did I ever ask you why we didn\u0027t call this size_gib if it is GiB? Maybe for consistency reasons...","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":106,"context_line":"  {"},{"line_number":107,"context_line":"   \u0027logical_disks\u0027: ["},{"line_number":108,"context_line":"                     {"},{"line_number":109,"context_line":"                      \u0027size_gb\u0027: 100,"},{"line_number":110,"context_line":"                      \u0027raid_level\u0027: \u00275\u0027,"},{"line_number":111,"context_line":"                      \u0027is_root_volume\u0027: true,"},{"line_number":112,"context_line":"                      \u0027disk_type\u0027: \u0027ssd\u0027"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_b5cd9132","line":109,"in_reply_to":"9a8ffd7b_de2580c2","updated":"2015-11-28 08:38:12.000000000","message":"Oh yeah, I liked it be consitent with local_gb, swap_mb, etc.","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":150,"context_line":"    ironic node-show \u003cnode-uuid-or-name\u003e"},{"line_number":151,"context_line":"  REST API:"},{"line_number":152,"context_line":"    curl -X GET http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Workflow"},{"line_number":156,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_1909e22c","line":153,"updated":"2015-11-25 02:00:42.000000000","message":"Not sure if we need to mention the actual field names. Was it \u0027current_raid\u0027? (I\u0027ve forgotten.)","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":150,"context_line":"    ironic node-show \u003cnode-uuid-or-name\u003e"},{"line_number":151,"context_line":"  REST API:"},{"line_number":152,"context_line":"    curl -X GET http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Workflow"},{"line_number":156,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_15dfbdd9","line":153,"in_reply_to":"9a8ffd7b_1909e22c","updated":"2015-11-28 08:38:12.000000000","message":"raid_config.  Will mention that.","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"* For in-band RAID configuration, operator builds an agent ramdisk which"},{"line_number":162,"context_line":"  supports RAID configuration by bundling the hardware manager with the"},{"line_number":163,"context_line":"  ramdisk. TODO(rameshg87) - add details."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Operators prepares the desired target RAID configuration as mentioned in"},{"line_number":166,"context_line":"  TODO. The target RAID configuration is set on the Ironic node::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_59268abb","line":163,"updated":"2015-11-25 02:00:42.000000000","message":"There\u0027s a TODO here. Not sure how much detail you want to add. You mention a bit above.","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"* For in-band RAID configuration, operator builds an agent ramdisk which"},{"line_number":162,"context_line":"  supports RAID configuration by bundling the hardware manager with the"},{"line_number":163,"context_line":"  ramdisk. TODO(rameshg87) - add details."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Operators prepares the desired target RAID configuration as mentioned in"},{"line_number":166,"context_line":"  TODO. The target RAID configuration is set on the Ironic node::"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_1506dd51","line":163,"in_reply_to":"9a8ffd7b_59268abb","updated":"2015-11-28 08:38:12.000000000","message":"Still in review, but will add it.","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":163,"context_line":"  ramdisk. TODO(rameshg87) - add details."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Operators prepares the desired target RAID configuration as mentioned in"},{"line_number":166,"context_line":"  TODO. The target RAID configuration is set on the Ironic node::"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    Ironic CLI:"},{"line_number":169,"context_line":"      ironic node-set-target-raid-config \u003cnode-uuid\u003e --target_raid_config \u003cJSON file containing target RAID configuration\u003e"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_f9373ee1","line":166,"updated":"2015-11-25 02:00:42.000000000","message":"Not sure what the TODO is.","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":163,"context_line":"  ramdisk. TODO(rameshg87) - add details."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Operators prepares the desired target RAID configuration as mentioned in"},{"line_number":166,"context_line":"  TODO. The target RAID configuration is set on the Ironic node::"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    Ironic CLI:"},{"line_number":169,"context_line":"      ironic node-set-target-raid-config \u003cnode-uuid\u003e --target_raid_config \u003cJSON file containing target RAID configuration\u003e"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_d5e4d5ac","line":166,"in_reply_to":"9a8ffd7b_f9373ee1","updated":"2015-11-28 08:38:12.000000000","message":"At the time of writing the initial version, manual cleaning wasn\u0027t ready.  So I didn\u0027t know how to fill that in. Looks like I can refer your spec now and fill in details.  Will do now","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"2ad884197e9470664595ea0ff0f33fa15e09babc","unresolved":false,"context_lines":[{"line_number":171,"context_line":"      TODO"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"* Bring the node to ``manage`` state and do a ``provide`` action to start"},{"line_number":174,"context_line":"  cleaning on the node::"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    ironic node-set-provision-state \u003cnode-uuid\u003e provide"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_d9411a3b","line":174,"updated":"2015-11-25 02:00:42.000000000","message":"Oh, so this is automated cleaning then? (me confused.)","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":9315,"name":"ramesh","email":"rameshg87@gmail.com","username":"rameshg87"},"change_message_id":"4e38827099de7072ecae1ae2b582711970f82890","unresolved":false,"context_lines":[{"line_number":171,"context_line":"      TODO"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"* Bring the node to ``manage`` state and do a ``provide`` action to start"},{"line_number":174,"context_line":"  cleaning on the node::"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    ironic node-set-provision-state \u003cnode-uuid\u003e provide"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_b5f4b15a","line":174,"in_reply_to":"9a8ffd7b_d9411a3b","updated":"2015-11-28 08:38:12.000000000","message":"Manual cleaning only.  I didn\u0027t have details on how to trigger manual cleaning at the time of writing this doc.  Will update it now.","commit_id":"64a89bcf75b32f36020098a68725f0886b351e87"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8cbcc2b2c929685c25b32373088dcc3676f2ef23","unresolved":false,"context_lines":[{"line_number":37,"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\u003d"},{"line_number":38,"context_line":"For doing in-band RAID configuration, Ironic needs an agent ramdisk bundled"},{"line_number":39,"context_line":"with a hardware manager which supports RAID configuration. One of the hardware"},{"line_number":40,"context_line":"managers available open source is the `Proliant Hardware Manager`_.  To"},{"line_number":41,"context_line":"create an agent ramdisk with ``Proliant Hardware Manager``, use the"},{"line_number":42,"context_line":"``proliant-tools`` element in DIB::"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_074dcf98","line":40,"updated":"2015-12-01 21:10:21.000000000","message":"s/open source/in open source/ ?","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6051a36048b1b25b9cbad320023d9a9409b6c950","unresolved":false,"context_lines":[{"line_number":37,"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\u003d"},{"line_number":38,"context_line":"For doing in-band RAID configuration, Ironic needs an agent ramdisk bundled"},{"line_number":39,"context_line":"with a hardware manager which supports RAID configuration. One of the hardware"},{"line_number":40,"context_line":"managers available open source is the `Proliant Hardware Manager`_.  To"},{"line_number":41,"context_line":"create an agent ramdisk with ``Proliant Hardware Manager``, use the"},{"line_number":42,"context_line":"``proliant-tools`` element in DIB::"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_dbeeb5b3","line":40,"in_reply_to":"9a8ffd7b_074dcf98","updated":"2015-12-07 06:05:38.000000000","message":"Done","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8cbcc2b2c929685c25b32373088dcc3676f2ef23","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Target RAID configuration"},{"line_number":59,"context_line":"-------------------------"},{"line_number":60,"context_line":"This the desired RAID configuration on the bare metal node.  Using IRONIC CLI"},{"line_number":61,"context_line":"or REST API, the operator sets ``target_raid_config`` field of the node."},{"line_number":62,"context_line":"The target RAID configuration will applied during manual cleaning."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_07662f29","line":60,"updated":"2015-12-01 21:10:21.000000000","message":"s/IRONIC/Ironic/","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6051a36048b1b25b9cbad320023d9a9409b6c950","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Target RAID configuration"},{"line_number":59,"context_line":"-------------------------"},{"line_number":60,"context_line":"This the desired RAID configuration on the bare metal node.  Using IRONIC CLI"},{"line_number":61,"context_line":"or REST API, the operator sets ``target_raid_config`` field of the node."},{"line_number":62,"context_line":"The target RAID configuration will applied during manual cleaning."},{"line_number":63,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_7b2c6102","line":60,"in_reply_to":"9a8ffd7b_07662f29","updated":"2015-12-07 06:05:38.000000000","message":"Done","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8cbcc2b2c929685c25b32373088dcc3676f2ef23","unresolved":false,"context_lines":[{"line_number":59,"context_line":"-------------------------"},{"line_number":60,"context_line":"This the desired RAID configuration on the bare metal node.  Using IRONIC CLI"},{"line_number":61,"context_line":"or REST API, the operator sets ``target_raid_config`` field of the node."},{"line_number":62,"context_line":"The target RAID configuration will applied during manual cleaning."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Target RAID configuration is a list of JSON dictionaries. It looks like::"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_c76fc7fa","line":62,"updated":"2015-12-01 21:10:21.000000000","message":"s/applied/be applied/","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6051a36048b1b25b9cbad320023d9a9409b6c950","unresolved":false,"context_lines":[{"line_number":59,"context_line":"-------------------------"},{"line_number":60,"context_line":"This the desired RAID configuration on the bare metal node.  Using IRONIC CLI"},{"line_number":61,"context_line":"or REST API, the operator sets ``target_raid_config`` field of the node."},{"line_number":62,"context_line":"The target RAID configuration will applied during manual cleaning."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Target RAID configuration is a list of JSON dictionaries. It looks like::"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_9b2fcdf5","line":62,"in_reply_to":"9a8ffd7b_c76fc7fa","updated":"2015-12-07 06:05:38.000000000","message":"Done","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8cbcc2b2c929685c25b32373088dcc3676f2ef23","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    ironic --ironic-api-version latest driver-logical-disk-properties \u003cdriver name\u003e"},{"line_number":82,"context_line":"  Ironic REST API:"},{"line_number":83,"context_line":"    curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\"  -X GET http://\u003cironic-api-url\u003e/v1/drivers/\u003cdriver name\u003e/raid/logical_disk_properties"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"The following two properties are mandatory for any logical disk:"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* ``size_gb`` - Size (Integer) of the logical disk to be created in GiB."}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_23148642","line":84,"updated":"2015-12-01 21:10:21.000000000","message":"Don\u0027t want the second \u0027-X GET\u0027","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6051a36048b1b25b9cbad320023d9a9409b6c950","unresolved":false,"context_lines":[{"line_number":81,"context_line":"    ironic --ironic-api-version latest driver-logical-disk-properties \u003cdriver name\u003e"},{"line_number":82,"context_line":"  Ironic REST API:"},{"line_number":83,"context_line":"    curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\"  -X GET http://\u003cironic-api-url\u003e/v1/drivers/\u003cdriver name\u003e/raid/logical_disk_properties"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"The following two properties are mandatory for any logical disk:"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"* ``size_gb`` - Size (Integer) of the logical disk to be created in GiB."}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_5b396540","line":84,"in_reply_to":"9a8ffd7b_23148642","updated":"2015-12-07 06:05:38.000000000","message":"Done","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8cbcc2b2c929685c25b32373088dcc3676f2ef23","unresolved":false,"context_lines":[{"line_number":196,"context_line":"       {"},{"line_number":197,"context_line":"        \"interface\": \"raid\""},{"line_number":198,"context_line":"        \"step\": \"delete_configuration\","},{"line_number":199,"context_line":"       }]"},{"line_number":200,"context_line":"    }"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"  .. note::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_03686286","line":199,"updated":"2015-12-01 21:10:21.000000000","message":"the two steps are the same. I don\u0027t think that\u0027s what we want. I\u0027m guessing the second one should be s/delete_configuration/create_configuration/.","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6051a36048b1b25b9cbad320023d9a9409b6c950","unresolved":false,"context_lines":[{"line_number":196,"context_line":"       {"},{"line_number":197,"context_line":"        \"interface\": \"raid\""},{"line_number":198,"context_line":"        \"step\": \"delete_configuration\","},{"line_number":199,"context_line":"       }]"},{"line_number":200,"context_line":"    }"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"  .. note::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_1b3c3d2e","line":199,"in_reply_to":"9a8ffd7b_03686286","updated":"2015-12-07 06:05:38.000000000","message":"Done","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8cbcc2b2c929685c25b32373088dcc3676f2ef23","unresolved":false,"context_lines":[{"line_number":205,"context_line":"    sure that only the desired logical disks exist in the system after"},{"line_number":206,"context_line":"    manual cleaning."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"* Bring the node to ``manage`` state and do a ``provide`` action to start"},{"line_number":209,"context_line":"  cleaning on the node::"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    Ironic CLI:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_63260e6a","line":208,"updated":"2015-12-01 21:10:21.000000000","message":"s/manage/manageable/\n\ns/provide/clean/\n\n(\u0027provide\u0027 will cause automated cleaning to happen; \u0027clean\u0027 is for manual cleaning.)","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6051a36048b1b25b9cbad320023d9a9409b6c950","unresolved":false,"context_lines":[{"line_number":205,"context_line":"    sure that only the desired logical disks exist in the system after"},{"line_number":206,"context_line":"    manual cleaning."},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"* Bring the node to ``manage`` state and do a ``provide`` action to start"},{"line_number":209,"context_line":"  cleaning on the node::"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    Ironic CLI:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_bb4ac9c3","line":208,"in_reply_to":"9a8ffd7b_63260e6a","updated":"2015-12-07 06:05:38.000000000","message":"Done","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"aeb4d91f0720247bb1fd1e458dbc2a826477b456","unresolved":false,"context_lines":[{"line_number":209,"context_line":"  cleaning on the node::"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    Ironic CLI:"},{"line_number":212,"context_line":"      ironic --ironic-api-version latest node-set-provision-state clean --clean-steps \u003cJSON file containing clean steps created above\u003e"},{"line_number":213,"context_line":"    REST API:"},{"line_number":214,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\" -d \u0027\u003cJSON description for clean steps as mentioned above\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/provision"},{"line_number":215,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_a58397cb","line":212,"updated":"2015-12-07 03:43:17.000000000","message":"Add  node-uuid or node-name  to the command line.\n\ns/ node-set-provision-state clean / node-set-provision-state \u003cnode-uuid-or-name\u003e clean","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6051a36048b1b25b9cbad320023d9a9409b6c950","unresolved":false,"context_lines":[{"line_number":209,"context_line":"  cleaning on the node::"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"    Ironic CLI:"},{"line_number":212,"context_line":"      ironic --ironic-api-version latest node-set-provision-state clean --clean-steps \u003cJSON file containing clean steps created above\u003e"},{"line_number":213,"context_line":"    REST API:"},{"line_number":214,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\" -d \u0027\u003cJSON description for clean steps as mentioned above\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/provision"},{"line_number":215,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_db4555b3","line":212,"in_reply_to":"7a740942_a58397cb","updated":"2015-12-07 06:05:38.000000000","message":"Done","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8cbcc2b2c929685c25b32373088dcc3676f2ef23","unresolved":false,"context_lines":[{"line_number":211,"context_line":"    Ironic CLI:"},{"line_number":212,"context_line":"      ironic --ironic-api-version latest node-set-provision-state clean --clean-steps \u003cJSON file containing clean steps created above\u003e"},{"line_number":213,"context_line":"    REST API:"},{"line_number":214,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\" -d \u0027\u003cJSON description for clean steps as mentioned above\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/provision"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"* After manual cleaning is complete, the current RAID configuration can be"},{"line_number":217,"context_line":"  viewed using::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_4378aa2b","line":214,"updated":"2015-12-01 21:10:21.000000000","message":"in the -d, also need eg \u0027{\u0027target\u0027:\u0027clean\u0027, \u0027clean_steps\u0027: \u003cJSON description...\u003e}\u0027","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6051a36048b1b25b9cbad320023d9a9409b6c950","unresolved":false,"context_lines":[{"line_number":211,"context_line":"    Ironic CLI:"},{"line_number":212,"context_line":"      ironic --ironic-api-version latest node-set-provision-state clean --clean-steps \u003cJSON file containing clean steps created above\u003e"},{"line_number":213,"context_line":"    REST API:"},{"line_number":214,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\" -d \u0027\u003cJSON description for clean steps as mentioned above\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/provision"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"* After manual cleaning is complete, the current RAID configuration can be"},{"line_number":217,"context_line":"  viewed using::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_7b1301b9","line":214,"in_reply_to":"9a8ffd7b_4378aa2b","updated":"2015-12-07 06:05:38.000000000","message":"Done","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8cbcc2b2c929685c25b32373088dcc3676f2ef23","unresolved":false,"context_lines":[{"line_number":226,"context_line":"In-band RAID configuration is done using IPA ramdisk. IPA ramdisk has"},{"line_number":227,"context_line":"support for pluggable hardware managers which can be used to extend the"},{"line_number":228,"context_line":"functionaliy offered by IPA ramdisk using stevedore plugins.  For more"},{"line_number":229,"context_line":"information, refer Ironic Python Agent `Hardware Manager`_ documentation."},{"line_number":230,"context_line":""},{"line_number":231,"context_line":".. _`Hardware Manager`: http://docs.openstack.org/developer/ironic-python-agent/#hardware-managers"},{"line_number":232,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_c3e01acf","line":229,"updated":"2015-12-01 21:10:21.000000000","message":"s/refer/see/","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6051a36048b1b25b9cbad320023d9a9409b6c950","unresolved":false,"context_lines":[{"line_number":226,"context_line":"In-band RAID configuration is done using IPA ramdisk. IPA ramdisk has"},{"line_number":227,"context_line":"support for pluggable hardware managers which can be used to extend the"},{"line_number":228,"context_line":"functionaliy offered by IPA ramdisk using stevedore plugins.  For more"},{"line_number":229,"context_line":"information, refer Ironic Python Agent `Hardware Manager`_ documentation."},{"line_number":230,"context_line":""},{"line_number":231,"context_line":".. _`Hardware Manager`: http://docs.openstack.org/developer/ironic-python-agent/#hardware-managers"},{"line_number":232,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_9b16eda5","line":229,"in_reply_to":"9a8ffd7b_c3e01acf","updated":"2015-12-07 06:05:38.000000000","message":"Done","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8cbcc2b2c929685c25b32373088dcc3676f2ef23","unresolved":false,"context_lines":[{"line_number":231,"context_line":".. _`Hardware Manager`: http://docs.openstack.org/developer/ironic-python-agent/#hardware-managers"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"For a reference implementation of hardware manager for in-band RAID"},{"line_number":234,"context_line":"configuration, refer `Proliant Hardware Manager`_."},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"The hardware manager to do RAID configuration should do the following:"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_43cd0a5c","line":234,"updated":"2015-12-01 21:10:21.000000000","message":"s/refer/see/","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6051a36048b1b25b9cbad320023d9a9409b6c950","unresolved":false,"context_lines":[{"line_number":231,"context_line":".. _`Hardware Manager`: http://docs.openstack.org/developer/ironic-python-agent/#hardware-managers"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"For a reference implementation of hardware manager for in-band RAID"},{"line_number":234,"context_line":"configuration, refer `Proliant Hardware Manager`_."},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"The hardware manager to do RAID configuration should do the following:"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a740942_3b0d7990","line":234,"in_reply_to":"9a8ffd7b_43cd0a5c","updated":"2015-12-07 06:05:38.000000000","message":"Done","commit_id":"afd7c309549b5c2c143523df9d720babbd948688"}],"doc/source/deploy/raid.rst":[{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"77080b8bf3cf10e158c34501a9e06e622a237882","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  disk-image-create -o proliant-agent-ramdisk ironic-agent fedora proliant-tools"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":".. note::"},{"line_number":49,"context_line":"  The DIB patch to build an agent ramdisk with Proliant Hardware Manager is"},{"line_number":50,"context_line":"  not merged yet.  The patch https://review.openstack.org/163754 needs to be"},{"line_number":51,"context_line":"  used in DIB for getting the proliant-tools element."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a710552_4da3599f","line":49,"updated":"2015-12-14 17:29:07.000000000","message":"This shouldn\u0027t be an in-line note -- we shouldn\u0027t merge this documentation until the feature is actually available and usable.\n\nIt should be a \"Depends-on\" line in the commit message.\n\nOr if the rest of the documentation is good but this section should be landed separately, then make it a separate patch please.","commit_id":"193a796be9b74011b0f28acdd3fecc668d1613be"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"382cc206c5949a68af09bc5a1fc8de6b08d15fc5","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  disk-image-create -o proliant-agent-ramdisk ironic-agent fedora proliant-tools"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":".. note::"},{"line_number":49,"context_line":"  The DIB patch to build an agent ramdisk with Proliant Hardware Manager is"},{"line_number":50,"context_line":"  not merged yet.  The patch https://review.openstack.org/163754 needs to be"},{"line_number":51,"context_line":"  used in DIB for getting the proliant-tools element."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a710552_1eeecb8b","line":49,"in_reply_to":"5a710552_4da3599f","updated":"2015-12-14 23:37:03.000000000","message":"Its merged now.","commit_id":"193a796be9b74011b0f28acdd3fecc668d1613be"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"93027aa3bc09508c5347e83179fc510d1ab45f86","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Target RAID configuration"},{"line_number":61,"context_line":"-------------------------"},{"line_number":62,"context_line":"This the desired RAID configuration on the bare metal node.  Using Ironic CLI"},{"line_number":63,"context_line":"or REST API, the operator sets ``target_raid_config`` field of the node."},{"line_number":64,"context_line":"The target RAID configuration will be applied during manual cleaning."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_69780c90","line":62,"updated":"2015-12-07 11:28:34.000000000","message":"nit: might be mention that the CLI patch is still not merged yet like above.... Or add a depends on your commit messages","commit_id":"193a796be9b74011b0f28acdd3fecc668d1613be"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"382cc206c5949a68af09bc5a1fc8de6b08d15fc5","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Target RAID configuration"},{"line_number":61,"context_line":"-------------------------"},{"line_number":62,"context_line":"This the desired RAID configuration on the bare metal node.  Using Ironic CLI"},{"line_number":63,"context_line":"or REST API, the operator sets ``target_raid_config`` field of the node."},{"line_number":64,"context_line":"The target RAID configuration will be applied during manual cleaning."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a710552_beff7733","line":62,"in_reply_to":"7a740942_69780c90","updated":"2015-12-14 23:37:03.000000000","message":"will add a depends on in the commit message","commit_id":"193a796be9b74011b0f28acdd3fecc668d1613be"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"93027aa3bc09508c5347e83179fc510d1ab45f86","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Each dictionary of logical disk contains the desired properties of logical"},{"line_number":79,"context_line":"disk supported by the driver.  These properties are discoverable by using"},{"line_number":80,"context_line":"Ironic CLI or REST API::"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  Ironic CLI:"},{"line_number":83,"context_line":"    ironic --ironic-api-version latest driver-logical-disk-properties \u003cdriver name\u003e"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_490670cf","line":80,"updated":"2015-12-07 11:28:34.000000000","message":"better to add comment about ironic-api-version has to be greater or equal to 1.12","commit_id":"193a796be9b74011b0f28acdd3fecc668d1613be"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"77080b8bf3cf10e158c34501a9e06e622a237882","unresolved":false,"context_lines":[{"line_number":79,"context_line":"disk supported by the driver.  These properties are discoverable by using"},{"line_number":80,"context_line":"Ironic CLI or REST API::"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  Ironic CLI:"},{"line_number":83,"context_line":"    ironic --ironic-api-version latest driver-logical-disk-properties \u003cdriver name\u003e"},{"line_number":84,"context_line":"  Ironic REST API:"},{"line_number":85,"context_line":"    curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\"  http://\u003cironic-api-url\u003e/v1/drivers/\u003cdriver name\u003e/raid/logical_disk_properties"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a710552_ed080594","line":82,"updated":"2015-12-14 17:29:07.000000000","message":"We should not be recommending the use of \"--iroinc-api-version latest\"\n\nIf this feature is available in the server at a specific version, specify *that* version here -- or don\u0027t specify any version and all, and document the error message that a user would get from an older server.","commit_id":"193a796be9b74011b0f28acdd3fecc668d1613be"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"382cc206c5949a68af09bc5a1fc8de6b08d15fc5","unresolved":false,"context_lines":[{"line_number":79,"context_line":"disk supported by the driver.  These properties are discoverable by using"},{"line_number":80,"context_line":"Ironic CLI or REST API::"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  Ironic CLI:"},{"line_number":83,"context_line":"    ironic --ironic-api-version latest driver-logical-disk-properties \u003cdriver name\u003e"},{"line_number":84,"context_line":"  Ironic REST API:"},{"line_number":85,"context_line":"    curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\"  http://\u003cironic-api-url\u003e/v1/drivers/\u003cdriver name\u003e/raid/logical_disk_properties"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a710552_a1c43892","line":82,"in_reply_to":"5a710552_ed080594","updated":"2015-12-14 23:37:03.000000000","message":"Done. added the version details and as well as the error message received if no version is specified.","commit_id":"193a796be9b74011b0f28acdd3fecc668d1613be"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"93027aa3bc09508c5347e83179fc510d1ab45f86","unresolved":false,"context_lines":[{"line_number":159,"context_line":"To see the current RAID configuration::"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"  Ironic CLI:"},{"line_number":162,"context_line":"    ironic --ironic-api-version latest node-show \u003cnode-uuid-or-name\u003e"},{"line_number":163,"context_line":"  REST API:"},{"line_number":164,"context_line":"    curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\" http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states"},{"line_number":165,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_09e868b3","line":162,"updated":"2015-12-07 11:28:34.000000000","message":"Actually, ironic node-show-states works as well.","commit_id":"193a796be9b74011b0f28acdd3fecc668d1613be"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"382cc206c5949a68af09bc5a1fc8de6b08d15fc5","unresolved":false,"context_lines":[{"line_number":159,"context_line":"To see the current RAID configuration::"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"  Ironic CLI:"},{"line_number":162,"context_line":"    ironic --ironic-api-version latest node-show \u003cnode-uuid-or-name\u003e"},{"line_number":163,"context_line":"  REST API:"},{"line_number":164,"context_line":"    curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\" http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states"},{"line_number":165,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a710552_e157a0c8","line":162,"in_reply_to":"7a740942_09e868b3","updated":"2015-12-14 23:37:03.000000000","message":"Yes but that shouldnt be the ideal way to see the node information for this.","commit_id":"193a796be9b74011b0f28acdd3fecc668d1613be"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"77080b8bf3cf10e158c34501a9e06e622a237882","unresolved":false,"context_lines":[{"line_number":211,"context_line":"  cleaning on the node::"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    Ironic CLI:"},{"line_number":214,"context_line":"      ironic --ironic-api-version latest node-set-provision-state \u003cnode-uuid-or-name\u003e clean --clean-steps \u003cJSON file containing clean steps created above\u003e"},{"line_number":215,"context_line":"    REST API:"},{"line_number":216,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\" -d \u0027{\u0027target\u0027: \u0027clean\u0027, \u0027clean_steps\u0027: \u003cJSON description for clean steps as mentioned above\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/provision"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a710552_2d460dc0","line":214,"updated":"2015-12-14 17:29:07.000000000","message":"again, do not recommend \"--ironic-api-version latest\"","commit_id":"193a796be9b74011b0f28acdd3fecc668d1613be"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"382cc206c5949a68af09bc5a1fc8de6b08d15fc5","unresolved":false,"context_lines":[{"line_number":211,"context_line":"  cleaning on the node::"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"    Ironic CLI:"},{"line_number":214,"context_line":"      ironic --ironic-api-version latest node-set-provision-state \u003cnode-uuid-or-name\u003e clean --clean-steps \u003cJSON file containing clean steps created above\u003e"},{"line_number":215,"context_line":"    REST API:"},{"line_number":216,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\" -d \u0027{\u0027target\u0027: \u0027clean\u0027, \u0027clean_steps\u0027: \u003cJSON description for clean steps as mentioned above\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/provision"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5a710552_21ba88e2","line":214,"in_reply_to":"5a710552_2d460dc0","updated":"2015-12-14 23:37:03.000000000","message":"replaced latest with actual version at all the places","commit_id":"193a796be9b74011b0f28acdd3fecc668d1613be"},{"author":{"_account_id":10202,"name":"Wan-yen Hsu","email":"wanyenhsu@gmail.com"},"change_message_id":"c2ec208845d3ae02147297fc8ed486581fd0b508","unresolved":false,"context_lines":[{"line_number":227,"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"},{"line_number":228,"context_line":"In-band RAID configuration is done using IPA ramdisk. IPA ramdisk has"},{"line_number":229,"context_line":"support for pluggable hardware managers which can be used to extend the"},{"line_number":230,"context_line":"functionaliy offered by IPA ramdisk using stevedore plugins.  For more"},{"line_number":231,"context_line":"information, see Ironic Python Agent `Hardware Manager`_ documentation."},{"line_number":232,"context_line":""},{"line_number":233,"context_line":".. _`Hardware Manager`: http://docs.openstack.org/developer/ironic-python-agent/#hardware-managers"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a740942_ce975138","line":230,"updated":"2015-12-09 06:05:02.000000000","message":"nit.  s/functionaliy/functionality","commit_id":"193a796be9b74011b0f28acdd3fecc668d1613be"},{"author":{"_account_id":16986,"name":"Shuquan Huang","email":"shuquan.huang@live.com","username":"shuquan"},"change_message_id":"d7412afd5c3c47559f8193c221af8fefda3739f9","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Prerequisites"},{"line_number":15,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":16,"context_line":"The bare metal node needs to use a driver that supports RAID"},{"line_number":17,"context_line":"configuration.  Drivers may implement RAID configuration either in-band or"},{"line_number":18,"context_line":"out-of-band."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Currently, no upstream driver supports out-of-band RAID configuration."}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa69d971_b05a6029","line":17,"range":{"start_line":17,"start_character":14,"end_line":17,"end_character":16},"updated":"2016-01-07 10:47:47.000000000","message":"There are 2 spaces here. Please just keep one space.","commit_id":"001ebc02f53f081d1db0737f2fb2799cd5889dcd"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"68953e283bbd708ea89dede78e73453b83639606","unresolved":false,"context_lines":[{"line_number":183,"context_line":"  the Ironic node::"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    Ironic CLI:"},{"line_number":186,"context_line":"      ironic --ironic-api-version 1.12 node-set-target-raid-config \u003cnode-uuid\u003e \u003cJSON file containing target RAID configuration\u003e"},{"line_number":187,"context_line":"    REST API:"},{"line_number":188,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\" -d \u0027\u003cJSON data target RAID configuration\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/raid"},{"line_number":189,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa69d971_cfa98391","line":186,"updated":"2016-01-07 02:00:21.000000000","message":"From you CLI patch, this can be \u0027-\u0027 to read input, should we also mention it in the doc?","commit_id":"001ebc02f53f081d1db0737f2fb2799cd5889dcd"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"6686c4223207b8f4e360edbc375e97152c09996b","unresolved":false,"context_lines":[{"line_number":188,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\" -d \u0027\u003cJSON data target RAID configuration\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/raid"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    The Ironci CLI can accept the input from the standard input also:"},{"line_number":191,"context_line":"       ironic --ironic-api-version 1.12 node-set-target-raid-config \u003cnode-uuid\u003e - "},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"* Create a JSON file with the RAID clean steps for manual cleaning. Add other"},{"line_number":194,"context_line":"  clean steps as required::"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7a5de9d1_95ba79e0","line":191,"updated":"2016-01-28 09:55:27.000000000","message":"extra space :)","commit_id":"82c73bc08d11f987ec8fc4efcee1d1eeae2a1fc9"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d702eb226fabc9a019795fa667c2345619a52eb8","unresolved":false,"context_lines":[{"line_number":17,"context_line":"configuration. Drivers may implement RAID configuration either in-band or"},{"line_number":18,"context_line":"out-of-band."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Currently, no upstream driver supports out-of-band RAID configuration."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In-band RAID configuration is done using the Ironic Python Agent"},{"line_number":23,"context_line":"ramdisk. For in-band RAID configuration using agent ramdisk, a hardware"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_7254d3c9","line":20,"updated":"2016-02-09 09:18:05.000000000","message":"nit: I\u0027m afraid we\u0027ll forget to remove this line..","commit_id":"35817d401e21ff3ae503035b1a3a4ffe5e077902"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c9dd7e4f8860e3c26e3be19169c5ce0e4ba5902a","unresolved":false,"context_lines":[{"line_number":17,"context_line":"configuration. Drivers may implement RAID configuration either in-band or"},{"line_number":18,"context_line":"out-of-band."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Currently, no upstream driver supports out-of-band RAID configuration."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In-band RAID configuration is done using the Ironic Python Agent"},{"line_number":23,"context_line":"ramdisk. For in-band RAID configuration using agent ramdisk, a hardware"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a57f1b5_d3bea2d3","line":20,"in_reply_to":"3a57f1b5_1b621aae","updated":"2016-02-11 08:07:10.000000000","message":"Not now. Ok, nevermind, people would still have to update this patch, if one is introduced.","commit_id":"35817d401e21ff3ae503035b1a3a4ffe5e077902"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3f4150bdd1d3bcb5f5f24839d00a6e7d55f240cf","unresolved":false,"context_lines":[{"line_number":17,"context_line":"configuration. Drivers may implement RAID configuration either in-band or"},{"line_number":18,"context_line":"out-of-band."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Currently, no upstream driver supports out-of-band RAID configuration."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"In-band RAID configuration is done using the Ironic Python Agent"},{"line_number":23,"context_line":"ramdisk. For in-band RAID configuration using agent ramdisk, a hardware"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a57f1b5_1b621aae","line":20,"in_reply_to":"5a5ae5dd_7254d3c9","updated":"2016-02-11 03:45:24.000000000","message":"I can remove this but is there any OOB RAID functionality available in Ironic?","commit_id":"35817d401e21ff3ae503035b1a3a4ffe5e077902"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d702eb226fabc9a019795fa667c2345619a52eb8","unresolved":false,"context_lines":[{"line_number":39,"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\u003d"},{"line_number":40,"context_line":"For doing in-band RAID configuration, Ironic needs an agent ramdisk bundled"},{"line_number":41,"context_line":"with a hardware manager which supports RAID configuration. One of the hardware"},{"line_number":42,"context_line":"managers available in open source is the `Proliant Hardware Manager`_. To"},{"line_number":43,"context_line":"create an agent ramdisk with ``Proliant Hardware Manager``, use the"},{"line_number":44,"context_line":"``proliant-tools`` element in DIB::"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_92514fdb","line":42,"updated":"2016-02-09 09:18:05.000000000","message":"Please mention which hardware it supports, not everyone knows what \"Proliant\" is","commit_id":"35817d401e21ff3ae503035b1a3a4ffe5e077902"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3f4150bdd1d3bcb5f5f24839d00a6e7d55f240cf","unresolved":false,"context_lines":[{"line_number":39,"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\u003d"},{"line_number":40,"context_line":"For doing in-band RAID configuration, Ironic needs an agent ramdisk bundled"},{"line_number":41,"context_line":"with a hardware manager which supports RAID configuration. One of the hardware"},{"line_number":42,"context_line":"managers available in open source is the `Proliant Hardware Manager`_. To"},{"line_number":43,"context_line":"create an agent ramdisk with ``Proliant Hardware Manager``, use the"},{"line_number":44,"context_line":"``proliant-tools`` element in DIB::"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a57f1b5_db124209","line":42,"in_reply_to":"5a5ae5dd_92514fdb","updated":"2016-02-11 03:45:24.000000000","message":"OK","commit_id":"35817d401e21ff3ae503035b1a3a4ffe5e077902"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d702eb226fabc9a019795fa667c2345619a52eb8","unresolved":false,"context_lines":[{"line_number":150,"context_line":"If the ``target_raid_config`` is an empty dictionary, it clears off the current"},{"line_number":151,"context_line":"``target_raid_config`` on the node."},{"line_number":152,"context_line":" "},{"line_number":153,"context_line":"More detailed specification can be found in `RAID Specification \u003chttp://specs.openstack.org/openstack/ironic-specs/specs/approved/ironic-generic-raid-interface.html\u003e`_"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Current RAID configuration"},{"line_number":156,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_325dfbec","line":153,"updated":"2016-02-09 09:18:05.000000000","message":"I don\u0027t think we should like to a spec, as it has high chances of going out-of-date with time (like e.g. it happened with the root device hints spec). Please move all the required information here.","commit_id":"35817d401e21ff3ae503035b1a3a4ffe5e077902"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3f4150bdd1d3bcb5f5f24839d00a6e7d55f240cf","unresolved":false,"context_lines":[{"line_number":150,"context_line":"If the ``target_raid_config`` is an empty dictionary, it clears off the current"},{"line_number":151,"context_line":"``target_raid_config`` on the node."},{"line_number":152,"context_line":" "},{"line_number":153,"context_line":"More detailed specification can be found in `RAID Specification \u003chttp://specs.openstack.org/openstack/ironic-specs/specs/approved/ironic-generic-raid-interface.html\u003e`_"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Current RAID configuration"},{"line_number":156,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a57f1b5_9b1cca14","line":153,"in_reply_to":"5a5ae5dd_325dfbec","updated":"2016-02-11 03:45:24.000000000","message":"OK.","commit_id":"35817d401e21ff3ae503035b1a3a4ffe5e077902"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d702eb226fabc9a019795fa667c2345619a52eb8","unresolved":false,"context_lines":[{"line_number":190,"context_line":"    REST API:"},{"line_number":191,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\" -d \u0027\u003cJSON data target RAID configuration\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/raid"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    The Ironci CLI can accept the input from the standard input also:"},{"line_number":194,"context_line":"       ironic --ironic-api-version 1.12 node-set-target-raid-config \u003cnode-uuid\u003e -"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"* Create a JSON file with the RAID clean steps for manual cleaning. Add other"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_5262f7ae","line":193,"updated":"2016-02-09 09:18:05.000000000","message":"typo in Ironic","commit_id":"35817d401e21ff3ae503035b1a3a4ffe5e077902"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3f4150bdd1d3bcb5f5f24839d00a6e7d55f240cf","unresolved":false,"context_lines":[{"line_number":190,"context_line":"    REST API:"},{"line_number":191,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\" -d \u0027\u003cJSON data target RAID configuration\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/raid"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    The Ironci CLI can accept the input from the standard input also:"},{"line_number":194,"context_line":"       ironic --ironic-api-version 1.12 node-set-target-raid-config \u003cnode-uuid\u003e -"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"* Create a JSON file with the RAID clean steps for manual cleaning. Add other"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a57f1b5_fbd37e36","line":193,"in_reply_to":"5a5ae5dd_5262f7ae","updated":"2016-02-11 03:45:24.000000000","message":":)","commit_id":"35817d401e21ff3ae503035b1a3a4ffe5e077902"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"d702eb226fabc9a019795fa667c2345619a52eb8","unresolved":false,"context_lines":[{"line_number":246,"context_line":"The hardware manager to do RAID configuration should do the following:"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"1. Implement a method named ``create_configuration``. The signature of the"},{"line_number":249,"context_line":"   method needs to be as follows::"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"     def create_configuration(self, node, ports):"},{"line_number":252,"context_line":"         \"\"\"Create RAID configuration on the bare metal."}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a5ae5dd_f25683cd","line":249,"updated":"2016-02-09 09:18:05.000000000","message":"I don\u0027t think we need to copy signatures here, they are readily available from source code. Better just explain what a method should do.","commit_id":"35817d401e21ff3ae503035b1a3a4ffe5e077902"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3f4150bdd1d3bcb5f5f24839d00a6e7d55f240cf","unresolved":false,"context_lines":[{"line_number":246,"context_line":"The hardware manager to do RAID configuration should do the following:"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"1. Implement a method named ``create_configuration``. The signature of the"},{"line_number":249,"context_line":"   method needs to be as follows::"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"     def create_configuration(self, node, ports):"},{"line_number":252,"context_line":"         \"\"\"Create RAID configuration on the bare metal."}],"source_content_type":"text/x-rst","patch_set":9,"id":"3a57f1b5_3bf276d3","line":249,"in_reply_to":"5a5ae5dd_f25683cd","updated":"2016-02-11 03:45:24.000000000","message":"OK.","commit_id":"35817d401e21ff3ae503035b1a3a4ffe5e077902"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8d67aa6329728b7a17fea1e1ba229809b0bcf531","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Build agent ramdisk which supports RAID configuration"},{"line_number":39,"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\u003d"},{"line_number":40,"context_line":"For doing in-band RAID configuration, Ironic needs an agent ramdisk bundled"},{"line_number":41,"context_line":"with a hardware manager which supports RAID configuration. One of the hardware"},{"line_number":42,"context_line":"managers available in open source is the `Proliant Hardware Manager`_. This"},{"line_number":43,"context_line":"hardware manager is used for configuring RAID for the HPE Proliant Servers. To"},{"line_number":44,"context_line":"create an agent ramdisk with ``Proliant Hardware Manager``, use the"},{"line_number":45,"context_line":"``proliant-tools`` element in DIB::"}],"source_content_type":"text/x-rst","patch_set":11,"id":"bae84128_a71d9abf","line":42,"range":{"start_line":41,"start_character":59,"end_line":42,"end_character":33},"updated":"2016-02-19 15:20:07.000000000","message":"This sentence might confuse people, as HP SSA is NOT open source. I\u0027d rephrase it to something like:\n\nFor in-band RAID configuration, Ironic needs an agent ramdisk bundled with a hardware manager which supports your hardware. For example, for HPE Proliant Servers the `Proliant Hardware Manager`_ should be used. To create an agent ramdisk.....","commit_id":"3c819c464aea8d76f4622a730f8ed8c4be32d915"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"a71bc5502c89b95d00ccfac853f390f80a4de876","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Build agent ramdisk which supports RAID configuration"},{"line_number":39,"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\u003d"},{"line_number":40,"context_line":"For doing in-band RAID configuration, Ironic needs an agent ramdisk bundled"},{"line_number":41,"context_line":"with a hardware manager which supports RAID configuration. One of the hardware"},{"line_number":42,"context_line":"managers available in open source is the `Proliant Hardware Manager`_. This"},{"line_number":43,"context_line":"hardware manager is used for configuring RAID for the HPE Proliant Servers. To"},{"line_number":44,"context_line":"create an agent ramdisk with ``Proliant Hardware Manager``, use the"},{"line_number":45,"context_line":"``proliant-tools`` element in DIB::"}],"source_content_type":"text/x-rst","patch_set":11,"id":"bae84128_113f21d7","line":42,"range":{"start_line":41,"start_character":59,"end_line":42,"end_character":33},"in_reply_to":"bae84128_a71d9abf","updated":"2016-02-22 03:19:34.000000000","message":"Ok","commit_id":"3c819c464aea8d76f4622a730f8ed8c4be32d915"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8d67aa6329728b7a17fea1e1ba229809b0bcf531","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The following two properties are mandatory for any logical disk:"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"* ``size_gb`` - Size (Integer) of the logical disk to be created in GiB."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"* ``raid_level`` - RAID level for the logical disk. Each driver defines the"},{"line_number":96,"context_line":"  supported RAID levels and can be seen by examining the logical disk"},{"line_number":97,"context_line":"  properties."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"  The properties can be split into 4 different types:"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"bae84128_e7a5e2b5","line":97,"range":{"start_line":93,"start_character":0,"end_line":97,"end_character":13},"updated":"2016-02-19 15:20:07.000000000","message":"this part is duplicated below and IMO should be removed","commit_id":"3c819c464aea8d76f4622a730f8ed8c4be32d915"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"a71bc5502c89b95d00ccfac853f390f80a4de876","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The following two properties are mandatory for any logical disk:"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"* ``size_gb`` - Size (Integer) of the logical disk to be created in GiB."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"* ``raid_level`` - RAID level for the logical disk. Each driver defines the"},{"line_number":96,"context_line":"  supported RAID levels and can be seen by examining the logical disk"},{"line_number":97,"context_line":"  properties."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"  The properties can be split into 4 different types:"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"bae84128_b130f502","line":97,"range":{"start_line":93,"start_character":0,"end_line":97,"end_character":13},"in_reply_to":"bae84128_e7a5e2b5","updated":"2016-02-22 03:19:34.000000000","message":"Oh yes. Thanks for the catch.","commit_id":"3c819c464aea8d76f4622a730f8ed8c4be32d915"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"8d67aa6329728b7a17fea1e1ba229809b0bcf531","unresolved":false,"context_lines":[{"line_number":96,"context_line":"  supported RAID levels and can be seen by examining the logical disk"},{"line_number":97,"context_line":"  properties."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"  The properties can be split into 4 different types:"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"  #. Mandatory properties - These properties must be specified for each logical"},{"line_number":102,"context_line":"     disk and have no default values."}],"source_content_type":"text/x-rst","patch_set":11,"id":"bae84128_a7c59a5c","line":99,"range":{"start_line":99,"start_character":0,"end_line":99,"end_character":2},"updated":"2016-02-19 15:20:07.000000000","message":"redundant indentation","commit_id":"3c819c464aea8d76f4622a730f8ed8c4be32d915"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"a71bc5502c89b95d00ccfac853f390f80a4de876","unresolved":false,"context_lines":[{"line_number":96,"context_line":"  supported RAID levels and can be seen by examining the logical disk"},{"line_number":97,"context_line":"  properties."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"  The properties can be split into 4 different types:"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"  #. Mandatory properties - These properties must be specified for each logical"},{"line_number":102,"context_line":"     disk and have no default values."}],"source_content_type":"text/x-rst","patch_set":11,"id":"bae84128_f118bd86","line":99,"range":{"start_line":99,"start_character":0,"end_line":99,"end_character":2},"in_reply_to":"bae84128_a7c59a5c","updated":"2016-02-22 03:19:34.000000000","message":"ok","commit_id":"3c819c464aea8d76f4622a730f8ed8c4be32d915"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":22,"context_line":"In-band RAID configuration is done using the Ironic Python Agent"},{"line_number":23,"context_line":"ramdisk. For in-band RAID configuration using agent ramdisk, a hardware"},{"line_number":24,"context_line":"manager which supports RAID should be bundled with the ramdisk. For more"},{"line_number":25,"context_line":"details refer to documentation below."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"If a hardware manager supporting RAID configuration is bundled in the agent"},{"line_number":28,"context_line":"ramdisk, the following production drivers support in-band RAID configuration:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_39741fce","line":25,"updated":"2016-02-25 19:33:29.000000000","message":"What do you mean by \u0027documentation below\u0027? Maybe add a link to the section?","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":22,"context_line":"In-band RAID configuration is done using the Ironic Python Agent"},{"line_number":23,"context_line":"ramdisk. For in-band RAID configuration using agent ramdisk, a hardware"},{"line_number":24,"context_line":"manager which supports RAID should be bundled with the ramdisk. For more"},{"line_number":25,"context_line":"details refer to documentation below."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"If a hardware manager supporting RAID configuration is bundled in the agent"},{"line_number":28,"context_line":"ramdisk, the following production drivers support in-band RAID configuration:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_84fc6473","line":25,"in_reply_to":"9aed3d3a_39741fce","updated":"2016-02-29 06:55:34.000000000","message":"Added the below as a new section and added the link here.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"For doing in-band RAID configuration, Ironic needs an agent ramdisk bundled"},{"line_number":42,"context_line":"with a hardware manager which supports RAID configuration for your hardware."},{"line_number":43,"context_line":"For example, the `Proliant Hardware Manager`_ should be used for HPE"},{"line_number":44,"context_line":"Proliant Servers. To create an agent ramdisk with ``Proliant Hardware Manager``,"},{"line_number":45,"context_line":"use the ``proliant-tools`` element in DIB::"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_f4ebdeae","line":43,"updated":"2016-02-25 19:33:29.000000000","message":"From here, it is all about proliant hardware manager. It seems like it should be a separate paragraph.\n\nI guess as other hardware managers support RAID, they will be documented here.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"RAID configuration JSON format"},{"line_number":52,"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"},{"line_number":53,"context_line":"The desired RAID configuration and current RAID configuration are mentioned"},{"line_number":54,"context_line":"in JSON format."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Target RAID configuration"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_343c262f","line":53,"updated":"2016-02-25 19:33:29.000000000","message":"s/mentioned/described/ or s/mentioned/represented/?","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"RAID configuration JSON format"},{"line_number":52,"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"},{"line_number":53,"context_line":"The desired RAID configuration and current RAID configuration are mentioned"},{"line_number":54,"context_line":"in JSON format."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Target RAID configuration"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_6401606a","line":53,"in_reply_to":"9aed3d3a_343c262f","updated":"2016-02-29 06:55:34.000000000","message":"done","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":80,"context_line":"  Ironic REST API:"},{"line_number":81,"context_line":"    curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\"  http://\u003cironic-api-url\u003e/v1/drivers/\u003cdriver name\u003e/raid/logical_disk_properties"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"The raid feature is available in ironic api version 1.12 and above."},{"line_number":84,"context_line":"If ``--ironic-api-version`` is not used in the CLI, it will error out with"},{"line_number":85,"context_line":"following message:"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_54544a53","line":83,"updated":"2016-02-25 19:33:29.000000000","message":"s/raid/RAID/\n\ns/api/API/","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":80,"context_line":"  Ironic REST API:"},{"line_number":81,"context_line":"    curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\"  http://\u003cironic-api-url\u003e/v1/drivers/\u003cdriver name\u003e/raid/logical_disk_properties"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"The raid feature is available in ironic api version 1.12 and above."},{"line_number":84,"context_line":"If ``--ironic-api-version`` is not used in the CLI, it will error out with"},{"line_number":85,"context_line":"following message:"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_c4faec74","line":83,"in_reply_to":"9aed3d3a_54544a53","updated":"2016-02-29 06:55:34.000000000","message":"done","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"\"No API version was specified and the requested operation was not"},{"line_number":88,"context_line":"supported by the client\u0027s negotiated API version 1.9.  Supported"},{"line_number":89,"context_line":"version range is: 1.1 to 1.15.\""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The RAID properties can be split into 4 different types:"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_74906eed","line":89,"updated":"2016-02-25 19:33:29.000000000","message":"I don\u0027t think 1.9 will change for awhile, but 1.15 will. Maybe s/1.15./.../ ?","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"\"No API version was specified and the requested operation was not"},{"line_number":88,"context_line":"supported by the client\u0027s negotiated API version 1.9.  Supported"},{"line_number":89,"context_line":"version range is: 1.1 to 1.15.\""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The RAID properties can be split into 4 different types:"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_442d3cfd","line":89,"in_reply_to":"9aed3d3a_74906eed","updated":"2016-02-29 06:55:34.000000000","message":"hmmm. Ok done as suggested and added a note also describing what \"...\" means there.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The RAID properties can be split into 4 different types:"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  #. Mandatory properties - These properties must be specified for each logical"},{"line_number":94,"context_line":"     disk and have no default values."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"     - ``size_gb`` - Size (Integer) of the logical disk to be created in GiB."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_146da204","line":93,"updated":"2016-02-25 19:33:29.000000000","message":"If you look at the generated doc, the indentation/numbering is off: http://docs-draft.openstack.org/30/226330/13/check/gate-ironic-docs/f698fd9//doc/build/html/deploy/raid.html","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"The RAID properties can be split into 4 different types:"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  #. Mandatory properties - These properties must be specified for each logical"},{"line_number":94,"context_line":"     disk and have no default values."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"     - ``size_gb`` - Size (Integer) of the logical disk to be created in GiB."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_840aa477","line":93,"in_reply_to":"9aed3d3a_146da204","updated":"2016-02-29 06:55:34.000000000","message":"hmm. Ok.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":99,"context_line":"       disks are specified (see below)."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"     - ``raid_level`` - RAID level for the logical disk. Ironic will define the"},{"line_number":102,"context_line":"       supported RAID levels as 0, 1, 2, 5, 6, 1+0, 5+0, 6+0."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":" #. Optional properties - These properties have default values and"},{"line_number":105,"context_line":"     they may be overridden in the specification of any logical disk."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_881a366d","line":102,"updated":"2016-02-25 19:33:29.000000000","message":"maybe s/will define the supported RAID levels as/supports the following RAID levels:/","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":99,"context_line":"       disks are specified (see below)."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"     - ``raid_level`` - RAID level for the logical disk. Ironic will define the"},{"line_number":102,"context_line":"       supported RAID levels as 0, 1, 2, 5, 6, 1+0, 5+0, 6+0."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":" #. Optional properties - These properties have default values and"},{"line_number":105,"context_line":"     they may be overridden in the specification of any logical disk."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_640fa088","line":102,"in_reply_to":"9aed3d3a_881a366d","updated":"2016-02-29 06:55:34.000000000","message":"ok.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":101,"context_line":"     - ``raid_level`` - RAID level for the logical disk. Ironic will define the"},{"line_number":102,"context_line":"       supported RAID levels as 0, 1, 2, 5, 6, 1+0, 5+0, 6+0."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":" #. Optional properties - These properties have default values and"},{"line_number":105,"context_line":"     they may be overridden in the specification of any logical disk."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"     - ``volume_name`` - Name of the volume. Should be unique within the Node."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_883196ef","line":104,"updated":"2016-02-25 19:33:29.000000000","message":"A suggestion. It might look better as \u0027Optional properties. These...\u0027","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":101,"context_line":"     - ``raid_level`` - RAID level for the logical disk. Ironic will define the"},{"line_number":102,"context_line":"       supported RAID levels as 0, 1, 2, 5, 6, 1+0, 5+0, 6+0."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":" #. Optional properties - These properties have default values and"},{"line_number":105,"context_line":"     they may be overridden in the specification of any logical disk."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"     - ``volume_name`` - Name of the volume. Should be unique within the Node."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_447b7cf5","line":104,"in_reply_to":"9aed3d3a_883196ef","updated":"2016-02-29 06:55:34.000000000","message":"ok.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":108,"context_line":"       If not specified, volume name will be auto-generated."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"     - ``is_root_volume`` - Set to ``true`` if this is the root volume. Can be"},{"line_number":111,"context_line":"       used for only one of logical disk. The ``root device hint`` will be"},{"line_number":112,"context_line":"       saved, if the driver is capable of retrieving it. This is ``false``"},{"line_number":113,"context_line":"       by default."},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_e8e82219","line":111,"updated":"2016-02-25 19:33:29.000000000","message":"You mean that at most one logical disk can have this set to true?","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":108,"context_line":"       If not specified, volume name will be auto-generated."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"     - ``is_root_volume`` - Set to ``true`` if this is the root volume. Can be"},{"line_number":111,"context_line":"       used for only one of logical disk. The ``root device hint`` will be"},{"line_number":112,"context_line":"       saved, if the driver is capable of retrieving it. This is ``false``"},{"line_number":113,"context_line":"       by default."},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_848104c6","line":111,"in_reply_to":"9aed3d3a_e8e82219","updated":"2016-02-29 06:55:34.000000000","message":"Yes.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":123,"context_line":"       ``false``."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"     - ``disk_type`` - ``hdd`` or ``ssd``. If this is not specified, disk type"},{"line_number":126,"context_line":"       will not be considered as a criteria to find backing physical disks."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"     - ``interface_type`` - ``sata`` or ``scsi`` or ``sas``. If this is not"},{"line_number":129,"context_line":"       specified, interface type will not be considered as a criteria to"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_c88c3e38","line":126,"updated":"2016-02-25 19:33:29.000000000","message":"s/considered as a criteria/a criterion/","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":123,"context_line":"       ``false``."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"     - ``disk_type`` - ``hdd`` or ``ssd``. If this is not specified, disk type"},{"line_number":126,"context_line":"       will not be considered as a criteria to find backing physical disks."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"     - ``interface_type`` - ``sata`` or ``scsi`` or ``sas``. If this is not"},{"line_number":129,"context_line":"       specified, interface type will not be considered as a criteria to"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_648680dc","line":126,"in_reply_to":"9aed3d3a_c88c3e38","updated":"2016-02-29 06:55:34.000000000","message":"ok","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"     - ``interface_type`` - ``sata`` or ``scsi`` or ``sas``. If this is not"},{"line_number":129,"context_line":"       specified, interface type will not be considered as a criteria to"},{"line_number":130,"context_line":"       find backing physical disks."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"     - ``number_of_physical_disks`` - Integer, number of disks to use for the"},{"line_number":133,"context_line":"       logical disk. Defaulted to minimum number of disks required for the"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_a8ad7a8a","line":130,"updated":"2016-02-25 19:33:29.000000000","message":"ditto","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"     - ``interface_type`` - ``sata`` or ``scsi`` or ``sas``. If this is not"},{"line_number":129,"context_line":"       specified, interface type will not be considered as a criteria to"},{"line_number":130,"context_line":"       find backing physical disks."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"     - ``number_of_physical_disks`` - Integer, number of disks to use for the"},{"line_number":133,"context_line":"       logical disk. Defaulted to minimum number of disks required for the"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_c46f8c29","line":130,"in_reply_to":"9aed3d3a_a8ad7a8a","updated":"2016-02-29 06:55:34.000000000","message":"ok","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":130,"context_line":"       find backing physical disks."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"     - ``number_of_physical_disks`` - Integer, number of disks to use for the"},{"line_number":133,"context_line":"       logical disk. Defaulted to minimum number of disks required for the"},{"line_number":134,"context_line":"       particular RAID level."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"  #. Backing physical disks - These are the actual machine-dependent"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_a8c45a40","line":133,"updated":"2016-02-25 19:33:29.000000000","message":"s/Defaulted/Defaults/","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":130,"context_line":"       find backing physical disks."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"     - ``number_of_physical_disks`` - Integer, number of disks to use for the"},{"line_number":133,"context_line":"       logical disk. Defaulted to minimum number of disks required for the"},{"line_number":134,"context_line":"       particular RAID level."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"  #. Backing physical disks - These are the actual machine-dependent"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_a46c0836","line":133,"in_reply_to":"9aed3d3a_a8c45a40","updated":"2016-02-29 06:55:34.000000000","message":"ok","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    Only properties from \"Backing physical disk hints\" or"},{"line_number":150,"context_line":"    \"Backing physical disks\" should be specified.  If both are specified,"},{"line_number":151,"context_line":"    they should be consistent with each other.  If they are not consistent,"},{"line_number":152,"context_line":"    then the raid configuration will fail (because the appropriate backing"},{"line_number":153,"context_line":"    physical disks could not be found)."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Let\u0027s take some examples for the sample ``target_raid_config``."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_28fe8a6b","line":152,"updated":"2016-02-25 19:33:29.000000000","message":"s/raid/RAID/","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    Only properties from \"Backing physical disk hints\" or"},{"line_number":150,"context_line":"    \"Backing physical disks\" should be specified.  If both are specified,"},{"line_number":151,"context_line":"    they should be consistent with each other.  If they are not consistent,"},{"line_number":152,"context_line":"    then the raid configuration will fail (because the appropriate backing"},{"line_number":153,"context_line":"    physical disks could not be found)."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Let\u0027s take some examples for the sample ``target_raid_config``."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_e4729010","line":152,"in_reply_to":"9aed3d3a_28fe8a6b","updated":"2016-02-29 06:55:34.000000000","message":"ok","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Let\u0027s take some examples for the sample ``target_raid_config``."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"*Example 1* - Single RAID disk of RAID level 5 with all of the space"},{"line_number":158,"context_line":"available. Make this the root volume to which Ironic deploys the image::"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"  {"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_68db72ee","line":157,"updated":"2016-02-25 19:33:29.000000000","message":"Similar comment as above. I think it will look better with a period instead of -. Eg \u0027Example 1. Single RAID...\u0027.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Let\u0027s take some examples for the sample ``target_raid_config``."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"*Example 1* - Single RAID disk of RAID level 5 with all of the space"},{"line_number":158,"context_line":"available. Make this the root volume to which Ironic deploys the image::"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"  {"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_44625c3f","line":157,"in_reply_to":"9aed3d3a_68db72ee","updated":"2016-02-29 06:55:34.000000000","message":"ok","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":201,"context_line":"                    ]"},{"line_number":202,"context_line":"  }"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"*Example 4* (using backing physical disks)::"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"  {"},{"line_number":207,"context_line":"    \u0027logical_disks\u0027:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_a84e1abf","line":204,"updated":"2016-02-25 19:33:29.000000000","message":"Don\u0027t use parentheses here since the other examples don\u0027t.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":201,"context_line":"                    ]"},{"line_number":202,"context_line":"  }"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"*Example 4* (using backing physical disks)::"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"  {"},{"line_number":207,"context_line":"    \u0027logical_disks\u0027:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_2467584e","line":204,"in_reply_to":"9aed3d3a_a84e1abf","updated":"2016-02-29 06:55:34.000000000","message":"ok","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":221,"context_line":"          \u0027size_gb\u0027: 100,"},{"line_number":222,"context_line":"          \u0027raid_level\u0027: \u00275\u0027,"},{"line_number":223,"context_line":"          \u0027controller\u0027: \u0027RAID.Integrated.1-1\u0027,"},{"line_number":224,"context_line":"          \u0027volume_name\u0027: \u0027data_volume\u0027"},{"line_number":225,"context_line":"          \u0027physical_disks\u0027: ["},{"line_number":226,"context_line":"                             \u0027Disk.Bay.2:Encl.Int.0-1:RAID.Integrated.1-1\u0027,"},{"line_number":227,"context_line":"                             \u0027Disk.Bay.3:Encl.Int.0-1:RAID.Integrated.1-1\u0027,"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_a8aa9a17","line":224,"updated":"2016-02-25 19:33:29.000000000","message":"missing \u0027,\u0027 at the end","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":221,"context_line":"          \u0027size_gb\u0027: 100,"},{"line_number":222,"context_line":"          \u0027raid_level\u0027: \u00275\u0027,"},{"line_number":223,"context_line":"          \u0027controller\u0027: \u0027RAID.Integrated.1-1\u0027,"},{"line_number":224,"context_line":"          \u0027volume_name\u0027: \u0027data_volume\u0027"},{"line_number":225,"context_line":"          \u0027physical_disks\u0027: ["},{"line_number":226,"context_line":"                             \u0027Disk.Bay.2:Encl.Int.0-1:RAID.Integrated.1-1\u0027,"},{"line_number":227,"context_line":"                             \u0027Disk.Bay.3:Encl.Int.0-1:RAID.Integrated.1-1\u0027,"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_a453686a","line":224,"in_reply_to":"9aed3d3a_a8aa9a17","updated":"2016-02-29 06:55:34.000000000","message":":) good catch.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":232,"context_line":"  }"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"If the ``target_raid_config`` is an empty dictionary, it clears off the current"},{"line_number":235,"context_line":"``target_raid_config`` on the node."},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"Current RAID configuration"},{"line_number":238,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_283b2aed","line":235,"updated":"2016-02-25 19:33:29.000000000","message":"I\u0027m not sure what \u0027clears off\u0027 means. No RAID configuration is performed? or it will remove any RAID configuration that had been done to the node before?","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":232,"context_line":"  }"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"If the ``target_raid_config`` is an empty dictionary, it clears off the current"},{"line_number":235,"context_line":"``target_raid_config`` on the node."},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"Current RAID configuration"},{"line_number":238,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_84cf4428","line":235,"in_reply_to":"9aed3d3a_283b2aed","updated":"2016-02-29 06:55:34.000000000","message":"rephrased teh documentation in the next patch. Yes it means to unset the value for \"target_raid_config\" in this case.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":244,"context_line":"WWN of each logical disk, etc. It also contains information about each"},{"line_number":245,"context_line":"physical disk found on the bare metal node."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"To see the current RAID configuration::"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"  Ironic CLI:"},{"line_number":250,"context_line":"    ironic --ironic-api-version 1.12 node-show \u003cnode-uuid-or-name\u003e"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_4baca8ed","line":247,"updated":"2016-02-25 19:33:29.000000000","message":"s/see/get/","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":244,"context_line":"WWN of each logical disk, etc. It also contains information about each"},{"line_number":245,"context_line":"physical disk found on the bare metal node."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"To see the current RAID configuration::"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"  Ironic CLI:"},{"line_number":250,"context_line":"    ironic --ironic-api-version 1.12 node-show \u003cnode-uuid-or-name\u003e"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_44f09c67","line":247,"in_reply_to":"9aed3d3a_4baca8ed","updated":"2016-02-29 06:55:34.000000000","message":"ok","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":256,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"* Operator configures the bare metal node with a driver that supports RAID"},{"line_number":259,"context_line":"  configuration (that implements ``RAIDInterface`` to be specific)."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"* For in-band RAID configuration, operator builds an agent ramdisk which"},{"line_number":262,"context_line":"  supports RAID configuration by bundling the hardware manager with the"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_cba558b6","line":259,"updated":"2016-02-25 19:33:29.000000000","message":"instead of the parentheses, how about something like \u0027-- a driver that has a ``RAIDInterface``\u0027.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":256,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"* Operator configures the bare metal node with a driver that supports RAID"},{"line_number":259,"context_line":"  configuration (that implements ``RAIDInterface`` to be specific)."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"* For in-band RAID configuration, operator builds an agent ramdisk which"},{"line_number":262,"context_line":"  supports RAID configuration by bundling the hardware manager with the"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_84e624ae","line":259,"in_reply_to":"9aed3d3a_cba558b6","updated":"2016-02-29 06:55:34.000000000","message":"ok","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":263,"context_line":"  ramdisk. See `Build agent ramdisk which supports RAID configuration`_ for"},{"line_number":264,"context_line":"  more information."},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"* Operators prepares the desired target RAID configuration as mentioned in"},{"line_number":267,"context_line":"  `Target RAID configuration`_. The target RAID configuration is set on"},{"line_number":268,"context_line":"  the Ironic node::"},{"line_number":269,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_ab76143c","line":266,"updated":"2016-02-25 19:33:29.000000000","message":"s/Operators/Operator/\n\nmaybe s/prepares/specifies/ ?","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":263,"context_line":"  ramdisk. See `Build agent ramdisk which supports RAID configuration`_ for"},{"line_number":264,"context_line":"  more information."},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"* Operators prepares the desired target RAID configuration as mentioned in"},{"line_number":267,"context_line":"  `Target RAID configuration`_. The target RAID configuration is set on"},{"line_number":268,"context_line":"  the Ironic node::"},{"line_number":269,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_04fb3448","line":266,"in_reply_to":"9aed3d3a_ab76143c","updated":"2016-02-29 06:55:34.000000000","message":"ok","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":272,"context_line":"    REST API:"},{"line_number":273,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\" -d \u0027\u003cJSON data target RAID configuration\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/raid"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"    The Ironic CLI can accept the input from the standard input also:"},{"line_number":276,"context_line":"       ironic --ironic-api-version 1.12 node-set-target-raid-config \u003cnode-uuid\u003e -"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"* Create a JSON file with the RAID clean steps for manual cleaning. Add other"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_6b540c54","line":275,"updated":"2016-02-25 19:33:29.000000000","message":"s/the standard/standard/","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":272,"context_line":"    REST API:"},{"line_number":273,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\" -d \u0027\u003cJSON data target RAID configuration\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/raid"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"    The Ironic CLI can accept the input from the standard input also:"},{"line_number":276,"context_line":"       ironic --ironic-api-version 1.12 node-set-target-raid-config \u003cnode-uuid\u003e -"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"* Create a JSON file with the RAID clean steps for manual cleaning. Add other"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_e4f73057","line":275,"in_reply_to":"9aed3d3a_6b540c54","updated":"2016-02-29 06:55:34.000000000","message":"ok","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":276,"context_line":"       ironic --ironic-api-version 1.12 node-set-target-raid-config \u003cnode-uuid\u003e -"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"* Create a JSON file with the RAID clean steps for manual cleaning. Add other"},{"line_number":279,"context_line":"  clean steps as required::"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    {"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_0bd620c5","line":279,"updated":"2016-02-25 19:33:29.000000000","message":"Maybe s/required/desired/","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":276,"context_line":"       ironic --ironic-api-version 1.12 node-set-target-raid-config \u003cnode-uuid\u003e -"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"* Create a JSON file with the RAID clean steps for manual cleaning. Add other"},{"line_number":279,"context_line":"  clean steps as required::"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"    {"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_4497fceb","line":279,"in_reply_to":"9aed3d3a_0bd620c5","updated":"2016-02-29 06:55:34.000000000","message":"ok","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":282,"context_line":"    {"},{"line_number":283,"context_line":"     \"clean_steps\": ["},{"line_number":284,"context_line":"       {"},{"line_number":285,"context_line":"        \"interface\": \u0027raid\u0027"},{"line_number":286,"context_line":"        \"step\": \"delete_configuration\","},{"line_number":287,"context_line":"       },"},{"line_number":288,"context_line":"       {"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_0bed808b","line":285,"updated":"2016-02-25 19:33:29.000000000","message":"s/\u0027raid\u0027/\"raid\"/","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":282,"context_line":"    {"},{"line_number":283,"context_line":"     \"clean_steps\": ["},{"line_number":284,"context_line":"       {"},{"line_number":285,"context_line":"        \"interface\": \u0027raid\u0027"},{"line_number":286,"context_line":"        \"step\": \"delete_configuration\","},{"line_number":287,"context_line":"       },"},{"line_number":288,"context_line":"       {"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_249c780e","line":285,"in_reply_to":"9aed3d3a_0bed808b","updated":"2016-02-29 06:55:34.000000000","message":"ok","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":301,"context_line":"  cleaning on the node::"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    Ironic CLI:"},{"line_number":304,"context_line":"      ironic --ironic-api-version 1.12 node-set-provision-state \u003cnode-uuid-or-name\u003e clean --clean-steps \u003cJSON file containing clean steps created above\u003e"},{"line_number":305,"context_line":"    REST API:"},{"line_number":306,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\" -d \u0027{\u0027target\u0027: \u0027clean\u0027, \u0027clean_steps\u0027: \u003cJSON description for clean steps as mentioned above\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/provision"},{"line_number":307,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_ab58d457","line":304,"updated":"2016-02-25 19:33:29.000000000","message":"manual cleaning is only available from 1.15.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":301,"context_line":"  cleaning on the node::"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"    Ironic CLI:"},{"line_number":304,"context_line":"      ironic --ironic-api-version 1.12 node-set-provision-state \u003cnode-uuid-or-name\u003e clean --clean-steps \u003cJSON file containing clean steps created above\u003e"},{"line_number":305,"context_line":"    REST API:"},{"line_number":306,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\" -d \u0027{\u0027target\u0027: \u0027clean\u0027, \u0027clean_steps\u0027: \u003cJSON description for clean steps as mentioned above\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/provision"},{"line_number":307,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_849d840c","line":304,"in_reply_to":"9aed3d3a_ab58d457","updated":"2016-02-29 06:55:34.000000000","message":"thanks for pointing it out. changed to 1.15.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":303,"context_line":"    Ironic CLI:"},{"line_number":304,"context_line":"      ironic --ironic-api-version 1.12 node-set-provision-state \u003cnode-uuid-or-name\u003e clean --clean-steps \u003cJSON file containing clean steps created above\u003e"},{"line_number":305,"context_line":"    REST API:"},{"line_number":306,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\" -d \u0027{\u0027target\u0027: \u0027clean\u0027, \u0027clean_steps\u0027: \u003cJSON description for clean steps as mentioned above\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/provision"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"* After manual cleaning is complete, the current RAID configuration can be"},{"line_number":309,"context_line":"  viewed using::"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_cb3558f8","line":306,"updated":"2016-02-25 19:33:29.000000000","message":"ditto","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":303,"context_line":"    Ironic CLI:"},{"line_number":304,"context_line":"      ironic --ironic-api-version 1.12 node-set-provision-state \u003cnode-uuid-or-name\u003e clean --clean-steps \u003cJSON file containing clean steps created above\u003e"},{"line_number":305,"context_line":"    REST API:"},{"line_number":306,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\" -d \u0027{\u0027target\u0027: \u0027clean\u0027, \u0027clean_steps\u0027: \u003cJSON description for clean steps as mentioned above\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/provision"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"* After manual cleaning is complete, the current RAID configuration can be"},{"line_number":309,"context_line":"  viewed using::"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_c48b0cc2","line":306,"in_reply_to":"9aed3d3a_cb3558f8","updated":"2016-02-29 06:55:34.000000000","message":"ditto","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":312,"context_line":"      ironic --ironic-api-version 1.12 node-show \u003cnode-uuid-or-name\u003e"},{"line_number":313,"context_line":"    REST API:"},{"line_number":314,"context_line":"      curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\" http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"Developer documentation"},{"line_number":317,"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"},{"line_number":318,"context_line":"In-band RAID configuration is done using IPA ramdisk. IPA ramdisk has"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_2b120463","line":315,"updated":"2016-02-25 19:33:29.000000000","message":"wow, i wonder if we\u0027re going to confuse readers with versions 1.12 and 1.15!","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":312,"context_line":"      ironic --ironic-api-version 1.12 node-show \u003cnode-uuid-or-name\u003e"},{"line_number":313,"context_line":"    REST API:"},{"line_number":314,"context_line":"      curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\" http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states"},{"line_number":315,"context_line":""},{"line_number":316,"context_line":"Developer documentation"},{"line_number":317,"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"},{"line_number":318,"context_line":"In-band RAID configuration is done using IPA ramdisk. IPA ramdisk has"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_84b46482","line":315,"in_reply_to":"9aed3d3a_2b120463","updated":"2016-02-29 06:55:34.000000000","message":"hmm, good point, i will replace 1.12 to latest.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":317,"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"},{"line_number":318,"context_line":"In-band RAID configuration is done using IPA ramdisk. IPA ramdisk has"},{"line_number":319,"context_line":"support for pluggable hardware managers which can be used to extend the"},{"line_number":320,"context_line":"functionaliy offered by IPA ramdisk using stevedore plugins.  For more"},{"line_number":321,"context_line":"information, see Ironic Python Agent `Hardware Manager`_ documentation."},{"line_number":322,"context_line":""},{"line_number":323,"context_line":".. _`Hardware Manager`: http://docs.openstack.org/developer/ironic-python-agent/#hardware-managers"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_fe2458b0","line":320,"updated":"2016-02-25 19:33:29.000000000","message":"s/functionaliy/functionality/","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":317,"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"},{"line_number":318,"context_line":"In-band RAID configuration is done using IPA ramdisk. IPA ramdisk has"},{"line_number":319,"context_line":"support for pluggable hardware managers which can be used to extend the"},{"line_number":320,"context_line":"functionaliy offered by IPA ramdisk using stevedore plugins.  For more"},{"line_number":321,"context_line":"information, see Ironic Python Agent `Hardware Manager`_ documentation."},{"line_number":322,"context_line":""},{"line_number":323,"context_line":".. _`Hardware Manager`: http://docs.openstack.org/developer/ironic-python-agent/#hardware-managers"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_64b96079","line":320,"in_reply_to":"9aed3d3a_fe2458b0","updated":"2016-02-29 06:55:34.000000000","message":"ok","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":325,"context_line":"For a reference implementation of hardware manager for in-band RAID"},{"line_number":326,"context_line":"configuration, see `Proliant Hardware Manager`_."},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"The hardware manager to do RAID configuration should do the following:"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"1. Implement a method named ``create_configuration``. This method creates"},{"line_number":331,"context_line":"   the RAID configuration as given in ``target_raid_config``. After successful"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_3eac00ed","line":328,"updated":"2016-02-25 19:33:29.000000000","message":"maybe s/to do/that supports/","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":325,"context_line":"For a reference implementation of hardware manager for in-band RAID"},{"line_number":326,"context_line":"configuration, see `Proliant Hardware Manager`_."},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"The hardware manager to do RAID configuration should do the following:"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"1. Implement a method named ``create_configuration``. This method creates"},{"line_number":331,"context_line":"   the RAID configuration as given in ``target_raid_config``. After successful"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_c4b2ec93","line":328,"in_reply_to":"9aed3d3a_3eac00ed","updated":"2016-02-29 06:55:34.000000000","message":"ok","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e00117e84bcc6e2096b0ffe5435e3c8d8c079582","unresolved":false,"context_lines":[{"line_number":330,"context_line":"1. Implement a method named ``create_configuration``. This method creates"},{"line_number":331,"context_line":"   the RAID configuration as given in ``target_raid_config``. After successful"},{"line_number":332,"context_line":"   RAID configuration, it returns the current RAID configuration in"},{"line_number":333,"context_line":"   ``node.raid_config``."},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"2. Implement a method named ``delete_configuration``. This method deletes"},{"line_number":336,"context_line":"   all the RAID disks on the bare metal."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_1eb49cf0","line":333,"updated":"2016-02-25 19:33:29.000000000","message":"it does? I mean, the hardware manager doesn\u0027t touch node.raid_config. It returns the raid config info which ironic uses to set node.raid_config, right?","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3ee02ab8670f032907986fa8f95c928e34180f8d","unresolved":false,"context_lines":[{"line_number":330,"context_line":"1. Implement a method named ``create_configuration``. This method creates"},{"line_number":331,"context_line":"   the RAID configuration as given in ``target_raid_config``. After successful"},{"line_number":332,"context_line":"   RAID configuration, it returns the current RAID configuration in"},{"line_number":333,"context_line":"   ``node.raid_config``."},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"2. Implement a method named ``delete_configuration``. This method deletes"},{"line_number":336,"context_line":"   all the RAID disks on the bare metal."}],"source_content_type":"text/x-rst","patch_set":13,"id":"9aed3d3a_246ab8ee","line":333,"in_reply_to":"9aed3d3a_1eb49cf0","updated":"2016-02-29 06:55:34.000000000","message":"Yes your understanding is right. will rephrase it.","commit_id":"6098edafb2d1084661c812c07de32e6a1bb138dd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a789deb34c7595fa1c6fe6121aa542def077042f","unresolved":false,"context_lines":[{"line_number":24,"context_line":"manager which supports RAID should be bundled with the ramdisk. For more"},{"line_number":25,"context_line":"details refer to `Current driver_support matrix for RAID`_"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Current driver_support matrix for RAID"},{"line_number":28,"context_line":"--------------------------------------"},{"line_number":29,"context_line":"If a hardware manager supporting RAID configuration is bundled in the agent"},{"line_number":30,"context_line":"ramdisk, the following production drivers support in-band RAID configuration:"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9aed3d3a_33a46eb8","line":27,"range":{"start_line":27,"start_character":14,"end_line":27,"end_character":15},"updated":"2016-03-01 10:20:52.000000000","message":"s/_/ /","commit_id":"d077a78d7b6192baf142e4184881c1b391df86e1"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a789deb34c7595fa1c6fe6121aa542def077042f","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"For more details on ``Proliant Hardware Manager``, refer to `Proliant Hardware Manager`_"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":".. _`Proliant Hardware Manager`: https://github.com/openstack/proliantutils/blob/master/proliantutils/ipa_hw_manager/hardware_manager.py#L20"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"RAID configuration JSON format"},{"line_number":60,"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"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9aed3d3a_53849209","line":57,"range":{"start_line":57,"start_character":33,"end_line":57,"end_character":140},"updated":"2016-03-01 10:20:52.000000000","message":"I don\u0027t think it\u0027s good to link people directly to source code. This is end user documentation, after all.","commit_id":"d077a78d7b6192baf142e4184881c1b391df86e1"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a789deb34c7595fa1c6fe6121aa542def077042f","unresolved":false,"context_lines":[{"line_number":92,"context_line":"If ``--ironic-api-version`` is not used in the CLI, it will error out with"},{"line_number":93,"context_line":"following message:"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"\"No API version was specified and the requested operation was not"},{"line_number":96,"context_line":"supported by the client\u0027s negotiated API version 1.9.  Supported"},{"line_number":97,"context_line":"version range is: 1.1 to ...\""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"  .. note::"},{"line_number":100,"context_line":"    The \"...\" in above error message would be actual version number"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9aed3d3a_73af167d","line":97,"range":{"start_line":95,"start_character":0,"end_line":97,"end_character":28},"updated":"2016-03-01 10:20:52.000000000","message":"to create a blockquote, please indent this paragraph. see http://restructuredtext.readthedocs.org/en/latest/rst_guide.html#blockquotes","commit_id":"d077a78d7b6192baf142e4184881c1b391df86e1"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a789deb34c7595fa1c6fe6121aa542def077042f","unresolved":false,"context_lines":[{"line_number":157,"context_line":"  .. note::"},{"line_number":158,"context_line":"    The values for these properties are hardware dependent."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"  .. note::"},{"line_number":161,"context_line":"    Only properties from \"Backing physical disk hints\" or"},{"line_number":162,"context_line":"    \"Backing physical disks\" should be specified.  If both are specified,"},{"line_number":163,"context_line":"    they should be consistent with each other.  If they are not consistent,"},{"line_number":164,"context_line":"    then the RAID configuration will fail (because the appropriate backing"},{"line_number":165,"context_line":"    physical disks could not be found)."},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Let\u0027s take some examples for the sample ``target_raid_config``."},{"line_number":168,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"9aed3d3a_730b967d","line":165,"range":{"start_line":160,"start_character":2,"end_line":165,"end_character":39},"updated":"2016-03-01 10:20:52.000000000","message":"nit: this note should be indented to the left, as it applies to the whole list","commit_id":"d077a78d7b6192baf142e4184881c1b391df86e1"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a789deb34c7595fa1c6fe6121aa542def077042f","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    then the RAID configuration will fail (because the appropriate backing"},{"line_number":165,"context_line":"    physical disks could not be found)."},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Let\u0027s take some examples for the sample ``target_raid_config``."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"*Example 1*. Single RAID disk of RAID level 5 with all of the space"},{"line_number":170,"context_line":"available. Make this the root volume to which Ironic deploys the image::"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9aed3d3a_936bba1d","line":167,"range":{"start_line":167,"start_character":0,"end_line":167,"end_character":63},"updated":"2016-03-01 10:20:52.000000000","message":"please make this a subheader:\n\n Examples of target RAID configuration\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~","commit_id":"d077a78d7b6192baf142e4184881c1b391df86e1"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"6a833b16aa8c70aadf79ed735b75e58e94713996","unresolved":false,"context_lines":[{"line_number":92,"context_line":"   supported by the client\u0027s negotiated API version 1.9.  Supported"},{"line_number":93,"context_line":"   version range is: 1.1 to ...\""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"  .. note::"},{"line_number":96,"context_line":"    The \"...\" in above error message would be actual version number"},{"line_number":97,"context_line":"    of the ironic API service running."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"The RAID properties can be split into 4 different types:"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7af24918_ab5c1c26","line":97,"range":{"start_line":95,"start_character":1,"end_line":97,"end_character":38},"updated":"2016-03-02 03:14:01.000000000","message":"there is a format issue for this","commit_id":"0e51cd5f2a5629426f118af6404674f327649fcd"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"6a833b16aa8c70aadf79ed735b75e58e94713996","unresolved":false,"context_lines":[{"line_number":154,"context_line":"    The values for these properties are hardware dependent."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":".. note::"},{"line_number":157,"context_line":"Only properties from \"Backing physical disk hints\" or"},{"line_number":158,"context_line":"\"Backing physical disks\" should be specified.  If both are specified,"},{"line_number":159,"context_line":"they should be consistent with each other.  If they are not consistent,"},{"line_number":160,"context_line":"then the RAID configuration will fail (because the appropriate backing"},{"line_number":161,"context_line":"physical disks could not be found)."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Sample examples of ``target_raid_config``"},{"line_number":164,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7af24918_10261fce","line":161,"range":{"start_line":157,"start_character":0,"end_line":161,"end_character":35},"updated":"2016-03-02 03:14:01.000000000","message":"this paragraph need indents to be shown as note.","commit_id":"0e51cd5f2a5629426f118af6404674f327649fcd"},{"author":{"_account_id":13362,"name":"Tan Lin","email":"lin.tan@intel.com","username":"zero"},"change_message_id":"6a833b16aa8c70aadf79ed735b75e58e94713996","unresolved":false,"context_lines":[{"line_number":160,"context_line":"then the RAID configuration will fail (because the appropriate backing"},{"line_number":161,"context_line":"physical disks could not be found)."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Sample examples of ``target_raid_config``"},{"line_number":164,"context_line":"^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"*Example 1*. Single RAID disk of RAID level 5 with all of the space"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7af24918_30a87b1f","line":163,"updated":"2016-03-02 03:14:01.000000000","message":"Sample examples? A little wired to me....","commit_id":"0e51cd5f2a5629426f118af6404674f327649fcd"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a6e7656366f7b3a929f1ed74c8ef961fe8c4efdc","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  \"No API version was specified and the requested operation was not"},{"line_number":92,"context_line":"   supported by the client\u0027s negotiated API version 1.9.  Supported"},{"line_number":93,"context_line":"   version range is: 1.1 to ...\""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"  .. note::"},{"line_number":96,"context_line":"    The \"...\" in above error message would be actual version number"}],"source_content_type":"text/x-rst","patch_set":17,"id":"7af24918_4169db24","line":93,"range":{"start_line":93,"start_character":31,"end_line":93,"end_character":32},"updated":"2016-03-02 13:34:52.000000000","message":"nit: no need for \"\"","commit_id":"f2ea1a1e8b5ee19ae5e0b6942209ebe270f56476"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a6e7656366f7b3a929f1ed74c8ef961fe8c4efdc","unresolved":false,"context_lines":[{"line_number":92,"context_line":"   supported by the client\u0027s negotiated API version 1.9.  Supported"},{"line_number":93,"context_line":"   version range is: 1.1 to ...\""},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"  .. note::"},{"line_number":96,"context_line":"    The \"...\" in above error message would be actual version number"},{"line_number":97,"context_line":"    of the ironic API service running."},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7af24918_a121bffd","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":2},"updated":"2016-03-02 13:34:52.000000000","message":"this should not be indented or it renders as part of the previous block","commit_id":"f2ea1a1e8b5ee19ae5e0b6942209ebe270f56476"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":22,"context_line":"In-band RAID configuration is done using the Ironic Python Agent"},{"line_number":23,"context_line":"ramdisk. For in-band RAID configuration using agent ramdisk, a hardware"},{"line_number":24,"context_line":"manager which supports RAID should be bundled with the ramdisk. For more"},{"line_number":25,"context_line":"details refer to `Current driver support matrix for RAID`_"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Current driver support matrix for RAID"},{"line_number":28,"context_line":"--------------------------------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_34a45ab8","line":25,"updated":"2016-03-03 23:02:49.000000000","message":"nit: if you do another revision, sentence should end in a period.","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3dc5e194672ec620b09eb165ccd456eb9aa67cb7","unresolved":false,"context_lines":[{"line_number":22,"context_line":"In-band RAID configuration is done using the Ironic Python Agent"},{"line_number":23,"context_line":"ramdisk. For in-band RAID configuration using agent ramdisk, a hardware"},{"line_number":24,"context_line":"manager which supports RAID should be bundled with the ramdisk. For more"},{"line_number":25,"context_line":"details refer to `Current driver support matrix for RAID`_"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Current driver support matrix for RAID"},{"line_number":28,"context_line":"--------------------------------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"5aef4532_a62007f9","line":25,"in_reply_to":"7af24918_34a45ab8","updated":"2016-03-07 10:36:51.000000000","message":"ok","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Target RAID configuration"},{"line_number":61,"context_line":"-------------------------"},{"line_number":62,"context_line":"This the desired RAID configuration on the bare metal node.  Using Ironic CLI"},{"line_number":63,"context_line":"or REST API, the operator sets ``target_raid_config`` field of the node."},{"line_number":64,"context_line":"The target RAID configuration will be applied during manual cleaning."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_7a6d2bcb","line":62,"updated":"2016-03-03 23:02:49.000000000","message":"s/This/This is/","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":63,"context_line":"or REST API, the operator sets ``target_raid_config`` field of the node."},{"line_number":64,"context_line":"The target RAID configuration will be applied during manual cleaning."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Target RAID configuration is a list of JSON dictionaries. It looks like::"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  {"},{"line_number":69,"context_line":"   \u0027logical_disks\u0027: ["}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_7a988b6a","line":66,"updated":"2016-03-03 23:02:49.000000000","message":"Sorry for being nit picky. But it is a dictionary, isn\u0027t it? With one name:value pair, the name being \u0027logical_disks\u0027? \n\nOr is the target RAID configuration that is being described, the value for \u0027logical_disks\u0027?\n\nBecause you mention at line 243, \u0027if the target_raid_config is an empty dictionary\u0027. So do you mean {}, or {\u0027logical_disks\u0027: [{}]} or ??","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3dc5e194672ec620b09eb165ccd456eb9aa67cb7","unresolved":false,"context_lines":[{"line_number":63,"context_line":"or REST API, the operator sets ``target_raid_config`` field of the node."},{"line_number":64,"context_line":"The target RAID configuration will be applied during manual cleaning."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Target RAID configuration is a list of JSON dictionaries. It looks like::"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  {"},{"line_number":69,"context_line":"   \u0027logical_disks\u0027: ["}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_69b3600b","line":66,"in_reply_to":"7af24918_7a988b6a","updated":"2016-03-07 10:36:51.000000000","message":"\u003e\u003eBecause you mention at line 243, \u0027if the target_raid_config is an empty dictionary\u0027. So do you mean {}, or {\u0027logical_disks\u0027: [{}]} or ??\n\n[NISHA] In this i meant \u0027{}\u0027\n\nfor other part of the comment:, I agree it is a dictionary whose value can be a list as per below example. I will reword the sentence.","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  Ironic REST API:"},{"line_number":85,"context_line":"    curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\"  http://\u003cironic-api-url\u003e/v1/drivers/\u003cdriver name\u003e/raid/logical_disk_properties"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"The RAID feature is available in ironic API version 1.12 and above."},{"line_number":88,"context_line":"If ``--ironic-api-version`` is not used in the CLI, it will error out with"},{"line_number":89,"context_line":"following message::"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_fa8f7b72","line":87,"updated":"2016-03-03 23:02:49.000000000","message":"Should we just mention 1.15 here and everywhere else, since you can\u0027t use RAID without manual clean?","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3dc5e194672ec620b09eb165ccd456eb9aa67cb7","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  Ironic REST API:"},{"line_number":85,"context_line":"    curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.12\"  http://\u003cironic-api-url\u003e/v1/drivers/\u003cdriver name\u003e/raid/logical_disk_properties"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"The RAID feature is available in ironic API version 1.12 and above."},{"line_number":88,"context_line":"If ``--ironic-api-version`` is not used in the CLI, it will error out with"},{"line_number":89,"context_line":"following message::"},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_29a038a5","line":87,"in_reply_to":"7af24918_fa8f7b72","updated":"2016-03-07 10:36:51.000000000","message":"Yeah, i think so but if anyone looks at the code can figure out that RAID functionality was available in 1.12. Will it not become a defect then? I agree to your point that it cant be triggered without manual cleaning.\nI will add a statement for manual cleaning part and the preference to use the version 1.15 if anyone wants to trigger RAID.","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":93,"context_line":"   version range is: 1.1 to ..."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":".. note::"},{"line_number":96,"context_line":"  The \"...\" in above error message would be actual version number"},{"line_number":97,"context_line":"  of the ironic API service running."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"The RAID properties can be split into 4 different types:"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_b4706a0c","line":96,"updated":"2016-03-03 23:02:49.000000000","message":"I find it excessive to use a note when this is not very important. It seems like it should suffice to say eg \u0027where the \"...\" in above ...\u0027.","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3dc5e194672ec620b09eb165ccd456eb9aa67cb7","unresolved":false,"context_lines":[{"line_number":93,"context_line":"   version range is: 1.1 to ..."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":".. note::"},{"line_number":96,"context_line":"  The \"...\" in above error message would be actual version number"},{"line_number":97,"context_line":"  of the ironic API service running."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"The RAID properties can be split into 4 different types:"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_09a57cb4","line":96,"in_reply_to":"7af24918_b4706a0c","updated":"2016-03-07 10:36:51.000000000","message":"ok.","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":".. note::"},{"line_number":96,"context_line":"  The \"...\" in above error message would be actual version number"},{"line_number":97,"context_line":"  of the ironic API service running."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"The RAID properties can be split into 4 different types:"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_d4dff6d3","line":97,"updated":"2016-03-03 23:02:49.000000000","message":"I don\u0027t think it is correct to say \u0027actual version number\u0027. The API service supports various version numbers, this is the maximum version supported by the service.","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3dc5e194672ec620b09eb165ccd456eb9aa67cb7","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":".. note::"},{"line_number":96,"context_line":"  The \"...\" in above error message would be actual version number"},{"line_number":97,"context_line":"  of the ironic API service running."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"The RAID properties can be split into 4 different types:"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_49866414","line":97,"in_reply_to":"7af24918_d4dff6d3","updated":"2016-03-07 10:36:51.000000000","message":"I am not sure, but i think the service should be aware of the maximum version number, which means its actual max version.","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":98,"context_line":""},{"line_number":99,"context_line":"The RAID properties can be split into 4 different types:"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":" #. Mandatory properties. These properties must be specified for each logical"},{"line_number":102,"context_line":"    disk and have no default values."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"     - ``size_gb`` - Size (Integer) of the logical disk to be created in GiB."}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_f492f2f4","line":101,"updated":"2016-03-03 23:02:49.000000000","message":"You seem to have too much indentation. Have you tried it without the leading space, eg s/ #/#/ ?\n\nSimilar for the other points below.","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":101,"context_line":" #. Mandatory properties. These properties must be specified for each logical"},{"line_number":102,"context_line":"    disk and have no default values."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"     - ``size_gb`` - Size (Integer) of the logical disk to be created in GiB."},{"line_number":105,"context_line":"       ``MAX`` may be specified if the logical disk should use all of the"},{"line_number":106,"context_line":"       remaining space available. This can be used only when backing physical"},{"line_number":107,"context_line":"       disks are specified (see below)."}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_d4a4164c","line":104,"updated":"2016-03-03 23:02:49.000000000","message":"similar thing here and below. I think if you do s/ -/-/ it won\u0027t be indented so much.","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":107,"context_line":"       disks are specified (see below)."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"     - ``raid_level`` - RAID level for the logical disk. Ironic supports the"},{"line_number":110,"context_line":"       following RAID levels:0, 1, 2, 5, 6, 1+0, 5+0, 6+0."},{"line_number":111,"context_line":""},{"line_number":112,"context_line":" #. Optional properties. These properties have default values and"},{"line_number":113,"context_line":"    they may be overridden in the specification of any logical disk."}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_14503e31","line":110,"updated":"2016-03-03 23:02:49.000000000","message":"s/levels:/levels: /.  (Ie need a space before the first \u00270\u0027.","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":116,"context_line":"       If not specified, volume name will be auto-generated."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"     - ``is_root_volume`` - Set to ``true`` if this is the root volume. Can be"},{"line_number":119,"context_line":"       used for only one of logical disk. The ``root device hint`` will be"},{"line_number":120,"context_line":"       saved, if the driver is capable of retrieving it. This is ``false``"},{"line_number":121,"context_line":"       by default."},{"line_number":122,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_f42e72a3","line":119,"updated":"2016-03-03 23:02:49.000000000","message":"Instead of the \u0027Can be used...\u0027 sentence, how about \u0027At most one logical disk can have this set to ``true``; the other logical disks must have this set to ``false``.","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":151,"context_line":"       driver."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  .. note::"},{"line_number":154,"context_line":"    The values for these properties are hardware dependent."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":" .. note::"},{"line_number":157,"context_line":"   Only properties from \"Backing physical disk hints\" or"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_b7998cc6","line":154,"updated":"2016-03-03 23:02:49.000000000","message":"If you look at the rendered page, there are two boxes with Notes. It doesn\u0027t look that great. I don\u0027t even think this needs to be in a Notes box. How about just putting this sentence above, after line 147?","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3dc5e194672ec620b09eb165ccd456eb9aa67cb7","unresolved":false,"context_lines":[{"line_number":151,"context_line":"       driver."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  .. note::"},{"line_number":154,"context_line":"    The values for these properties are hardware dependent."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":" .. note::"},{"line_number":157,"context_line":"   Only properties from \"Backing physical disk hints\" or"}],"source_content_type":"text/x-rst","patch_set":18,"id":"5aef4532_a9ad788a","line":154,"in_reply_to":"7af24918_b7998cc6","updated":"2016-03-07 10:36:51.000000000","message":"ok","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"If the ``target_raid_config`` is an empty dictionary, it unsets the value of"},{"line_number":244,"context_line":"``target_raid_config`` if the value was set with previous RAID configuration"},{"line_number":245,"context_line":"done on the node."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"Current RAID configuration"},{"line_number":248,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_7a252b5a","line":245,"updated":"2016-03-03 23:02:49.000000000","message":"I don\u0027t think it makes sense to mention this in the Examples section. Maybe mention it above line 78?\n\nI\u0027m not crazy about the way this is worded; it doesn\u0027t indicate what this means to the user. Eg, you set the target to an empty dictionary. Then when cleaning is done and \u003csome clean step\u003e is invoked, what happens? That is what would be useful to me if I were to read this.","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3dc5e194672ec620b09eb165ccd456eb9aa67cb7","unresolved":false,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"If the ``target_raid_config`` is an empty dictionary, it unsets the value of"},{"line_number":244,"context_line":"``target_raid_config`` if the value was set with previous RAID configuration"},{"line_number":245,"context_line":"done on the node."},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"Current RAID configuration"},{"line_number":248,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"5aef4532_e97820fb","line":245,"in_reply_to":"7af24918_7a252b5a","updated":"2016-03-07 10:36:51.000000000","message":"I am not sure why it doesnt make sense. But i have worded the way it is already merged and works in ironic in Liberty timeframe. https://github.com/openstack/ironic/blob/master/ironic/conductor/manager.py#L2088-L2089\n\nI dont think its correct to move it to above the examples section.","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":318,"context_line":"  viewed using::"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    Ironic CLI:"},{"line_number":321,"context_line":"      ironic --ironic-api-version latest node-show \u003cnode-uuid-or-name\u003e"},{"line_number":322,"context_line":"    REST API:"},{"line_number":323,"context_line":"      curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\" http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states"},{"line_number":324,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_bade93da","line":321,"updated":"2016-03-03 23:02:49.000000000","message":"why did you use \u0027latest\u0027 instead of 1.15?","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3dc5e194672ec620b09eb165ccd456eb9aa67cb7","unresolved":false,"context_lines":[{"line_number":318,"context_line":"  viewed using::"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    Ironic CLI:"},{"line_number":321,"context_line":"      ironic --ironic-api-version latest node-show \u003cnode-uuid-or-name\u003e"},{"line_number":322,"context_line":"    REST API:"},{"line_number":323,"context_line":"      curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\" http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states"},{"line_number":324,"context_line":""}],"source_content_type":"text/x-rst","patch_set":18,"id":"5aef4532_a9e578a9","line":321,"in_reply_to":"7af24918_bade93da","updated":"2016-03-07 10:36:51.000000000","message":"changed to 1.15","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":320,"context_line":"    Ironic CLI:"},{"line_number":321,"context_line":"      ironic --ironic-api-version latest node-show \u003cnode-uuid-or-name\u003e"},{"line_number":322,"context_line":"    REST API:"},{"line_number":323,"context_line":"      curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\" http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"Developer documentation"},{"line_number":326,"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"}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_3af1e36b","line":323,"updated":"2016-03-03 23:02:49.000000000","message":"ditto","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3dc5e194672ec620b09eb165ccd456eb9aa67cb7","unresolved":false,"context_lines":[{"line_number":320,"context_line":"    Ironic CLI:"},{"line_number":321,"context_line":"      ironic --ironic-api-version latest node-show \u003cnode-uuid-or-name\u003e"},{"line_number":322,"context_line":"    REST API:"},{"line_number":323,"context_line":"      curl -X GET -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: latest\" http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"Developer documentation"},{"line_number":326,"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"}],"source_content_type":"text/x-rst","patch_set":18,"id":"5aef4532_89e23c9e","line":323,"in_reply_to":"7af24918_3af1e36b","updated":"2016-03-07 10:36:51.000000000","message":"ditto","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":16986,"name":"Shuquan Huang","email":"shuquan.huang@live.com","username":"shuquan"},"change_message_id":"221df6c76c0918deb20b86270063a5745f575047","unresolved":false,"context_lines":[{"line_number":339,"context_line":""},{"line_number":340,"context_line":"The hardware manager that supports RAID configuration should do the following:"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"1. Implement a method named ``create_configuration``. This method creates"},{"line_number":343,"context_line":"   the RAID configuration as given in ``target_raid_config``. After successful"},{"line_number":344,"context_line":"   RAID configuration, it returns the current RAID configuration information"},{"line_number":345,"context_line":"   which ironic uses to set ``node.raid_config``."}],"source_content_type":"text/x-rst","patch_set":19,"id":"5aef4532_1f1495f3","line":342,"range":{"start_line":342,"start_character":0,"end_line":342,"end_character":1},"updated":"2016-03-07 13:48:45.000000000","message":"We can use # here","commit_id":"94e6025894ec9eb1e4e49d8a9cab51d87e9c2d5a"},{"author":{"_account_id":16986,"name":"Shuquan Huang","email":"shuquan.huang@live.com","username":"shuquan"},"change_message_id":"221df6c76c0918deb20b86270063a5745f575047","unresolved":false,"context_lines":[{"line_number":344,"context_line":"   RAID configuration, it returns the current RAID configuration information"},{"line_number":345,"context_line":"   which ironic uses to set ``node.raid_config``."},{"line_number":346,"context_line":""},{"line_number":347,"context_line":"2. Implement a method named ``delete_configuration``. This method deletes"},{"line_number":348,"context_line":"   all the RAID disks on the bare metal."},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"3. Return these two clean steps in ``get_clean_steps`` method with priority"}],"source_content_type":"text/x-rst","patch_set":19,"id":"5aef4532_df306da1","line":347,"range":{"start_line":347,"start_character":0,"end_line":347,"end_character":1},"updated":"2016-03-07 13:48:45.000000000","message":"ditto","commit_id":"94e6025894ec9eb1e4e49d8a9cab51d87e9c2d5a"},{"author":{"_account_id":16986,"name":"Shuquan Huang","email":"shuquan.huang@live.com","username":"shuquan"},"change_message_id":"221df6c76c0918deb20b86270063a5745f575047","unresolved":false,"context_lines":[{"line_number":347,"context_line":"2. Implement a method named ``delete_configuration``. This method deletes"},{"line_number":348,"context_line":"   all the RAID disks on the bare metal."},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"3. Return these two clean steps in ``get_clean_steps`` method with priority"},{"line_number":351,"context_line":"   as 0. Example::"},{"line_number":352,"context_line":""},{"line_number":353,"context_line":"        return [{\u0027step\u0027: \u0027create_configuration\u0027,"}],"source_content_type":"text/x-rst","patch_set":19,"id":"5aef4532_5f1d7d0e","line":350,"range":{"start_line":350,"start_character":0,"end_line":350,"end_character":1},"updated":"2016-03-07 13:48:45.000000000","message":"ditto","commit_id":"94e6025894ec9eb1e4e49d8a9cab51d87e9c2d5a"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"cac7341e54a538808d17c6e81d6e007e106fce76","unresolved":false,"context_lines":[{"line_number":29,"context_line":"If a hardware manager supporting RAID configuration is bundled in the agent"},{"line_number":30,"context_line":"ramdisk, the following production drivers support in-band RAID configuration:"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* agent_ilo"},{"line_number":33,"context_line":"* agent_ipmitool"},{"line_number":34,"context_line":"* agent_pyghmi"},{"line_number":35,"context_line":"* iscsi_ilo"},{"line_number":36,"context_line":"* pxe_ilo"},{"line_number":37,"context_line":"* pxe_ipmitool"},{"line_number":38,"context_line":"* pxe_ipminative"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Build agent ramdisk which supports RAID configuration"},{"line_number":41,"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\u003d"}],"source_content_type":"text/x-rst","patch_set":20,"id":"5aef4532_226e5101","line":38,"range":{"start_line":32,"start_character":0,"end_line":38,"end_character":16},"updated":"2016-03-08 16:49:21.000000000","message":"I would prefer if we could avoid adding a list of drivers like this because it can easily get outdated. Looking at the drivers there are more drivers already that has the raid interface [0][1][2].\n\nWhat if we described how to know if a driver has support for RAID?\n\nIf you run:\n\n $ ironic node-validate node-0\n\n It will show the RAID interface and say if it\u0027s supported or not.\n\n | raid       | True   |\n\n or\n\n | raid       | None   | not supported\n\n\n[0]https://github.com/openstack/ironic/blob/f47d4ee6cac5ddf0cb3afb7627a22edadd48343d/ironic/drivers/agent.py#L121\n\n[1] https://github.com/openstack/ironic/blob/f47d4ee6cac5ddf0cb3afb7627a22edadd48343d/ironic/drivers/agent.py#L150\n\n[2] https://github.com/openstack/ironic/blob/4d9815f35770325e9a8468f16a0c2dd38de293f6/ironic/drivers/pxe.py#L293","commit_id":"2e0cbe9db33e410f8441dbccfd90a8faf9f68e40"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"fe1ed333c718cc5d88efa668be3f9b84922b6520","unresolved":false,"context_lines":[{"line_number":29,"context_line":"If a hardware manager supporting RAID configuration is bundled in the agent"},{"line_number":30,"context_line":"ramdisk, the following production drivers support in-band RAID configuration:"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"* agent_ilo"},{"line_number":33,"context_line":"* agent_ipmitool"},{"line_number":34,"context_line":"* agent_pyghmi"},{"line_number":35,"context_line":"* iscsi_ilo"},{"line_number":36,"context_line":"* pxe_ilo"},{"line_number":37,"context_line":"* pxe_ipmitool"},{"line_number":38,"context_line":"* pxe_ipminative"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Build agent ramdisk which supports RAID configuration"},{"line_number":41,"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\u003d"}],"source_content_type":"text/x-rst","patch_set":20,"id":"5aef4532_b68bc31d","line":38,"range":{"start_line":32,"start_character":0,"end_line":38,"end_character":16},"in_reply_to":"5aef4532_226e5101","updated":"2016-03-08 17:39:05.000000000","message":"ok","commit_id":"2e0cbe9db33e410f8441dbccfd90a8faf9f68e40"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"cac7341e54a538808d17c6e81d6e007e106fce76","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* pxe_ipmitool"},{"line_number":38,"context_line":"* pxe_ipminative"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Build agent ramdisk which supports RAID configuration"},{"line_number":41,"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\u003d"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"For doing in-band RAID configuration, Ironic needs an agent ramdisk bundled"},{"line_number":44,"context_line":"with a hardware manager which supports RAID configuration for your hardware."},{"line_number":45,"context_line":"For example, the `DIB support for Proliant Hardware Manager`_ should be used for HPE"},{"line_number":46,"context_line":"Proliant Servers."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"DIB support for Proliant Hardware Manager"},{"line_number":49,"context_line":"-----------------------------------------"},{"line_number":50,"context_line":"To create an agent ramdisk with ``Proliant Hardware Manager``,"},{"line_number":51,"context_line":"use the ``proliant-tools`` element in DIB::"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  disk-image-create -o proliant-agent-ramdisk ironic-agent fedora proliant-tools"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"RAID configuration JSON format"},{"line_number":56,"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"}],"source_content_type":"text/x-rst","patch_set":20,"id":"5aef4532_e29589e4","line":53,"range":{"start_line":40,"start_character":0,"end_line":53,"end_character":80},"updated":"2016-03-08 16:49:21.000000000","message":"This is vendor specific, shouldn\u0027t this be documented as part of the iLO driver?\n\nWe could add a link to the iLO documentation from here.","commit_id":"2e0cbe9db33e410f8441dbccfd90a8faf9f68e40"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"fe1ed333c718cc5d88efa668be3f9b84922b6520","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* pxe_ipmitool"},{"line_number":38,"context_line":"* pxe_ipminative"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Build agent ramdisk which supports RAID configuration"},{"line_number":41,"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\u003d"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"For doing in-band RAID configuration, Ironic needs an agent ramdisk bundled"},{"line_number":44,"context_line":"with a hardware manager which supports RAID configuration for your hardware."},{"line_number":45,"context_line":"For example, the `DIB support for Proliant Hardware Manager`_ should be used for HPE"},{"line_number":46,"context_line":"Proliant Servers."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"DIB support for Proliant Hardware Manager"},{"line_number":49,"context_line":"-----------------------------------------"},{"line_number":50,"context_line":"To create an agent ramdisk with ``Proliant Hardware Manager``,"},{"line_number":51,"context_line":"use the ``proliant-tools`` element in DIB::"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  disk-image-create -o proliant-agent-ramdisk ironic-agent fedora proliant-tools"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"RAID configuration JSON format"},{"line_number":56,"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"}],"source_content_type":"text/x-rst","patch_set":20,"id":"5aef4532_966327dc","line":53,"range":{"start_line":40,"start_character":0,"end_line":53,"end_character":80},"in_reply_to":"5aef4532_e29589e4","updated":"2016-03-08 17:39:05.000000000","message":"Ok","commit_id":"2e0cbe9db33e410f8441dbccfd90a8faf9f68e40"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"0ceffa850baca9f28f9a3355bf7b9abdafb0ebb0","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"For doing in-band RAID configuration, Ironic needs an agent ramdisk bundled"},{"line_number":32,"context_line":"with a hardware manager which supports RAID configuration for your hardware."},{"line_number":33,"context_line":"For example, the :ref:`DIB_raid_support` should be used for HPE"},{"line_number":34,"context_line":"Proliant Servers."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"RAID configuration JSON format"}],"source_content_type":"text/x-rst","patch_set":22,"id":"5aef4532_a2630f41","line":33,"updated":"2016-03-10 10:04:06.000000000","message":"This link is broken due a typo in the ilo.rst doc :-( \n\nsee: http://docs-draft.openstack.org/30/226330/22/check/gate-ironic-docs/d984b4e//doc/build/html/deploy/raid.html","commit_id":"5ff834197002fc4a2e631c884b5bed74148985c8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"45bd6914aea69db044a9e05848fc48c64fa489fa","unresolved":false,"context_lines":[{"line_number":44,"context_line":"or REST API, the operator sets ``target_raid_config`` field of the node."},{"line_number":45,"context_line":"The target RAID configuration will be applied during manual cleaning."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Target RAID configuration is a list of JSON dictionaries. It looks like::"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"  {"},{"line_number":50,"context_line":"   \u0027logical_disks\u0027: ["}],"source_content_type":"text/x-rst","patch_set":23,"id":"5aef4532_75289533","line":47,"updated":"2016-03-10 14:26:08.000000000","message":"Continuing comments from revision 18. Is the target RAID configuration the value for \u0027logical_disks\u0027? If so, it would be worth mentioning that. Or is it the dictionary: {\u0027logical_disks\u0027: ...}. If the latter, then this description is incorrect.","commit_id":"9efd286207bbba1796da540b85598fd8a8a75e40"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"06e354907e834d63c033bfaa13054485eff1df84","unresolved":false,"context_lines":[{"line_number":44,"context_line":"or REST API, the operator sets ``target_raid_config`` field of the node."},{"line_number":45,"context_line":"The target RAID configuration will be applied during manual cleaning."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Target RAID configuration is a list of JSON dictionaries. It looks like::"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"  {"},{"line_number":50,"context_line":"   \u0027logical_disks\u0027: ["}],"source_content_type":"text/x-rst","patch_set":23,"id":"3afc51ec_776952be","line":47,"in_reply_to":"3afc51ec_52f38b9e","updated":"2016-03-14 02:40:03.000000000","message":"I can see (so yes, it is obvious) that the example is a dictionary of .... But the text above described it as a \u0027list of ...\u0027 which isn\u0027t the same as a \u0027dictionary of ...\u0027. The discrepancy between the two seems confusing to me, but I guess it doesn\u0027t to you?\n\nThank you for updating the description in the next revision.","commit_id":"9efd286207bbba1796da540b85598fd8a8a75e40"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"89fea853dc421044c3a6b6d5e9d89d3de684e2e4","unresolved":false,"context_lines":[{"line_number":44,"context_line":"or REST API, the operator sets ``target_raid_config`` field of the node."},{"line_number":45,"context_line":"The target RAID configuration will be applied during manual cleaning."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Target RAID configuration is a list of JSON dictionaries. It looks like::"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"  {"},{"line_number":50,"context_line":"   \u0027logical_disks\u0027: ["}],"source_content_type":"text/x-rst","patch_set":23,"id":"3afc51ec_52f38b9e","line":47,"in_reply_to":"5aef4532_75289533","updated":"2016-03-13 18:20:20.000000000","message":"I am not sure whats the confusion. but obviosuly it is a dictionary of logical_disks whose value can be a list means there can be \u0027N\u0027 number of logical disks asked to be configured on the system.","commit_id":"9efd286207bbba1796da540b85598fd8a8a75e40"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"03ebe45d9f3778ebb37a90b4d6ca6c69a61268c3","unresolved":false,"context_lines":[{"line_number":133,"context_line":"     driver."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":" .. note::"},{"line_number":136,"context_line":"   Only properties from \"Backing physical disk hints\" or"},{"line_number":137,"context_line":"   \"Backing physical disks\" should be specified.  If both are specified,"},{"line_number":138,"context_line":"   they should be consistent with each other.  If they are not consistent,"},{"line_number":139,"context_line":"   then the RAID configuration will fail (because the appropriate backing"},{"line_number":140,"context_line":"   physical disks could not be found)."}],"source_content_type":"text/x-rst","patch_set":23,"id":"5aef4532_5f8bf81e","line":137,"range":{"start_line":136,"start_character":3,"end_line":137,"end_character":48},"updated":"2016-03-10 13:59:30.000000000","message":"Better to remove this sentence should be removed because there is contradiction with next one.","commit_id":"9efd286207bbba1796da540b85598fd8a8a75e40"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"89fea853dc421044c3a6b6d5e9d89d3de684e2e4","unresolved":false,"context_lines":[{"line_number":133,"context_line":"     driver."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":" .. note::"},{"line_number":136,"context_line":"   Only properties from \"Backing physical disk hints\" or"},{"line_number":137,"context_line":"   \"Backing physical disks\" should be specified.  If both are specified,"},{"line_number":138,"context_line":"   they should be consistent with each other.  If they are not consistent,"},{"line_number":139,"context_line":"   then the RAID configuration will fail (because the appropriate backing"},{"line_number":140,"context_line":"   physical disks could not be found)."}],"source_content_type":"text/x-rst","patch_set":23,"id":"3afc51ec_b23acf34","line":137,"range":{"start_line":136,"start_character":3,"end_line":137,"end_character":48},"in_reply_to":"5aef4532_5f8bf81e","updated":"2016-03-13 18:20:20.000000000","message":"Ok. I will rephrase.","commit_id":"9efd286207bbba1796da540b85598fd8a8a75e40"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"45bd6914aea69db044a9e05848fc48c64fa489fa","unresolved":false,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"If the ``target_raid_config`` is an empty dictionary, it unsets the value of"},{"line_number":223,"context_line":"``target_raid_config`` if the value was set with previous RAID configuration"},{"line_number":224,"context_line":"done on the node."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Current RAID configuration"},{"line_number":227,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5aef4532_757ed56a","line":224,"updated":"2016-03-10 14:26:08.000000000","message":"Sorry, continuing this discussion from revision 18. It doesn\u0027t make sense to describe this here, because it shouldn\u0027t only be mentioned under \u0027Examples\u0027. This is a description of the functionality of the feature, not an example. I think it should be mentioned above, under \u0027Target RAID configuration\u0027.","commit_id":"9efd286207bbba1796da540b85598fd8a8a75e40"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"89fea853dc421044c3a6b6d5e9d89d3de684e2e4","unresolved":false,"context_lines":[{"line_number":221,"context_line":""},{"line_number":222,"context_line":"If the ``target_raid_config`` is an empty dictionary, it unsets the value of"},{"line_number":223,"context_line":"``target_raid_config`` if the value was set with previous RAID configuration"},{"line_number":224,"context_line":"done on the node."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Current RAID configuration"},{"line_number":227,"context_line":"--------------------------"}],"source_content_type":"text/x-rst","patch_set":23,"id":"3afc51ec_524a6bc6","line":224,"in_reply_to":"5aef4532_757ed56a","updated":"2016-03-13 18:20:20.000000000","message":"Ok.","commit_id":"9efd286207bbba1796da540b85598fd8a8a75e40"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"03ebe45d9f3778ebb37a90b4d6ca6c69a61268c3","unresolved":false,"context_lines":[{"line_number":256,"context_line":"  the Ironic node::"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    Ironic CLI:"},{"line_number":259,"context_line":"      ironic --ironic-api-version 1.15 node-set-target-raid-config \u003cnode-uuid\u003e \u003cJSON file containing target RAID configuration\u003e"},{"line_number":260,"context_line":"    REST API:"},{"line_number":261,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.15\" -d \u0027\u003cJSON data target RAID configuration\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/raid"},{"line_number":262,"context_line":""}],"source_content_type":"text/x-rst","patch_set":23,"id":"5aef4532_1f9330fb","line":259,"updated":"2016-03-10 13:59:30.000000000","message":"s/\u003cnode-uuid\u003e/\u003cnode-uuid-or-name\u003e there is inconsistency with next example","commit_id":"9efd286207bbba1796da540b85598fd8a8a75e40"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"89fea853dc421044c3a6b6d5e9d89d3de684e2e4","unresolved":false,"context_lines":[{"line_number":256,"context_line":"  the Ironic node::"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    Ironic CLI:"},{"line_number":259,"context_line":"      ironic --ironic-api-version 1.15 node-set-target-raid-config \u003cnode-uuid\u003e \u003cJSON file containing target RAID configuration\u003e"},{"line_number":260,"context_line":"    REST API:"},{"line_number":261,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.15\" -d \u0027\u003cJSON data target RAID configuration\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/raid"},{"line_number":262,"context_line":""}],"source_content_type":"text/x-rst","patch_set":23,"id":"3afc51ec_921233b3","line":259,"in_reply_to":"5aef4532_1f9330fb","updated":"2016-03-13 18:20:20.000000000","message":"Ok","commit_id":"9efd286207bbba1796da540b85598fd8a8a75e40"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"03ebe45d9f3778ebb37a90b4d6ca6c69a61268c3","unresolved":false,"context_lines":[{"line_number":261,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.15\" -d \u0027\u003cJSON data target RAID configuration\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/raid"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    The Ironic CLI can accept the input from standard input also:"},{"line_number":264,"context_line":"       ironic --ironic-api-version 1.15 node-set-target-raid-config \u003cnode-uuid\u003e -"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"* Create a JSON file with the RAID clean steps for manual cleaning. Add other"},{"line_number":267,"context_line":"  clean steps as desired::"}],"source_content_type":"text/x-rst","patch_set":23,"id":"5aef4532_df7a68bc","line":264,"updated":"2016-03-10 13:59:30.000000000","message":"ditto","commit_id":"9efd286207bbba1796da540b85598fd8a8a75e40"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"89fea853dc421044c3a6b6d5e9d89d3de684e2e4","unresolved":false,"context_lines":[{"line_number":261,"context_line":"      curl -X PUT -H \"Content-Type: application/json\" -H \"X-Auth-Token: $AUTH_TOKEN\" -H \"X-OpenStack-Ironic-API-Version: 1.15\" -d \u0027\u003cJSON data target RAID configuration\u003e\u0027 http://\u003cironic-api-url\u003e/v1/nodes/\u003cnode-uuid-or-name\u003e/states/raid"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    The Ironic CLI can accept the input from standard input also:"},{"line_number":264,"context_line":"       ironic --ironic-api-version 1.15 node-set-target-raid-config \u003cnode-uuid\u003e -"},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"* Create a JSON file with the RAID clean steps for manual cleaning. Add other"},{"line_number":267,"context_line":"  clean steps as desired::"}],"source_content_type":"text/x-rst","patch_set":23,"id":"3afc51ec_7217a7a3","line":264,"in_reply_to":"5aef4532_df7a68bc","updated":"2016-03-13 18:20:20.000000000","message":"ok.","commit_id":"9efd286207bbba1796da540b85598fd8a8a75e40"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"55009a039c836cbda9d45286952768f7e837b615","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"If the ``target_raid_config`` is an empty dictionary, it unsets the value of"},{"line_number":62,"context_line":"``target_raid_config`` if the value was set with previous RAID configuration"},{"line_number":63,"context_line":"done on the node."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Each dictionary of logical disk contains the desired properties of logical"},{"line_number":66,"context_line":"disk supported by the driver.  These properties are discoverable by using"}],"source_content_type":"text/x-rst","patch_set":24,"id":"3afc51ec_f7ff22ff","line":63,"updated":"2016-03-14 02:35:08.000000000","message":"Every time I see this, I wonder what this means. I asked before but it wasn\u0027t addressed so I decided not to bring it up again, but reading this again makes me ask the same question. What does this mean to the user/operator?\n\nI\u0027m assuming that it means that any subsequent \u0027create_configuration\u0027 clean step doesn\u0027t do anything?","commit_id":"139358b396cdaa810c577e7e4f5ef75900fc64a4"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"55009a039c836cbda9d45286952768f7e837b615","unresolved":false,"context_lines":[{"line_number":139,"context_line":"     driver."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":" .. note::"},{"line_number":142,"context_line":"   If properties from both \"Backing physical disk hints\" or"},{"line_number":143,"context_line":"   \"Backing physical disks\" are specified, they should be consistent with"},{"line_number":144,"context_line":"   each other.  If they are not consistent, then the RAID configuration"},{"line_number":145,"context_line":"   will fail (because the appropriate backing physical disks could"}],"source_content_type":"text/x-rst","patch_set":24,"id":"3afc51ec_343ce8e1","line":142,"updated":"2016-03-14 02:35:08.000000000","message":"If you do another revision, s/or/and/","commit_id":"139358b396cdaa810c577e7e4f5ef75900fc64a4"}],"doc/source/drivers/ilo.rst":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"8c4ff3f9abeed3df077363e7ff3ef253dda16260","unresolved":false,"context_lines":[{"line_number":588,"context_line":""},{"line_number":589,"context_line":"The boot modes can be configured in ironic in the following way:"},{"line_number":590,"context_line":""},{"line_number":591,"context_line":"* When boot mode capability is not configured, these drivers preserve the"},{"line_number":592,"context_line":"  current boot mode of the bare metal ProLiant server. If operator/user"},{"line_number":593,"context_line":"  doesn\u0027t care about boot modes for servers, then the boot mode capability"},{"line_number":594,"context_line":"  need not be configured."}],"source_content_type":"text/x-rst","patch_set":18,"id":"7af24918_1432fea6","line":591,"updated":"2016-03-03 23:02:49.000000000","message":"I\u0027m not sure what\u0027s going on. The rendered page doesn\u0027t look like this. Nor is the version in master.\n\n(Maybe it needs to be rebased, and Jenkins automatically does that.)","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"3dc5e194672ec620b09eb165ccd456eb9aa67cb7","unresolved":false,"context_lines":[{"line_number":588,"context_line":""},{"line_number":589,"context_line":"The boot modes can be configured in ironic in the following way:"},{"line_number":590,"context_line":""},{"line_number":591,"context_line":"* When boot mode capability is not configured, these drivers preserve the"},{"line_number":592,"context_line":"  current boot mode of the bare metal ProLiant server. If operator/user"},{"line_number":593,"context_line":"  doesn\u0027t care about boot modes for servers, then the boot mode capability"},{"line_number":594,"context_line":"  need not be configured."}],"source_content_type":"text/x-rst","patch_set":18,"id":"5aef4532_498674ba","line":591,"in_reply_to":"7af24918_1432fea6","updated":"2016-03-07 10:36:51.000000000","message":"Thanks for pointing this out. Looks like m branch is not latest","commit_id":"546c22d8b1df72a6899cbeab7b569d74823bec44"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"cac7341e54a538808d17c6e81d6e007e106fce76","unresolved":false,"context_lines":[{"line_number":327,"context_line":""},{"line_number":328,"context_line":"RAID support"},{"line_number":329,"context_line":"~~~~~~~~~~~~"},{"line_number":330,"context_line":"See :ref:`raid` for more information."},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"agent_ilo driver"},{"line_number":333,"context_line":"^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":20,"id":"5aef4532_65cb4354","line":330,"updated":"2016-03-08 16:49:21.000000000","message":"I think it should be the other way around, the raid documentation should have a link to the iLO one (and other drivers as they are added) to explain how the RAID support works for iLO","commit_id":"2e0cbe9db33e410f8441dbccfd90a8faf9f68e40"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"fe1ed333c718cc5d88efa668be3f9b84922b6520","unresolved":false,"context_lines":[{"line_number":327,"context_line":""},{"line_number":328,"context_line":"RAID support"},{"line_number":329,"context_line":"~~~~~~~~~~~~"},{"line_number":330,"context_line":"See :ref:`raid` for more information."},{"line_number":331,"context_line":""},{"line_number":332,"context_line":"agent_ilo driver"},{"line_number":333,"context_line":"^^^^^^^^^^^^^^^^"}],"source_content_type":"text/x-rst","patch_set":20,"id":"5aef4532_76681b88","line":330,"in_reply_to":"5aef4532_65cb4354","updated":"2016-03-08 17:39:05.000000000","message":"This is to refer the reader to the link how in general raid works/can be invoked via manual cleaning which is there in general raid documentation.\nI still think this is better way else whenever any vendor adds teh raid support it will require changes in general raid documentation just to add the link.","commit_id":"2e0cbe9db33e410f8441dbccfd90a8faf9f68e40"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"bf2047dc0629c3de109342c7a523acc21237ce12","unresolved":false,"context_lines":[{"line_number":1286,"context_line":"RAID Support"},{"line_number":1287,"context_line":"^^^^^^^^^^^^"},{"line_number":1288,"context_line":""},{"line_number":1289,"context_line":"The inband RAID functionality is now supported by iLO drivers."},{"line_number":1290,"context_line":"See :ref:`raid` for more information."},{"line_number":1291,"context_line":""},{"line_number":1292,"context_line":".. _DIB_raid_suppor:"}],"source_content_type":"text/x-rst","patch_set":22,"id":"5aef4532_0724955b","line":1289,"range":{"start_line":1289,"start_character":33,"end_line":1289,"end_character":46},"updated":"2016-03-10 09:33:01.000000000","message":"Is the RAID support there in the official IPA images from tarballs.openstack.org? Or do I need to build a cusom one with DIB?","commit_id":"5ff834197002fc4a2e631c884b5bed74148985c8"},{"author":{"_account_id":11297,"name":"Nisha Agarwal","email":"agarwalnisha1980@gmail.com","username":"Nisha"},"change_message_id":"28755d61cb73e2ff2cb84f36763afb471acab2eb","unresolved":false,"context_lines":[{"line_number":1286,"context_line":"RAID Support"},{"line_number":1287,"context_line":"^^^^^^^^^^^^"},{"line_number":1288,"context_line":""},{"line_number":1289,"context_line":"The inband RAID functionality is now supported by iLO drivers."},{"line_number":1290,"context_line":"See :ref:`raid` for more information."},{"line_number":1291,"context_line":""},{"line_number":1292,"context_line":".. _DIB_raid_suppor:"}],"source_content_type":"text/x-rst","patch_set":22,"id":"5aef4532_62062721","line":1289,"range":{"start_line":1289,"start_character":33,"end_line":1289,"end_character":46},"in_reply_to":"5aef4532_0724955b","updated":"2016-03-10 10:10:38.000000000","message":"You need to build it with DIB for HPE hardwares.","commit_id":"5ff834197002fc4a2e631c884b5bed74148985c8"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"0ceffa850baca9f28f9a3355bf7b9abdafb0ebb0","unresolved":false,"context_lines":[{"line_number":1289,"context_line":"The inband RAID functionality is now supported by iLO drivers."},{"line_number":1290,"context_line":"See :ref:`raid` for more information."},{"line_number":1291,"context_line":""},{"line_number":1292,"context_line":".. _DIB_raid_suppor:"},{"line_number":1293,"context_line":""},{"line_number":1294,"context_line":"DIB support for Proliant Hardware Manager"},{"line_number":1295,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":22,"id":"5aef4532_6220e7f7","line":1292,"updated":"2016-03-10 10:04:06.000000000","message":"typo\n\n_DIB_raid_support (missing \u0027t\u0027)","commit_id":"5ff834197002fc4a2e631c884b5bed74148985c8"}]}
