)]}'
{"specs/approved/manual-deploying.rst":[{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":12,"context_line":"https://storyboard.openstack.org/#!/story/2005129"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Manual deployment (as opposed to automated deployment) can be used by the"},{"line_number":15,"context_line":"operators to perform certain configuration after a node is provisioned."},{"line_number":16,"context_line":"Some of the use cases are listed below:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Change of BIOS settings to disable hyper-threading in order to address a"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_25cf6f58","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":9},"updated":"2019-07-23 14:03:37.000000000","message":"Shouldn\u0027t this be \u0027user\u0027 (rather than operators) as later on you use \u0027nova resize\u0027 as the trigger for such configuration changes? From what I understand, the whole spec is about giving user means to reconfigure their instances.","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":12,"context_line":"https://storyboard.openstack.org/#!/story/2005129"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Manual deployment (as opposed to automated deployment) can be used by the"},{"line_number":15,"context_line":"operators to perform certain configuration after a node is provisioned."},{"line_number":16,"context_line":"Some of the use cases are listed below:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Change of BIOS settings to disable hyper-threading in order to address a"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_8e61833c","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":9},"in_reply_to":"7faddb67_25cf6f58","updated":"2019-07-25 06:50:29.000000000","message":"Yes, you\u0027re right. Updated in the latest patch.","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"operators to perform certain configuration after a node is provisioned."},{"line_number":16,"context_line":"Some of the use cases are listed below:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Change of BIOS settings to disable hyper-threading in order to address a"},{"line_number":19,"context_line":"  security vulnerability."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"* Change of Intel Speed Select Performance Profile configuration to address"},{"line_number":22,"context_line":"  different workloads."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_e5f15797","line":19,"range":{"start_line":18,"start_character":26,"end_line":19,"end_character":25},"updated":"2019-07-23 14:03:37.000000000","message":"Nit: Sounds very specific. I suggest:\n* Change of BIOS settings, e.g. to disable hyper-threading ...","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":7900,"name":"Tomasz Paszkowski","email":"ss7pro@gmail.com","username":"tpaszkowski"},"change_message_id":"cf056a8094d316ced846d572e6f1c7b3ab0f1213","unresolved":false,"context_lines":[{"line_number":15,"context_line":"operators to perform certain configuration after a node is provisioned."},{"line_number":16,"context_line":"Some of the use cases are listed below:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Change of BIOS settings to disable hyper-threading in order to address a"},{"line_number":19,"context_line":"  security vulnerability."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"* Change of Intel Speed Select Performance Profile configuration to address"},{"line_number":22,"context_line":"  different workloads."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_f30ca53c","line":19,"range":{"start_line":18,"start_character":26,"end_line":19,"end_character":25},"updated":"2019-07-24 20:58:29.000000000","message":"we can also control CPU prefetching behavior through BIOS settings.","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":15,"context_line":"operators to perform certain configuration after a node is provisioned."},{"line_number":16,"context_line":"Some of the use cases are listed below:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Change of BIOS settings to disable hyper-threading in order to address a"},{"line_number":19,"context_line":"  security vulnerability."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"* Change of Intel Speed Select Performance Profile configuration to address"},{"line_number":22,"context_line":"  different workloads."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_2e508f5e","line":19,"range":{"start_line":18,"start_character":26,"end_line":19,"end_character":25},"in_reply_to":"7faddb67_e5f15797","updated":"2019-07-25 06:50:29.000000000","message":"Done","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":15,"context_line":"operators to perform certain configuration after a node is provisioned."},{"line_number":16,"context_line":"Some of the use cases are listed below:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Change of BIOS settings to disable hyper-threading in order to address a"},{"line_number":19,"context_line":"  security vulnerability."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"* Change of Intel Speed Select Performance Profile configuration to address"},{"line_number":22,"context_line":"  different workloads."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_ce4e9bc0","line":19,"range":{"start_line":18,"start_character":26,"end_line":19,"end_character":25},"in_reply_to":"7faddb67_f30ca53c","updated":"2019-07-25 06:50:29.000000000","message":"Added in the examples list. Thanks!","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":28,"context_line":"Once a node is deployed and has moved to \u0027active\u0027, further changes to the"},{"line_number":29,"context_line":"configuration of the node need to performed OOB by the user of the instance."},{"line_number":30,"context_line":"Since such post-deploy changes are not infrequent and can affect a large number"},{"line_number":31,"context_line":"of machines, it is desirable to have such support in Ironic where operators can"},{"line_number":32,"context_line":"execute explicit deployment steps manually (rather than requiring the operator"},{"line_number":33,"context_line":"to resort to other tools)."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_0544b3b6","line":31,"range":{"start_line":31,"start_character":66,"end_line":31,"end_character":75},"updated":"2019-07-23 14:03:37.000000000","message":"s/operators/users/","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":28,"context_line":"Once a node is deployed and has moved to \u0027active\u0027, further changes to the"},{"line_number":29,"context_line":"configuration of the node need to performed OOB by the user of the instance."},{"line_number":30,"context_line":"Since such post-deploy changes are not infrequent and can affect a large number"},{"line_number":31,"context_line":"of machines, it is desirable to have such support in Ironic where operators can"},{"line_number":32,"context_line":"execute explicit deployment steps manually (rather than requiring the operator"},{"line_number":33,"context_line":"to resort to other tools)."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_ee4917b7","line":31,"range":{"start_line":31,"start_character":66,"end_line":31,"end_character":75},"in_reply_to":"7faddb67_0544b3b6","updated":"2019-07-25 06:50:29.000000000","message":"Done","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"configuration of the node need to performed OOB by the user of the instance."},{"line_number":30,"context_line":"Since such post-deploy changes are not infrequent and can affect a large number"},{"line_number":31,"context_line":"of machines, it is desirable to have such support in Ironic where operators can"},{"line_number":32,"context_line":"execute explicit deployment steps manually (rather than requiring the operator"},{"line_number":33,"context_line":"to resort to other tools)."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"This RFE proposes to extend the deploy template framework to allow for"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_c5177ba3","line":32,"range":{"start_line":32,"start_character":70,"end_line":32,"end_character":78},"updated":"2019-07-23 14:03:37.000000000","message":"ditto","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":29,"context_line":"configuration of the node need to performed OOB by the user of the instance."},{"line_number":30,"context_line":"Since such post-deploy changes are not infrequent and can affect a large number"},{"line_number":31,"context_line":"of machines, it is desirable to have such support in Ironic where operators can"},{"line_number":32,"context_line":"execute explicit deployment steps manually (rather than requiring the operator"},{"line_number":33,"context_line":"to resort to other tools)."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"This RFE proposes to extend the deploy template framework to allow for"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_4ed06bca","line":32,"range":{"start_line":32,"start_character":70,"end_line":32,"end_character":78},"in_reply_to":"7faddb67_c5177ba3","updated":"2019-07-25 06:50:29.000000000","message":"Done","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"The user should be able to specify the deploy steps to be executed, Ironic then"},{"line_number":41,"context_line":"checks the validity of these steps (e.g. excludes a RAID re-configuration), and"},{"line_number":42,"context_line":"apply the requested deploy steps."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_25268f18","line":42,"range":{"start_line":42,"start_character":0,"end_line":42,"end_character":5},"updated":"2019-07-23 14:03:37.000000000","message":"Nit: applies","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"The user should be able to specify the deploy steps to be executed, Ironic then"},{"line_number":41,"context_line":"checks the validity of these steps (e.g. excludes a RAID re-configuration), and"},{"line_number":42,"context_line":"apply the requested deploy steps."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_2ed5efb7","line":42,"range":{"start_line":42,"start_character":0,"end_line":42,"end_character":5},"in_reply_to":"7faddb67_25268f18","updated":"2019-07-25 06:50:29.000000000","message":"Done","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":52,"context_line":"  Once the reconfiguration is finished, the node will be put in the"},{"line_number":53,"context_line":"  ACTIVE state again."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Operators will be able to initiate a reconfigure via the modified API"},{"line_number":56,"context_line":"  to set the nodes\u0027s provision state with `target` and `deploy_steps`"},{"line_number":57,"context_line":"  arguments."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_45686b20","line":55,"range":{"start_line":55,"start_character":2,"end_line":55,"end_character":11},"updated":"2019-07-23 14:03:37.000000000","message":"Users?","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":52,"context_line":"  Once the reconfiguration is finished, the node will be put in the"},{"line_number":53,"context_line":"  ACTIVE state again."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* Operators will be able to initiate a reconfigure via the modified API"},{"line_number":56,"context_line":"  to set the nodes\u0027s provision state with `target` and `deploy_steps`"},{"line_number":57,"context_line":"  arguments."},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_cee3fba3","line":55,"range":{"start_line":55,"start_character":2,"end_line":55,"end_character":11},"in_reply_to":"7faddb67_45686b20","updated":"2019-07-25 06:50:29.000000000","message":"Done","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"* An outline of the standard (non-error) reconfigure processes follows:"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"#. User calls Nova resize() on a node with a new flavor."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"#. Nova ComputeManager calculates the delta of new flavor with old flavor and"},{"line_number":69,"context_line":"   pass the new traits to IronicVirtDriver."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_343d672c","line":66,"range":{"start_line":66,"start_character":14,"end_line":66,"end_character":27},"updated":"2019-07-23 14:03:37.000000000","message":"From what I understand, resize() would basically be the user side trigger to reconfigure a physical instance. And you chose this since the configuration change to apply is the delta between two flavors (as I had initially thought that rebuild() would sound more intuitive) ... is that correct?\n\nAnother question:\nIf nova resize() is passed a new flavor that differs only in traits and can be served from the same node, will nova (or placement) actually realize? I think what we\u0027d like to avoid is re-doing the scheduling followed by a cold-migration, no?","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"* An outline of the standard (non-error) reconfigure processes follows:"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"#. User calls Nova resize() on a node with a new flavor."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"#. Nova ComputeManager calculates the delta of new flavor with old flavor and"},{"line_number":69,"context_line":"   pass the new traits to IronicVirtDriver."}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_f116da49","line":66,"range":{"start_line":66,"start_character":14,"end_line":66,"end_character":27},"in_reply_to":"7faddb67_343d672c","updated":"2019-07-25 06:50:29.000000000","message":"A rebuild recreates the instance on the same node, overwriting all disk. Whereas a reconfigure will only apply few settings on an active node, no recreation or disk deletion is done here.\n\nFor the second question, the resize will do no rescheduling. The initial target of implementation of resize for Ironic driver in Nova is to:\n* apply the traits on the same node.\n* if traits don\u0027t match, the resize fails.","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"#. User calls Nova resize() on a node with a new flavor."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"#. Nova ComputeManager calculates the delta of new flavor with old flavor and"},{"line_number":69,"context_line":"   pass the new traits to IronicVirtDriver."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"#. Virt driver looks for the matching deploy template."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_c5ca1b19","line":69,"range":{"start_line":68,"start_character":3,"end_line":69,"end_character":43},"updated":"2019-07-23 14:03:37.000000000","message":"What happens when the traits cannot be fulfilled by the same node?","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"#. User calls Nova resize() on a node with a new flavor."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"#. Nova ComputeManager calculates the delta of new flavor with old flavor and"},{"line_number":69,"context_line":"   pass the new traits to IronicVirtDriver."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"#. Virt driver looks for the matching deploy template."},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_5121ee9e","line":69,"range":{"start_line":68,"start_character":3,"end_line":69,"end_character":43},"in_reply_to":"7faddb67_c5ca1b19","updated":"2019-07-25 06:50:29.000000000","message":"The resize will fail.","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":79,"context_line":"#. Ironic API receives set_provision_state call, and performs"},{"line_number":80,"context_line":"   do_node_reconfigure RPC call (ACTIVE -\u003e RECONFIGURE)."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"#. Ironic conductor performs the deploy steps"},{"line_number":83,"context_line":"   (RECONFIGURE -\u003e RECONFIGURING)."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"#. Ironic conductor sets the state back to ACTIVE upon completion."},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_a5bcbf6c","line":83,"range":{"start_line":82,"start_character":0,"end_line":83,"end_character":34},"updated":"2019-07-23 14:03:37.000000000","message":"I don\u0027t understand how the conductor does this ... has it booted the node into the deploy image, is there something listening on the instance, ...? Could you elaborate this a bit?","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":79,"context_line":"#. Ironic API receives set_provision_state call, and performs"},{"line_number":80,"context_line":"   do_node_reconfigure RPC call (ACTIVE -\u003e RECONFIGURE)."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"#. Ironic conductor performs the deploy steps"},{"line_number":83,"context_line":"   (RECONFIGURE -\u003e RECONFIGURING)."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"#. Ironic conductor sets the state back to ACTIVE upon completion."},{"line_number":86,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_3136b2e9","line":83,"range":{"start_line":82,"start_character":0,"end_line":83,"end_character":34},"in_reply_to":"7faddb67_a5bcbf6c","updated":"2019-07-25 06:50:29.000000000","message":"Ok I have added more detail in the latest patch. Thanks!","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":89,"context_line":"Alternatives"},{"line_number":90,"context_line":"------------"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Continue to not allow reconfiguration. Let operators perform manual OOB"},{"line_number":93,"context_line":"operation to do these operations."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_a5611f14","line":92,"range":{"start_line":92,"start_character":43,"end_line":92,"end_character":52},"updated":"2019-07-23 14:03:37.000000000","message":"s/operators/users/","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":89,"context_line":"Alternatives"},{"line_number":90,"context_line":"------------"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Continue to not allow reconfiguration. Let operators perform manual OOB"},{"line_number":93,"context_line":"operation to do these operations."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_8eef4386","line":92,"range":{"start_line":92,"start_character":43,"end_line":92,"end_character":52},"in_reply_to":"7faddb67_a5611f14","updated":"2019-07-25 06:50:29.000000000","message":"Done","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":101,"context_line":"State Machine Impact"},{"line_number":102,"context_line":"--------------------"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"* Add states to the Ironic state machine: RECONFIGURE, RECONFURING,"},{"line_number":105,"context_line":"  RECONFIGUREFAIL"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* Add transitions to the Ironic state machine:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_25752fcd","line":104,"range":{"start_line":104,"start_character":55,"end_line":104,"end_character":66},"updated":"2019-07-23 14:03:37.000000000","message":"RECONFIGURING","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":101,"context_line":"State Machine Impact"},{"line_number":102,"context_line":"--------------------"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"* Add states to the Ironic state machine: RECONFIGURE, RECONFURING,"},{"line_number":105,"context_line":"  RECONFIGUREFAIL"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* Add transitions to the Ironic state machine:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_aef23f6e","line":104,"range":{"start_line":104,"start_character":55,"end_line":104,"end_character":66},"in_reply_to":"7faddb67_25752fcd","updated":"2019-07-25 06:50:29.000000000","message":"Done","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* Add transitions to the Ironic state machine:"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"  * ACTIVE -\u003e RECONFURING (initiate reconfigure)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"  * ACTIVE -\u003e RECONFURE (reconfigure complete)"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_543a6334","line":109,"range":{"start_line":109,"start_character":14,"end_line":109,"end_character":25},"updated":"2019-07-23 14:03:37.000000000","message":"Should this be \u0027RECONFIGURING\u0027?","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* Add transitions to the Ironic state machine:"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"  * ACTIVE -\u003e RECONFURING (initiate reconfigure)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"  * ACTIVE -\u003e RECONFURE (reconfigure complete)"},{"line_number":112,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_ce7f7ba9","line":109,"range":{"start_line":109,"start_character":14,"end_line":109,"end_character":25},"in_reply_to":"7faddb67_543a6334","updated":"2019-07-25 06:50:29.000000000","message":"Done","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"  * ACTIVE -\u003e RECONFIGUREFAIL (a reconfiguration may fail)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"  * RECONFURING -\u003e ACTIVE (reconfigure succeeds)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"  * RECONFURING -\u003e RECONFIGUREFAIL (reconfigure fails)"},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_f446efc0","line":115,"range":{"start_line":115,"start_character":4,"end_line":115,"end_character":15},"updated":"2019-07-23 14:03:37.000000000","message":"see above","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"  * ACTIVE -\u003e RECONFIGUREFAIL (a reconfiguration may fail)"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"  * RECONFURING -\u003e ACTIVE (reconfigure succeeds)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"  * RECONFURING -\u003e RECONFIGUREFAIL (reconfigure fails)"},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_0e5fd341","line":115,"range":{"start_line":115,"start_character":4,"end_line":115,"end_character":15},"in_reply_to":"7faddb67_f446efc0","updated":"2019-07-25 06:50:29.000000000","message":"Done","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"  * RECONFURING -\u003e ACTIVE (reconfigure succeeds)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"  * RECONFURING -\u003e RECONFIGUREFAIL (reconfigure fails)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"  * RECONFIGUREFAIL -\u003e RECONFIGURING (re-reconfigure)"},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_740c3f94","line":117,"range":{"start_line":117,"start_character":4,"end_line":117,"end_character":15},"updated":"2019-07-23 14:03:37.000000000","message":"see above","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"  * RECONFURING -\u003e ACTIVE (reconfigure succeeds)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"  * RECONFURING -\u003e RECONFIGUREFAIL (reconfigure fails)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"  * RECONFIGUREFAIL -\u003e RECONFIGURING (re-reconfigure)"},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_2e5acf4f","line":117,"range":{"start_line":117,"start_character":4,"end_line":117,"end_character":15},"in_reply_to":"7faddb67_740c3f94","updated":"2019-07-25 06:50:29.000000000","message":"Done","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Add state machine verbs:"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"  * RECONFURE"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"REST API impact"},{"line_number":130,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_9411bbaf","line":127,"range":{"start_line":127,"start_character":4,"end_line":127,"end_character":13},"updated":"2019-07-23 14:03:37.000000000","message":"RECONFIGURE?","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Add state machine verbs:"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"  * RECONFURE"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"REST API impact"},{"line_number":130,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_2e716fdf","line":127,"range":{"start_line":127,"start_character":4,"end_line":127,"end_character":13},"in_reply_to":"7faddb67_9411bbaf","updated":"2019-07-25 06:50:29.000000000","message":"Done","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"f76f05af5f66b5bfef96c2d52d5ebc17be8da02a","unresolved":false,"context_lines":[{"line_number":193,"context_line":"Nova driver impact"},{"line_number":194,"context_line":"------------------"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Implement resize() in the Nova driver."},{"line_number":197,"context_line":""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"Ramdisk impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_45094b2f","line":196,"range":{"start_line":196,"start_character":26,"end_line":196,"end_character":37},"updated":"2019-07-23 14:03:37.000000000","message":"I\u0027d call this the ironic driver in nova. Maybe add a reference, so we are sure?","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"ee5e6a257ecfe6247caebbe740585b1bff00e9fd","unresolved":false,"context_lines":[{"line_number":193,"context_line":"Nova driver impact"},{"line_number":194,"context_line":"------------------"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Implement resize() in the Nova driver."},{"line_number":197,"context_line":""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"Ramdisk impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_6eec478f","line":196,"range":{"start_line":196,"start_character":26,"end_line":196,"end_character":37},"in_reply_to":"7faddb67_45094b2f","updated":"2019-07-25 06:50:29.000000000","message":"Done","commit_id":"1383436f7e5257ff2e336073e89bc872c90a9c67"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"e32ab4d3a828c8b3a9ba646b78ea3ab1647c37bd","unresolved":false,"context_lines":[{"line_number":12,"context_line":"https://storyboard.openstack.org/#!/story/2005129"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Manual deployment (as opposed to automated deployment) can be used by the"},{"line_number":15,"context_line":"users to perform certain configuration after a node is provisioned."},{"line_number":16,"context_line":"Some of the use cases are listed below:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Change of BIOS settings, e.g. disable hyper-threading in order to address a"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7faddb67_848fbb28","line":15,"range":{"start_line":15,"start_character":9,"end_line":15,"end_character":16},"updated":"2019-08-01 07:34:51.000000000","message":"apply? or \"perform certain configuration changes\"","commit_id":"d9a43fc95dcbd7e55c58b290ddd896aa4adab8a1"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"f072ac1ceeda4ce1e275f31a71312ff38895fc6e","unresolved":false,"context_lines":[{"line_number":12,"context_line":"https://storyboard.openstack.org/#!/story/2005129"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Manual deployment (as opposed to automated deployment) can be used by the"},{"line_number":15,"context_line":"users to perform certain configuration after a node is provisioned."},{"line_number":16,"context_line":"Some of the use cases are listed below:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Change of BIOS settings, e.g. disable hyper-threading in order to address a"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7faddb67_de7bd4f1","line":15,"range":{"start_line":15,"start_character":9,"end_line":15,"end_character":16},"in_reply_to":"7faddb67_848fbb28","updated":"2019-08-08 09:59:25.000000000","message":"Done","commit_id":"d9a43fc95dcbd7e55c58b290ddd896aa4adab8a1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"ae3ccd09fe246cc0c8d1c73ac64bb5f09cf4d647","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"* Add transitions to the Ironic state machine:"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"  * ACTIVE -\u003e RECONFIGURING (initiate reconfigure)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"  * ACTIVE -\u003e RECONFIGURE (reconfigure complete)"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7faddb67_47e2f3a1","line":114,"range":{"start_line":114,"start_character":4,"end_line":114,"end_character":27},"updated":"2019-08-05 14:56:35.000000000","message":"Most of the OOB deploy steps need reboot to make check if the step is completed successfully. This requires rebooting of the server. Do we need to add RECONFIGUREWAIT state to handle that?","commit_id":"d9a43fc95dcbd7e55c58b290ddd896aa4adab8a1"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"f072ac1ceeda4ce1e275f31a71312ff38895fc6e","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"* Add transitions to the Ironic state machine:"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"  * ACTIVE -\u003e RECONFIGURING (initiate reconfigure)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"  * ACTIVE -\u003e RECONFIGURE (reconfigure complete)"},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7faddb67_3e3c682f","line":114,"range":{"start_line":114,"start_character":4,"end_line":114,"end_character":27},"in_reply_to":"7faddb67_47e2f3a1","updated":"2019-08-08 09:59:25.000000000","message":"Yes, you\u0027re right. I will add that. Thanks!","commit_id":"d9a43fc95dcbd7e55c58b290ddd896aa4adab8a1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"ae3ccd09fe246cc0c8d1c73ac64bb5f09cf4d647","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"  * ACTIVE -\u003e RECONFIGURING (initiate reconfigure)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"  * ACTIVE -\u003e RECONFIGURE (reconfigure complete)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  * ACTIVE -\u003e RECONFIGUREFAIL (a reconfiguration may fail)"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7faddb67_878a2bbc","line":116,"range":{"start_line":116,"start_character":4,"end_line":116,"end_character":25},"updated":"2019-08-05 14:56:35.000000000","message":"Do we need this \u0027RECONFIGURE\u0027 state as node would internally move to \u0027ACTIVE\u0027 immediately after that. Can\u0027t it be made to move to \u0027ACTIVE\u0027 upon completing all the steps from \u0027RECONFIGURING\u0027 state itself?","commit_id":"d9a43fc95dcbd7e55c58b290ddd896aa4adab8a1"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"f072ac1ceeda4ce1e275f31a71312ff38895fc6e","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"  * ACTIVE -\u003e RECONFIGURING (initiate reconfigure)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"  * ACTIVE -\u003e RECONFIGURE (reconfigure complete)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  * ACTIVE -\u003e RECONFIGUREFAIL (a reconfiguration may fail)"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7faddb67_de1674a8","line":116,"range":{"start_line":116,"start_character":4,"end_line":116,"end_character":25},"in_reply_to":"7faddb67_878a2bbc","updated":"2019-08-08 09:59:25.000000000","message":"Yes, it is indeed desirable.","commit_id":"d9a43fc95dcbd7e55c58b290ddd896aa4adab8a1"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"e32ab4d3a828c8b3a9ba646b78ea3ab1647c37bd","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  * ACTIVE -\u003e RECONFIGUREFAIL (a reconfiguration may fail)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"  * RECONFIGURING -\u003e ACTIVE (reconfigure succeeds)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"  * RECONFIGURING -\u003e RECONFIGUREFAIL (reconfigure fails)"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7faddb67_648f1f23","line":120,"range":{"start_line":120,"start_character":4,"end_line":120,"end_character":17},"updated":"2019-08-01 07:34:51.000000000","message":"shouldn\u0027t this be RECONFIGURE ?  (from complete to succeeds)","commit_id":"d9a43fc95dcbd7e55c58b290ddd896aa4adab8a1"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"f072ac1ceeda4ce1e275f31a71312ff38895fc6e","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  * ACTIVE -\u003e RECONFIGUREFAIL (a reconfiguration may fail)"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"  * RECONFIGURING -\u003e ACTIVE (reconfigure succeeds)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"  * RECONFIGURING -\u003e RECONFIGUREFAIL (reconfigure fails)"},{"line_number":123,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7faddb67_fe1ed0b9","line":120,"range":{"start_line":120,"start_character":4,"end_line":120,"end_character":17},"in_reply_to":"7faddb67_648f1f23","updated":"2019-08-08 09:59:25.000000000","message":"Yes. I will change this.","commit_id":"d9a43fc95dcbd7e55c58b290ddd896aa4adab8a1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"ae3ccd09fe246cc0c8d1c73ac64bb5f09cf4d647","unresolved":false,"context_lines":[{"line_number":123,"context_line":""},{"line_number":124,"context_line":"  * RECONFIGUREFAIL -\u003e RECONFIGURING (re-reconfigure)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"  * RECONFIGURING -\u003e DELETING (delete reconfigure instance)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"  * RECONFIGUREFAIL -\u003e DELETING (delete instance after failed reconfigure)"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7faddb67_c76a63eb","line":126,"range":{"start_line":126,"start_character":4,"end_line":126,"end_character":29},"updated":"2019-08-05 14:56:35.000000000","message":"I\u0027m not sure if this is possible. We do not allow \u0027delete\u0027 while node is in \u0027DEPLOYING\u0027 state.","commit_id":"d9a43fc95dcbd7e55c58b290ddd896aa4adab8a1"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"f072ac1ceeda4ce1e275f31a71312ff38895fc6e","unresolved":false,"context_lines":[{"line_number":123,"context_line":""},{"line_number":124,"context_line":"  * RECONFIGUREFAIL -\u003e RECONFIGURING (re-reconfigure)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"  * RECONFIGURING -\u003e DELETING (delete reconfigure instance)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"  * RECONFIGUREFAIL -\u003e DELETING (delete instance after failed reconfigure)"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7faddb67_5e228403","line":126,"range":{"start_line":126,"start_character":4,"end_line":126,"end_character":29},"in_reply_to":"7faddb67_c76a63eb","updated":"2019-08-08 09:59:25.000000000","message":"Ok I will remove this.","commit_id":"d9a43fc95dcbd7e55c58b290ddd896aa4adab8a1"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"ae3ccd09fe246cc0c8d1c73ac64bb5f09cf4d647","unresolved":false,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":"This API will allow users to put a node directly into RECONFIGURING"},{"line_number":146,"context_line":"provision state from ACTIVE state via \u0027target\u0027: \u0027reconfigure\u0027."},{"line_number":147,"context_line":"The PUT will also require the argument \u0027deploy_steps\u0027 to be specified. This"},{"line_number":148,"context_line":"is an ordered list of deploy steps, with a deploy step being represented as a"},{"line_number":149,"context_line":"dictionary encoded as JSON."},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7faddb67_8761cb07","line":147,"range":{"start_line":147,"start_character":40,"end_line":147,"end_character":52},"updated":"2019-08-05 14:56:35.000000000","message":"Shouldn\u0027t this be a deploy template?","commit_id":"d9a43fc95dcbd7e55c58b290ddd896aa4adab8a1"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"f072ac1ceeda4ce1e275f31a71312ff38895fc6e","unresolved":false,"context_lines":[{"line_number":144,"context_line":""},{"line_number":145,"context_line":"This API will allow users to put a node directly into RECONFIGURING"},{"line_number":146,"context_line":"provision state from ACTIVE state via \u0027target\u0027: \u0027reconfigure\u0027."},{"line_number":147,"context_line":"The PUT will also require the argument \u0027deploy_steps\u0027 to be specified. This"},{"line_number":148,"context_line":"is an ordered list of deploy steps, with a deploy step being represented as a"},{"line_number":149,"context_line":"dictionary encoded as JSON."},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7faddb67_b125e9b0","line":147,"range":{"start_line":147,"start_character":40,"end_line":147,"end_character":52},"in_reply_to":"7faddb67_8761cb07","updated":"2019-08-08 09:59:25.000000000","message":"Ideally, Yes! because a deploy_step might not be supported by the hardware.\n\nSo if we provide the deploy_template, ironic can check if the requested deploy_template is supported by the baremetal node or not.","commit_id":"d9a43fc95dcbd7e55c58b290ddd896aa4adab8a1"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"88f429df3627bfc44216785d64ee4575bc48505d","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Manual Deploying"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5faad753_7bcab91a","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":16},"updated":"2019-09-10 15:36:07.000000000","message":"This name is a bit misleading. I think we\u0027re talking about reconfiguration here. To me, manual deployment means specifying a list of deploy steps when provisioning a node.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"0780937a4f212e807c606208f6a044245ae79bd3","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Manual Deploying"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_86ae4de5","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":16},"in_reply_to":"5faad753_7bcab91a","updated":"2019-09-30 09:35:43.000000000","message":"Done.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"35b7c50a2439783689b305594acf7d6d36edc120","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Each deploy step explicitly handles how the configuration is applied to the"},{"line_number":48,"context_line":"node. It can be via IPMI command, Redfish API, boot into BIOS etc."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* This solution proposes to add a new provision state in Ironic"},{"line_number":51,"context_line":"  ``reconfigure``."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* Reconfigure can only be initiated when a node is in the ACTIVE state."},{"line_number":54,"context_line":"  Once the reconfiguration is finished, the node will be put in the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_7f671eb9","line":51,"range":{"start_line":50,"start_character":2,"end_line":51,"end_character":18},"updated":"2019-08-26 14:01:46.000000000","message":"This will confuse Nova, unless we hide this new state in older microversions.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"e12fe037671ec6c96754719d2e63cb02c5fdd0db","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Each deploy step explicitly handles how the configuration is applied to the"},{"line_number":48,"context_line":"node. It can be via IPMI command, Redfish API, boot into BIOS etc."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* This solution proposes to add a new provision state in Ironic"},{"line_number":51,"context_line":"  ``reconfigure``."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* Reconfigure can only be initiated when a node is in the ACTIVE state."},{"line_number":54,"context_line":"  Once the reconfiguration is finished, the node will be put in the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_dda9d68e","line":51,"range":{"start_line":50,"start_character":2,"end_line":51,"end_character":18},"in_reply_to":"7faddb67_5bec2428","updated":"2019-09-05 08:31:52.000000000","message":"In the older version of the software, reconfigure support will not exist. So how is this issue possible?\nSorry I am not able to understand the issue here.\nCan you explain an example case? Thanks!","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b7b5c70c3e190eb4a00f0f79f5cc3da194d9d79a","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Each deploy step explicitly handles how the configuration is applied to the"},{"line_number":48,"context_line":"node. It can be via IPMI command, Redfish API, boot into BIOS etc."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* This solution proposes to add a new provision state in Ironic"},{"line_number":51,"context_line":"  ``reconfigure``."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* Reconfigure can only be initiated when a node is in the ACTIVE state."},{"line_number":54,"context_line":"  Once the reconfiguration is finished, the node will be put in the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_5bec2428","line":51,"range":{"start_line":50,"start_character":2,"end_line":51,"end_character":18},"in_reply_to":"7faddb67_69137d66","updated":"2019-09-04 13:36:13.000000000","message":"I\u0027m not sure. At the very least we\u0027ll have to update nova to understand the new states when tracking nodes. But we also need something for older software to not break. Maybe we need to hide the new state completely, pretending the nodes are active? I\u0027m not sure.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"66603fd7ad162ca75c481b8b0dd17e50c5a7f0c8","unresolved":false,"context_lines":[{"line_number":47,"context_line":"Each deploy step explicitly handles how the configuration is applied to the"},{"line_number":48,"context_line":"node. It can be via IPMI command, Redfish API, boot into BIOS etc."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* This solution proposes to add a new provision state in Ironic"},{"line_number":51,"context_line":"  ``reconfigure``."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* Reconfigure can only be initiated when a node is in the ACTIVE state."},{"line_number":54,"context_line":"  Once the reconfiguration is finished, the node will be put in the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_69137d66","line":51,"range":{"start_line":50,"start_character":2,"end_line":51,"end_character":18},"in_reply_to":"7faddb67_7f671eb9","updated":"2019-09-02 14:54:25.000000000","message":"The new state will need a new microversion. How can this be solved then?","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"88f429df3627bfc44216785d64ee4575bc48505d","unresolved":false,"context_lines":[{"line_number":55,"context_line":"  ACTIVE state again."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* Operators will be able to initiate a reconfigure via the modified API"},{"line_number":58,"context_line":"  to set the nodes\u0027s provision state with `target` and `deploy_template`"},{"line_number":59,"context_line":"  arguments."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* A reconfigure need deploy_template argument to be specified."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5faad753_7b4f1992","line":58,"range":{"start_line":58,"start_character":56,"end_line":58,"end_character":71},"updated":"2019-09-10 15:36:07.000000000","message":"Only one?","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"0780937a4f212e807c606208f6a044245ae79bd3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"  ACTIVE state again."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* Operators will be able to initiate a reconfigure via the modified API"},{"line_number":58,"context_line":"  to set the nodes\u0027s provision state with `target` and `deploy_template`"},{"line_number":59,"context_line":"  arguments."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* A reconfigure need deploy_template argument to be specified."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_06d25d5d","line":58,"range":{"start_line":58,"start_character":56,"end_line":58,"end_character":71},"in_reply_to":"5faad753_7b4f1992","updated":"2019-09-30 09:35:43.000000000","message":"Sorry, this should be deploy_steps.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"88f429df3627bfc44216785d64ee4575bc48505d","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  to set the nodes\u0027s provision state with `target` and `deploy_template`"},{"line_number":59,"context_line":"  arguments."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* A reconfigure need deploy_template argument to be specified."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5faad753_9babf51b","line":61,"range":{"start_line":61,"start_character":21,"end_line":61,"end_character":36},"updated":"2019-09-10 15:36:07.000000000","message":"If we\u0027re doing this using deploy templates rather than deploy steps, it\u0027s not really analogous to manual cleaning.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"0780937a4f212e807c606208f6a044245ae79bd3","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  to set the nodes\u0027s provision state with `target` and `deploy_template`"},{"line_number":59,"context_line":"  arguments."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* A reconfigure need deploy_template argument to be specified."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_fb1fecb3","line":61,"range":{"start_line":61,"start_character":21,"end_line":61,"end_character":36},"in_reply_to":"5faad753_9babf51b","updated":"2019-09-30 09:35:43.000000000","message":"Done","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"35b7c50a2439783689b305594acf7d6d36edc120","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  arguments."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* A reconfigure need deploy_template argument to be specified."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_ffdeae3c","line":62,"updated":"2019-08-26 14:01:46.000000000","message":"We likely need a way to mark steps as compatible with reconfiguration. E.g. RAID is not compatible.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cd2c64661cf3c2a37e1bb5e6509203edb4cdda8b","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  arguments."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* A reconfigure need deploy_template argument to be specified."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_33eb0079","line":62,"in_reply_to":"3fa7e38b_9b84b8d4","updated":"2019-10-23 16:58:42.000000000","message":"apply_configuration and delete_configuration are the RAID supported deploy steps.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"0780937a4f212e807c606208f6a044245ae79bd3","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  arguments."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* A reconfigure need deploy_template argument to be specified."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_9b84b8d4","line":62,"in_reply_to":"5faad753_3bbbe172","updated":"2019-09-30 09:35:43.000000000","message":"Is there a specific raid related deploy_step that should be not allowed?","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"88f429df3627bfc44216785d64ee4575bc48505d","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  arguments."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* A reconfigure need deploy_template argument to be specified."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5faad753_3bbbe172","line":62,"in_reply_to":"7faddb67_541c1865","updated":"2019-09-10 15:36:07.000000000","message":"RAID could be compatible if you don\u0027t reconfigure the root disk.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"66603fd7ad162ca75c481b8b0dd17e50c5a7f0c8","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  arguments."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* A reconfigure need deploy_template argument to be specified."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_541c1865","line":62,"in_reply_to":"7faddb67_ffdeae3c","updated":"2019-09-02 14:54:25.000000000","message":"Yes, good point. I will introduce a new param in the next patchset. Thanks!","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"88f429df3627bfc44216785d64ee4575bc48505d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* An outline of the standard (non-error) reconfigure processes follows:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"#. User calls Nova resize() on a node with a new flavor."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5faad753_5b1a5d7d","line":66,"updated":"2019-09-10 15:36:07.000000000","message":"This workflow is a little different from the one for deployment. For deployment, we pass the traits via node.instance_info.traits, and ironic matches these against deploy templates.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"387fea4a2f56732a16e5ea7cd7d91ff3ce044c10","unresolved":false,"context_lines":[{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* An outline of the standard (non-error) reconfigure processes follows:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"#. User calls Nova resize() on a node with a new flavor."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_96ac5fa0","line":66,"in_reply_to":"3fa7e38b_28ef6a1d","updated":"2019-11-07 09:06:57.000000000","message":"On a practical level, it is much easier for us to get code merged in ironic than nova. Using the existing approach keeps the nova changes small.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"51a32716d4defd3e94d29a511cbc485e8ce17798","unresolved":false,"context_lines":[{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* An outline of the standard (non-error) reconfigure processes follows:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"#. User calls Nova resize() on a node with a new flavor."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_72ff8f00","line":66,"in_reply_to":"3fa7e38b_53931c01","updated":"2019-11-05 06:35:17.000000000","message":"Nova still has to deal with traits. We pass the new trait in flavor, Ironic virt driver filters it and choose the corresponding deploy-step to run. Does that make sense?","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"270ae3c05ad5dd35c049b4861040679532e1435c","unresolved":false,"context_lines":[{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* An outline of the standard (non-error) reconfigure processes follows:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"#. User calls Nova resize() on a node with a new flavor."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_28ef6a1d","line":66,"in_reply_to":"3fa7e38b_72ff8f00","updated":"2019-11-05 10:17:51.000000000","message":"It makes sense. We could have designed the deploy templates feature to work that way, but we didn\u0027t. Now we\u0027re proposing to use a different model for reconfigure, and I don\u0027t see why. It should be possible to make it work with the existing traits based model of interaction.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"523c016b8aa142ff0fb7590e595161b1241c0ce6","unresolved":false,"context_lines":[{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* An outline of the standard (non-error) reconfigure processes follows:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"#. User calls Nova resize() on a node with a new flavor."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_d19661f0","line":66,"in_reply_to":"3fa7e38b_96ac5fa0","updated":"2019-11-07 11:03:27.000000000","message":"Isn\u0027t the current approach the same? Does ironic virt driver look for matching deploy_template? Or is it Ironic which looks for the matching deploy_templates corresponding to the instance_info.traits?","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cd2c64661cf3c2a37e1bb5e6509203edb4cdda8b","unresolved":false,"context_lines":[{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* An outline of the standard (non-error) reconfigure processes follows:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"#. User calls Nova resize() on a node with a new flavor."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_53931c01","line":66,"in_reply_to":"3fa7e38b_9bd278d0","updated":"2019-10-23 16:58:42.000000000","message":"It just seems a little odd to me that it works differently from deployment. Currently nova is not aware of deploy steps or deploy templates. It just passes traits to ironic. If we make nova aware of this, we will need to push a lot of code into nova, which we already have in ironic.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"59d4f357e062ba1cb1409b4cef2c85811d7ffc40","unresolved":false,"context_lines":[{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* An outline of the standard (non-error) reconfigure processes follows:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"#. User calls Nova resize() on a node with a new flavor."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_ec4b86ae","line":66,"in_reply_to":"3fa7e38b_d19661f0","updated":"2019-11-07 12:39:40.000000000","message":"No, the virt driver only sets instance_info.traits on the node. It doesn\u0027t know about deploy templates.\n\nEverything else is done by ironic, mostly in here: https://opendev.org/openstack/ironic/src/branch/master/ironic/conductor/steps.py","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"0780937a4f212e807c606208f6a044245ae79bd3","unresolved":false,"context_lines":[{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* An outline of the standard (non-error) reconfigure processes follows:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"#. User calls Nova resize() on a node with a new flavor."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_9bd278d0","line":66,"in_reply_to":"5faad753_5b1a5d7d","updated":"2019-09-30 09:35:43.000000000","message":"Yes, you\u0027re right. Because we need to send deploy_steps as a parameter to the reconfigure API.\nI am trying to make this API independent so that it can be used outside Nova as well.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"88f429df3627bfc44216785d64ee4575bc48505d","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"  * ACTIVE -\u003e RECONFIGURING (initiate reconfigure)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"  * RECONFIGURING -\u003e RECONFIGURINGWAIT (wait on external event)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  * RECONFIGURINGWAIT -\u003e RECONFIGURING (external event completed)"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5faad753_1e7e136b","line":116,"range":{"start_line":116,"start_character":21,"end_line":116,"end_character":38},"updated":"2019-09-10 15:36:07.000000000","message":"RECONFIGUREWAIT","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"0780937a4f212e807c606208f6a044245ae79bd3","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"  * ACTIVE -\u003e RECONFIGURING (initiate reconfigure)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"  * RECONFIGURING -\u003e RECONFIGURINGWAIT (wait on external event)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  * RECONFIGURINGWAIT -\u003e RECONFIGURING (external event completed)"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_9bb9187a","line":116,"range":{"start_line":116,"start_character":21,"end_line":116,"end_character":38},"in_reply_to":"5faad753_1e7e136b","updated":"2019-09-30 09:35:43.000000000","message":"Done","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"35b7c50a2439783689b305594acf7d6d36edc120","unresolved":false,"context_lines":[{"line_number":137,"context_line":"---------------"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Modify provision state API to support the states and transitions described in"},{"line_number":140,"context_line":"this spec. Also increment the API microversion. Nodes in states introduced by"},{"line_number":141,"context_line":"this spec (and related, future microversion) would be unable to be modified by"},{"line_number":142,"context_line":"clients using an earlier microversion."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"PUT /v1/nodes/\u003cnode_ident\u003e/states/provision"},{"line_number":145,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_5fffc2aa","line":142,"range":{"start_line":140,"start_character":48,"end_line":142,"end_character":38},"updated":"2019-08-26 14:01:46.000000000","message":"We need some sort of backward compatibility, otherwise Nova and others won\u0027t recognize the new states as equivalent of ``active``.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"35b7c50a2439783689b305594acf7d6d36edc120","unresolved":false,"context_lines":[{"line_number":140,"context_line":"this spec. Also increment the API microversion. Nodes in states introduced by"},{"line_number":141,"context_line":"this spec (and related, future microversion) would be unable to be modified by"},{"line_number":142,"context_line":"clients using an earlier microversion."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"PUT /v1/nodes/\u003cnode_ident\u003e/states/provision"},{"line_number":145,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_ffb78ef4","line":143,"updated":"2019-08-26 14:01:46.000000000","message":"Given that deploy templates are sort of a subset of trains in ironic, what will happen with node.instance_info[traits] after reconfiguration?\n\nSimilarly, we should probably enforce that the requested deploy template is in the node\u0027s traits list.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"66603fd7ad162ca75c481b8b0dd17e50c5a7f0c8","unresolved":false,"context_lines":[{"line_number":140,"context_line":"this spec. Also increment the API microversion. Nodes in states introduced by"},{"line_number":141,"context_line":"this spec (and related, future microversion) would be unable to be modified by"},{"line_number":142,"context_line":"clients using an earlier microversion."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"PUT /v1/nodes/\u003cnode_ident\u003e/states/provision"},{"line_number":145,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_7456f407","line":143,"in_reply_to":"7faddb67_ffb78ef4","updated":"2019-09-02 14:54:25.000000000","message":"The node.instance_info[traits] will be updated to include the new trait after reconfiguration.\nRescheduling to the same host without a claim will be done to ensure that the existing node supports the requested trait.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"35b7c50a2439783689b305594acf7d6d36edc120","unresolved":false,"context_lines":[{"line_number":188,"context_line":"------------------"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"Implement resize() in the Ironic driver in Nova."},{"line_number":191,"context_line":""},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Ramdisk impact"},{"line_number":194,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_bfc9167a","line":191,"updated":"2019-08-26 14:01:46.000000000","message":"As I noted above, we need to research what happens with older nova and newer ironic.","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"66603fd7ad162ca75c481b8b0dd17e50c5a7f0c8","unresolved":false,"context_lines":[{"line_number":188,"context_line":"------------------"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"Implement resize() in the Ironic driver in Nova."},{"line_number":191,"context_line":""},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Ramdisk impact"},{"line_number":194,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7faddb67_d4b2484a","line":191,"in_reply_to":"7faddb67_bfc9167a","updated":"2019-09-02 14:54:25.000000000","message":"I am thinking about how the incompatibilities in older versions were handled?","commit_id":"836469824af12faf67ac810ec3a6a4125ad9b159"}],"specs/approved/node-reconfigure.rst":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c2bdb42230722ecf773283dd708aae2ba08d2f64","unresolved":false,"context_lines":[{"line_number":12,"context_line":"https://storyboard.openstack.org/#!/story/2005129"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Node reconfiguration (as opposed to automated deployment) can be used by the"},{"line_number":15,"context_line":"users to perform certain configuration changes after a node is provisioned."},{"line_number":16,"context_line":"Some of the use cases are listed below:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Change of BIOS settings, e.g. disable hyper-threading in order to address a"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3fa7e38b_69fff600","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":5},"updated":"2019-10-11 16:29:51.000000000","message":"nit: s/users/user/","commit_id":"b953cf7e50cc140e294d35b9b8a722fd982cf789"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"30c49a0386cd0f6d9e7d9707346bb3d57f9e3850","unresolved":false,"context_lines":[{"line_number":15,"context_line":"users to perform certain configuration changes after a node is provisioned."},{"line_number":16,"context_line":"Some of the use cases are listed below:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Change of BIOS settings, e.g. disable hyper-threading in order to address a"},{"line_number":19,"context_line":"  security vulnerability, control CPU prefetching behaviour, etc."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"* Change of Intel Speed Select Performance Profile configuration to address"},{"line_number":22,"context_line":"  different workloads."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3fa7e38b_ae3094ea","line":19,"range":{"start_line":18,"start_character":2,"end_line":19,"end_character":65},"updated":"2019-10-29 17:23:13.000000000","message":"While changing the BIOS settings is certainly a valid use case (I think it was even me adding this as a potential application early on, sorry ;-), it would require quite some flavors to cover the numerous BIOS options (since FWIU the user cannot pass any additional options ... or is that possible?) ... In addition, there are different BIOS implementations (item organization and naming), and no common interface to set/unset these remotely (via IPMI, for instance). If we make this a prominent use case (which I am sure operators can relate to), how about we add something to explain what a \"hyperthreading on/off\" reconfigure step would actually entail?\nBut maybe that\u0027s beyond the general idea of adding such a framework ...?","commit_id":"b953cf7e50cc140e294d35b9b8a722fd982cf789"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"2b4fed1accae0033d71577098bc515067eb1c407","unresolved":false,"context_lines":[{"line_number":15,"context_line":"users to perform certain configuration changes after a node is provisioned."},{"line_number":16,"context_line":"Some of the use cases are listed below:"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"* Change of BIOS settings, e.g. disable hyper-threading in order to address a"},{"line_number":19,"context_line":"  security vulnerability, control CPU prefetching behaviour, etc."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"* Change of Intel Speed Select Performance Profile configuration to address"},{"line_number":22,"context_line":"  different workloads."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3fa7e38b_2f10d458","line":19,"range":{"start_line":18,"start_character":2,"end_line":19,"end_character":65},"in_reply_to":"3fa7e38b_ae3094ea","updated":"2019-11-05 06:31:28.000000000","message":"We can pass different options to the deploy template we create in Ironic. For example, in case of Intel SST-PP, users need to send the configuration hexadecimal code (0x00, 0x01 or 0x00).\n\nEach of the deploy steps meant for reconfiguration should implement the interface/method to apply the changes to the node and reboot if required. For instance, the Intel SST-PP needs to send an ipmi call and a reboot is required to reflect the change. So the corresponding deploy step should implement these steps as a whole.\n\nNow about adding details of the deploy steps, we can update the \"node-deployment\" doc to include details about each of them, same as we do for clean steps https://docs.openstack.org/ironic/latest/admin/cleaning.html","commit_id":"b953cf7e50cc140e294d35b9b8a722fd982cf789"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c2bdb42230722ecf773283dd708aae2ba08d2f64","unresolved":false,"context_lines":[{"line_number":29,"context_line":"configuration of the node need to performed OOB by the user of the instance."},{"line_number":30,"context_line":"Since such post-deploy changes are not infrequent and can affect a large number"},{"line_number":31,"context_line":"of machines, it is desirable to have such support in Ironic where users can"},{"line_number":32,"context_line":"execute explicit deployment steps manually (rather than requiring the user"},{"line_number":33,"context_line":"to resort to other tools)."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Proposed change"},{"line_number":36,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3fa7e38b_a9188e75","line":33,"range":{"start_line":32,"start_character":43,"end_line":33,"end_character":25},"updated":"2019-10-11 16:29:51.000000000","message":"I would remove ( and ). It is important context!","commit_id":"b953cf7e50cc140e294d35b9b8a722fd982cf789"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c2bdb42230722ecf773283dd708aae2ba08d2f64","unresolved":false,"context_lines":[{"line_number":48,"context_line":"node. It can be via IPMI command, Redfish API, boot into BIOS etc."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* This solution proposes to add a new provision state in Ironic"},{"line_number":51,"context_line":"  ``reconfigure``."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* Reconfigure can only be initiated when a node is in the ACTIVE state."},{"line_number":54,"context_line":"  Once the reconfiguration is finished, the node will be put in the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3fa7e38b_89527212","line":51,"updated":"2019-10-11 16:29:51.000000000","message":"I get what your trying to propose, I think your meaning \"RECONFIGURING\" and maybe api verb \"reconfigure\" ?\n\nRegardless, this will be iterated upon in review so as-is, this is fine for the spec.","commit_id":"b953cf7e50cc140e294d35b9b8a722fd982cf789"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"2b4fed1accae0033d71577098bc515067eb1c407","unresolved":false,"context_lines":[{"line_number":48,"context_line":"node. It can be via IPMI command, Redfish API, boot into BIOS etc."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"* This solution proposes to add a new provision state in Ironic"},{"line_number":51,"context_line":"  ``reconfigure``."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"* Reconfigure can only be initiated when a node is in the ACTIVE state."},{"line_number":54,"context_line":"  Once the reconfiguration is finished, the node will be put in the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3fa7e38b_4f13d065","line":51,"in_reply_to":"3fa7e38b_89527212","updated":"2019-11-05 06:31:28.000000000","message":"Yes RECONFIGURING is the state and RECONFIGURE is the API verb.","commit_id":"b953cf7e50cc140e294d35b9b8a722fd982cf789"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c2bdb42230722ecf773283dd708aae2ba08d2f64","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  to set the nodes\u0027s provision state with `target` and `deploy_steps`"},{"line_number":59,"context_line":"  arguments."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"* A reconfigure need deploy_steps argument to be specified."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"* Similar to executing automated deployment, when the conductor attempts to"},{"line_number":64,"context_line":"  execute a manual deploy step, it will call _do_next_deploy_step()."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3fa7e38b_893cb293","line":61,"range":{"start_line":61,"start_character":16,"end_line":61,"end_character":17},"updated":"2019-10-11 16:29:51.000000000","message":"nit: s/need/needs/","commit_id":"b953cf7e50cc140e294d35b9b8a722fd982cf789"}]}
