)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"4022da3d7123482bc775d6cd4a011c30c5476e24","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Besides being useful in itself, this is also a first"},{"line_number":15,"context_line":"step towards allowing operations on the boot volume"},{"line_number":16,"context_line":"when shelved."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"blueprint volume-ops-when-shelved"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I52f32831bad5f5e1ff378c51186ee798dc3efa2e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a8ffd7b_a746ec4c","line":17,"updated":"2015-11-27 10:39:07.000000000","message":"we need APIImpact flag at here","commit_id":"539cf8609d3715c90f588fb855b4077d58cd9618"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"50f1639ce2368d8d129ce4e50a7ee8825cc32fa8","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Besides being useful in itself, this is also a first"},{"line_number":15,"context_line":"step towards allowing operations on the boot volume"},{"line_number":16,"context_line":"when shelved."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"blueprint volume-ops-when-shelved"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I52f32831bad5f5e1ff378c51186ee798dc3efa2e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a8ffd7b_5d082328","line":17,"in_reply_to":"9a8ffd7b_a746ec4c","updated":"2015-11-27 14:03:36.000000000","message":"Done","commit_id":"539cf8609d3715c90f588fb855b4077d58cd9618"}],"specs/mitaka/approved/volume-ops-when-shelved.rst":[{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"b336c966af4ed4d7e4b0851fa999e2e962ff1704","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Volume operations on an instance in the shelved state are similar to"},{"line_number":45,"context_line":"any other state when on the host. The operations can be enabled by allowing"},{"line_number":46,"context_line":"them at the compute API for this state."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The shelved_offloaded state is different. In this case the instance is not"},{"line_number":49,"context_line":"on any host, so functions to attach and detach need to be implemented in"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_ccab8788","line":46,"updated":"2015-11-09 17:13:38.000000000","message":"we need to consider the case when an instance is transitioning from SHELVED to SHELVED_OFFLOADED, in this case the volume operations are denied,\nam I right?\nif so I think it\u0027s worth to mention this case as well.","commit_id":"13717a807eb441584d79898e221fb18d2b348136"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"488225b09c8e111c08278cb919bcecfaed70aae5","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Volume operations on an instance in the shelved state are similar to"},{"line_number":45,"context_line":"any other state when on the host. The operations can be enabled by allowing"},{"line_number":46,"context_line":"them at the compute API for this state."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The shelved_offloaded state is different. In this case the instance is not"},{"line_number":49,"context_line":"on any host, so functions to attach and detach need to be implemented in"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_e6474d1b","line":46,"in_reply_to":"da85f559_32b837e5","updated":"2015-11-10 17:16:11.000000000","message":"Yes Andrea and Dan, I see. I found this bug https://bugs.launchpad.net/nova/+bug/1275144 that is specific to this point. Seems its needed anyway.","commit_id":"13717a807eb441584d79898e221fb18d2b348136"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"703018917b6a96bc7142f75d204454407c9697d7","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Volume operations on an instance in the shelved state are similar to"},{"line_number":45,"context_line":"any other state when on the host. The operations can be enabled by allowing"},{"line_number":46,"context_line":"them at the compute API for this state."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The shelved_offloaded state is different. In this case the instance is not"},{"line_number":49,"context_line":"on any host, so functions to attach and detach need to be implemented in"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_32b837e5","line":46,"in_reply_to":"da85f559_ccab8788","updated":"2015-11-10 16:27:47.000000000","message":"I think this is addressed on L78. We will need changes in the offload task that filters for instances with task_state\u003dNone, and which uses an expected_task_state\u003dNone when it grabs the task state. In fact, we could probably argue that we should make that change today to avoid racing with anything else (like unshelve).","commit_id":"13717a807eb441584d79898e221fb18d2b348136"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"703018917b6a96bc7142f75d204454407c9697d7","unresolved":false,"context_lines":[{"line_number":52,"context_line":"task states: a volume can only be attached or detached and the instance"},{"line_number":53,"context_line":"can be unshelved when its task state is None, and the task state is"},{"line_number":54,"context_line":"set to new states indicating attaching, detaching or swapping for the duration"},{"line_number":55,"context_line":"of the operation."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_b24ae7aa","line":55,"updated":"2015-11-10 16:27:47.000000000","message":"I think we need a little more detail here, specifically about the task states. I don\u0027t see that we set task states for attach/detach currently.\n\nAssuming we need new task states for volume_attaching and volume_detaching, and that we\u0027ll set those early in the api before we start doing anything.\n\nIf we\u0027re in shelved_offloaded, then we can remove the task state when we\u0027ve made the call to cinder and when we\u0027ve updated the BDMs in the database.\n\nIf we\u0027re shelved, then we  ask compute to do the attach, and it can remove the task state when it\u0027s done. However, if we\u0027ve got an older compute node that won\u0027t know to reset the task state then we will never exit the new task state on the instance, correct?","commit_id":"13717a807eb441584d79898e221fb18d2b348136"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"488225b09c8e111c08278cb919bcecfaed70aae5","unresolved":false,"context_lines":[{"line_number":52,"context_line":"task states: a volume can only be attached or detached and the instance"},{"line_number":53,"context_line":"can be unshelved when its task state is None, and the task state is"},{"line_number":54,"context_line":"set to new states indicating attaching, detaching or swapping for the duration"},{"line_number":55,"context_line":"of the operation."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_e66e6d95","line":55,"in_reply_to":"da85f559_b24ae7aa","updated":"2015-11-10 17:16:11.000000000","message":"I will work on the above bug and address the problem introducing the task states there. This spec will have to be dependant on that.","commit_id":"13717a807eb441584d79898e221fb18d2b348136"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"703018917b6a96bc7142f75d204454407c9697d7","unresolved":false,"context_lines":[{"line_number":157,"context_line":""},{"line_number":158,"context_line":"A tempest test can be added to check that the sequence of shelving,"},{"line_number":159,"context_line":"detaching/attaching volumes and then unshelving leads to a running"},{"line_number":160,"context_line":"instance with the expected volumes correctly attached."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Documentation Impact"},{"line_number":163,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_b2542721","line":160,"updated":"2015-11-10 16:27:47.000000000","message":"Yeah, I think this is s/can/will/","commit_id":"13717a807eb441584d79898e221fb18d2b348136"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"50f1639ce2368d8d129ce4e50a7ee8825cc32fa8","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"Volume operations on an instance in the shelved state are similar to"},{"line_number":45,"context_line":"any other state when on the host. The operations can be enabled by allowing"},{"line_number":46,"context_line":"them at the compute API for this state."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The shelved_offloaded state is different. In this case the instance is not"},{"line_number":49,"context_line":"on any host, so functions to attach and detach need to be implemented in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_fdb3174b","line":46,"updated":"2015-11-27 14:03:36.000000000","message":"Add a sentence to explain emphasise that the compute manager code already deals with this case - its just disabled at the API.","commit_id":"539cf8609d3715c90f588fb855b4077d58cd9618"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"31a39cf4304339f030e43293fd43764d281feaf4","unresolved":false,"context_lines":[{"line_number":78,"context_line":"---------------"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"The attach, detach and swap operations will now"},{"line_number":81,"context_line":"be allowed when the instance is in the shelved and shelved_offloaded states."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Security impact"},{"line_number":84,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_dc942344","line":81,"updated":"2015-11-27 10:38:43.000000000","message":"This need new microversion. User use new microversion to detect whether the current deploy support detach, attach and swap operation for shelved instance.\n\n\nAnd we should return 400 when the detach, attach and swap volume for shevled the instance on old compute node when upgrade","commit_id":"539cf8609d3715c90f588fb855b4077d58cd9618"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"50f1639ce2368d8d129ce4e50a7ee8825cc32fa8","unresolved":false,"context_lines":[{"line_number":78,"context_line":"---------------"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"The attach, detach and swap operations will now"},{"line_number":81,"context_line":"be allowed when the instance is in the shelved and shelved_offloaded states."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Security impact"},{"line_number":84,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_7d288733","line":81,"in_reply_to":"9a8ffd7b_dc942344","updated":"2015-11-27 14:03:36.000000000","message":"I will add microversion increment.\n\nI\u0027m not quite sure what the second comment means. However, the old compute nodes can already do these operations on shelved instances, its only the API that disables the it. The API will do the operations for shelved_offloaded instances. So there is no need to treat old compute nodes differently. Once the API server is upgraded the feature will be available everywhere.\n\nI will add a sentence to the L#46 to emphasise that the compute manager does not change.","commit_id":"539cf8609d3715c90f588fb855b4077d58cd9618"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"d21b5548023e51d5e002fce806f5b80140f57b5a","unresolved":false,"context_lines":[{"line_number":58,"context_line":"driver. This can not be done when the instance is offloaded"},{"line_number":59,"context_line":"because it is not on a host."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"In fact, devices names are set when an instance is booted"},{"line_number":62,"context_line":"and there is no guarantee that a name provided by the user will be"},{"line_number":63,"context_line":"respected. So the new attach method for the shelved_offloaded state will"},{"line_number":64,"context_line":"defer name selection until the instance is unshelved. This avoids the need"},{"line_number":65,"context_line":"to call a compute manager at all."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_ba167aa5","line":65,"range":{"start_line":61,"start_character":0,"end_line":65,"end_character":33},"updated":"2015-12-01 11:46:36.000000000","message":"currently we do not attempt to default device names for an instance when doing unshelve - and we\u0027d need that now. Since we are going into device names - it would be good to mention this in work items.","commit_id":"43db69965f1a5759609223be55e905faae1f730c"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"b2b12b81039be4621c0591d0932976882d4ffe5b","unresolved":false,"context_lines":[{"line_number":62,"context_line":"and there is no guarantee that a name provided by the user will be"},{"line_number":63,"context_line":"respected. So the new attach method for the shelved_offloaded state will"},{"line_number":64,"context_line":"defer name selection until the instance is unshelved. This avoids the need"},{"line_number":65,"context_line":"to call a compute manager at all."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_08588955","line":65,"in_reply_to":"9a8ffd7b_ba167aa5","updated":"2015-12-01 17:39:44.000000000","message":"Done","commit_id":"43db69965f1a5759609223be55e905faae1f730c"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"e05495654ba368695023d1efffe090c8bc3640af","unresolved":false,"context_lines":[{"line_number":83,"context_line":"Instead of returning the existing HTTP error 409 (Conflict)"},{"line_number":84,"context_line":"the return values will be the same as they are for other valid states."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"This change will require an API microversion increment."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Security impact"},{"line_number":89,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a8ffd7b_921a3f16","line":86,"range":{"start_line":86,"start_character":0,"end_line":86,"end_character":54},"updated":"2015-12-02 10:23:05.000000000","message":"Actually an interesting point would be to see how do we keep backwards compatibility from code POV in a non racy manner, as we can only check the task in compute/api.py and we are passed the point of a microversion check.\n\nWe\u0027d likely have to leak microversion logic into the compute api which would be bad imho.\n\nNot actionable on the spec though so disregard this comment.","commit_id":"6c13919eac26a86da197ba146f3e4c8730ee93e3"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"e05495654ba368695023d1efffe090c8bc3640af","unresolved":false,"context_lines":[{"line_number":144,"context_line":"Dependencies"},{"line_number":145,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"This spec is a step towards allowing boot volumes to be attached and"},{"line_number":148,"context_line":"detached when in the shelved_offloaded state (see [1]). But this spec"},{"line_number":149,"context_line":"also provides useful functionality on its own."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Testing"},{"line_number":152,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a8ffd7b_f2c94b7a","line":149,"range":{"start_line":147,"start_character":0,"end_line":149,"end_character":46},"updated":"2015-12-02 10:23:05.000000000","message":"Should we mention some relation to https://review.openstack.org/#/c/216578/ as we would be adding more opportunity for races this way.","commit_id":"6c13919eac26a86da197ba146f3e4c8730ee93e3"},{"author":{"_account_id":1865,"name":"Andrea Rosa","email":"andrea.rosa@gmail.com","username":"andrea-rosa-m"},"change_message_id":"9c02e672c1d2018ec81121e3874bd40f0d29658c","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"This spec is a step towards allowing boot volumes to be attached and"},{"line_number":148,"context_line":"detached when in the shelved_offloaded state (see [1]). But this spec"},{"line_number":149,"context_line":"also provides useful functionality on its own."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Testing"},{"line_number":152,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a8ffd7b_a87cb4b5","line":149,"in_reply_to":"9a8ffd7b_f2c94b7a","updated":"2015-12-02 11:00:16.000000000","message":"Done","commit_id":"6c13919eac26a86da197ba146f3e4c8730ee93e3"}]}
