)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"fe89c8b2226098090717808ba1dba61e3f538610","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This feature allows to retype a volume between"},{"line_number":10,"context_line":"volume types with different encryptions."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Id11723317eabebb6ee00037b2d8a11482eb0e659"},{"line_number":15,"context_line":"Implements: blueprint retype-encrypted-volume"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"5a18252c_0a85d005","line":12,"updated":"2016-04-14 21:50:43.000000000","message":"Please remove this tag. The code change will require a DocImpact flag, but the spec does not.","commit_id":"5394e1d9e8142ca895737e1bd4af61bb0d247168"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"e36202eda14e7a17c01b250c7bf0369a761bd960","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This feature allows to retype a volume between"},{"line_number":10,"context_line":"volume types with different encryptions."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Id11723317eabebb6ee00037b2d8a11482eb0e659"},{"line_number":15,"context_line":"Implements: blueprint retype-encrypted-volume"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"1a122d0e_f23733e1","line":12,"in_reply_to":"5a18252c_0a85d005","updated":"2016-04-18 02:37:05.000000000","message":"Done","commit_id":"5394e1d9e8142ca895737e1bd4af61bb0d247168"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"8d37131e187430c036e12d078d25235f6f2f922d","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This feature allows to retype a volume between"},{"line_number":10,"context_line":"volume types with different encryptions."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-on: Ia0e5fd68ede2d506fcb919cd3ec50c4812de4327"},{"line_number":13,"context_line":"Change-Id: Id11723317eabebb6ee00037b2d8a11482eb0e659"},{"line_number":14,"context_line":"Implements: blueprint retype-encrypted-volume"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"1a122d0e_8f9be816","line":11,"updated":"2016-05-04 23:32:10.000000000","message":"You need to APIImpact in the commit message.\n\nhttps://github.com/openstack/cinder-specs/blob/master/specs/template.rst\n\n\"If your specification proposes any changes to the Cinder REST API such as changing parameters which can be returned or accepted, or even the semantics of what happens when a client calls into the API, then you should add the APIImpact flag to the commit message.\"","commit_id":"fea845c54f9dfb689ae0768f3f133be6470caeb5"}],"specs/mitaka/retype-encrypted-volumes.rst":[{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"a8c5e565349a5cbabda08fc3c5ba27345500666a","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* Customers uses non-encrypted volumes, but later they would like"},{"line_number":26,"context_line":"  to change the volumes to encrypted."},{"line_number":27,"context_line":"* Customers uses encrypted volumes and later want to change to non-encrypted."},{"line_number":28,"context_line":"* Customers want to change encryption of a volume."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_9bb0818d","line":27,"updated":"2015-11-24 16:46:21.000000000","message":"Is there any benefit to making this operation non-trivial to prevent accidentally decrypting a volume? I\u0027m thinking of cases where encryption is required for compliance reasons, and it would be unfortunate if the user selects an unencrypted type *by accident*.","commit_id":"f329c31dd6d8bfc2ac5d93dca28bbd73ddb0ab62"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"8b418d19b22561e94446cfb5df3c36d5bd5a62bd","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* Customers uses non-encrypted volumes, but later they would like"},{"line_number":26,"context_line":"  to change the volumes to encrypted."},{"line_number":27,"context_line":"* Customers uses encrypted volumes and later want to change to non-encrypted."},{"line_number":28,"context_line":"* Customers want to change encryption of a volume."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_3d5ff142","line":27,"in_reply_to":"9a8ffd7b_9bb0818d","updated":"2015-11-25 04:02:49.000000000","message":"I would like to add force in the API. Without force specified, it disallows encryption change, like current way.","commit_id":"f329c31dd6d8bfc2ac5d93dca28bbd73ddb0ab62"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"a8c5e565349a5cbabda08fc3c5ba27345500666a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Allow retype between encrypted and non-encrypted volumes."},{"line_number":34,"context_line":"If retype leads to encryption change, it needs force host copy. In the generic"},{"line_number":35,"context_line":"migration process, it needs to attach/detach encryptors if volumes are"},{"line_number":36,"context_line":"encrypted."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Alternatives"},{"line_number":39,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_5b20d9f7","line":36,"updated":"2015-11-24 16:46:21.000000000","message":"How will this work exactly? The existing encryptors will work for LVM-backed volumes, but what about other backends? Will the data be stored temporarily on the storage host in an unencrypted format?","commit_id":"f329c31dd6d8bfc2ac5d93dca28bbd73ddb0ab62"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"8b418d19b22561e94446cfb5df3c36d5bd5a62bd","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Allow retype between encrypted and non-encrypted volumes."},{"line_number":34,"context_line":"If retype leads to encryption change, it needs force host copy. In the generic"},{"line_number":35,"context_line":"migration process, it needs to attach/detach encryptors if volumes are"},{"line_number":36,"context_line":"encrypted."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Alternatives"},{"line_number":39,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_406e8e30","line":36,"in_reply_to":"9a8ffd7b_5b20d9f7","updated":"2015-11-25 04:02:49.000000000","message":"We refer the encryptors in Nova, it is not just for lvm-backend volumes. In fact, it is available for all ISCSI volumes, FC volumes.  \n\nLike Nova does, it first attaches a volume, and then open it with dm-crypt, and then do read/write. \n\nIn volume host, the device is mapped as unencrypted.","commit_id":"f329c31dd6d8bfc2ac5d93dca28bbd73ddb0ab62"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"a8c5e565349a5cbabda08fc3c5ba27345500666a","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Alternatives"},{"line_number":39,"context_line":"------------"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Attach volumes to an instance, doing the data copy in VMs\u0027 level."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Data model impact"},{"line_number":44,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_fb166d54","line":41,"updated":"2015-11-24 16:46:21.000000000","message":"If all that\u0027s desired is re-typing a volume (but *not* changing the encryption), then there\u0027s another spec that could support this feature for encrypted volumes: https://review.openstack.org/#/c/176050/","commit_id":"f329c31dd6d8bfc2ac5d93dca28bbd73ddb0ab62"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"8b418d19b22561e94446cfb5df3c36d5bd5a62bd","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Alternatives"},{"line_number":39,"context_line":"------------"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Attach volumes to an instance, doing the data copy in VMs\u0027 level."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Data model impact"},{"line_number":44,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_e02b0281","line":41,"in_reply_to":"9a8ffd7b_fb166d54","updated":"2015-11-25 04:02:49.000000000","message":"They are different. \n\nFor example, if two volume types, one with encryption type A, and the other has encryption type B. This spec is enable retyping a volume from type A to type B. It changes the encryption.","commit_id":"f329c31dd6d8bfc2ac5d93dca28bbd73ddb0ab62"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"a8c5e565349a5cbabda08fc3c5ba27345500666a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Security impact"},{"line_number":54,"context_line":"---------------"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"None"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Notifications impact"},{"line_number":59,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_db8129fd","line":56,"updated":"2015-11-24 16:46:21.000000000","message":"There is a definite change to the existing assumptions underpinning volume encryption -- specifically, that Cinder will be able to access encryption keys and decrypt data. That change should be documented.","commit_id":"f329c31dd6d8bfc2ac5d93dca28bbd73ddb0ab62"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"8b418d19b22561e94446cfb5df3c36d5bd5a62bd","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Security impact"},{"line_number":54,"context_line":"---------------"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"None"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Notifications impact"},{"line_number":59,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_20326af2","line":56,"in_reply_to":"9a8ffd7b_db8129fd","updated":"2015-11-25 04:02:49.000000000","message":"Yes.","commit_id":"f329c31dd6d8bfc2ac5d93dca28bbd73ddb0ab62"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"821c3f84ed7bb239b9bcb18cf19c13372ba47d5b","unresolved":false,"context_lines":[{"line_number":35,"context_line":"and in-use volumes."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"If a volume is in available status, the detailed process will be:"},{"line_number":38,"context_line":"* Create a new volume according to new volume_type and the original volume."},{"line_number":39,"context_line":"* Map the two volumes to the volume host."},{"line_number":40,"context_line":"* Open the device with dm-crypt [1] if volumes are encrypted."},{"line_number":41,"context_line":"* Data copy from original volume to new volume."}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_796120d3","line":38,"updated":"2015-11-30 23:00:21.000000000","message":"nit: I don\u0027t think the phrase \"and the original volume\" is necessary","commit_id":"dc881c271cd9fb534060eb41d656e08ba78bfc32"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"acd61ed89bb67d54e3527acd74393d5b6ba7a993","unresolved":false,"context_lines":[{"line_number":35,"context_line":"and in-use volumes."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"If a volume is in available status, the detailed process will be:"},{"line_number":38,"context_line":"* Create a new volume according to new volume_type and the original volume."},{"line_number":39,"context_line":"* Map the two volumes to the volume host."},{"line_number":40,"context_line":"* Open the device with dm-crypt [1] if volumes are encrypted."},{"line_number":41,"context_line":"* Data copy from original volume to new volume."}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_2aafae95","line":38,"in_reply_to":"9a8ffd7b_796120d3","updated":"2015-12-02 01:57:02.000000000","message":"Done","commit_id":"dc881c271cd9fb534060eb41d656e08ba78bfc32"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"821c3f84ed7bb239b9bcb18cf19c13372ba47d5b","unresolved":false,"context_lines":[{"line_number":49,"context_line":"------------"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Attach volumes to an instance, doing the data copy in VMs\u0027 level. But this"},{"line_number":52,"context_line":"creates a new volume."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Data model impact"},{"line_number":55,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_59be9cd5","line":52,"updated":"2015-11-30 23:00:21.000000000","message":"...this requires a VM instance.\n\nIs that the intent of this statement? Both approaches create new volumes based on the description above: \"Create a new volume according to new volume_type\"","commit_id":"dc881c271cd9fb534060eb41d656e08ba78bfc32"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"acd61ed89bb67d54e3527acd74393d5b6ba7a993","unresolved":false,"context_lines":[{"line_number":49,"context_line":"------------"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Attach volumes to an instance, doing the data copy in VMs\u0027 level. But this"},{"line_number":52,"context_line":"creates a new volume."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Data model impact"},{"line_number":55,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_4ab552ce","line":52,"in_reply_to":"9a8ffd7b_59be9cd5","updated":"2015-12-02 01:57:02.000000000","message":"Yeah, this requires VM instance. I updated the words here.","commit_id":"dc881c271cd9fb534060eb41d656e08ba78bfc32"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"821c3f84ed7bb239b9bcb18cf19c13372ba47d5b","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Performance Impact"},{"line_number":97,"context_line":"------------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"No obvious performance impact."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_cf695e27","line":98,"updated":"2015-11-30 23:00:21.000000000","message":"What about the overhead of decrypting and possibly re-encrypting the data? I expect it to be significantly slower than retyping an \"ordinary\" volume.","commit_id":"dc881c271cd9fb534060eb41d656e08ba78bfc32"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"acd61ed89bb67d54e3527acd74393d5b6ba7a993","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Performance Impact"},{"line_number":97,"context_line":"------------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"No obvious performance impact."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_0a82eac8","line":98,"in_reply_to":"9a8ffd7b_cf695e27","updated":"2015-12-02 01:57:02.000000000","message":"It is dependent on encryption performance.","commit_id":"dc881c271cd9fb534060eb41d656e08ba78bfc32"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"821c3f84ed7bb239b9bcb18cf19c13372ba47d5b","unresolved":false,"context_lines":[{"line_number":102,"context_line":"---------------------"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"The deployer will be able to retype volumes between volume types with"},{"line_number":105,"context_line":"different encryptions."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Developer impact"},{"line_number":108,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_b93ea827","line":105,"updated":"2015-11-30 23:00:21.000000000","message":"This change requires Cinder to have access to the encryption keys, which practically means that Barbican must be deployed (which presumably it already is if encrypted volumes are in use). I suggest using Castellan as the integration point for the key manager (see https://review.openstack.org/#/c/247577/).","commit_id":"dc881c271cd9fb534060eb41d656e08ba78bfc32"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"acd61ed89bb67d54e3527acd74393d5b6ba7a993","unresolved":false,"context_lines":[{"line_number":102,"context_line":"---------------------"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"The deployer will be able to retype volumes between volume types with"},{"line_number":105,"context_line":"different encryptions."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Developer impact"},{"line_number":108,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_4aed528d","line":105,"in_reply_to":"9a8ffd7b_b93ea827","updated":"2015-12-02 01:57:02.000000000","message":"Hi, Joel, I think this is the job of  the bp https://blueprints.launchpad.net/cinder/+spec/use-castellan-key-manager\n\nAnd of course Castellan will be used.","commit_id":"dc881c271cd9fb534060eb41d656e08ba78bfc32"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"554fa361c61f9bd918a9ab675b0910c735c139c9","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"The deployer will be able to retype volumes between volume types with"},{"line_number":105,"context_line":"different encryptions."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Developer impact"},{"line_number":108,"context_line":"----------------"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1af94dfe_02b875e4","line":106,"updated":"2016-03-16 17:55:13.000000000","message":"Same comment as patch set 4:\n\nThis change requires Cinder to have access to the encryption keys, which practically requires Barbican to be deployed.\n\nIntegration with Castellan does not change this requirement, as Barbican is *currently* the only key manager backend supported by Castellan.","commit_id":"68eb9ec5cabf2a0ad60860da728fe5191baee8e7"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"c78ee3d482229c42bb6a6904efb55ee66ab763de","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"The deployer will be able to retype volumes between volume types with"},{"line_number":105,"context_line":"different encryptions."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Developer impact"},{"line_number":108,"context_line":"----------------"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a061dce_0aa315b3","line":106,"in_reply_to":"1af94dfe_02b875e4","updated":"2016-04-07 05:53:12.000000000","message":"Updated.","commit_id":"68eb9ec5cabf2a0ad60860da728fe5191baee8e7"}],"specs/newton/retype-encrypted-volumes.rst":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"fe89c8b2226098090717808ba1dba61e3f538610","unresolved":false,"context_lines":[{"line_number":101,"context_line":"Other deployer impact"},{"line_number":102,"context_line":"---------------------"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"The feature is dependent on Castellan [3]. Meanwhile, Barbican [4] is currently"},{"line_number":105,"context_line":"the only key manager backend supported by Castellan. Both the two packages"},{"line_number":106,"context_line":"are needed."},{"line_number":107,"context_line":"The deployer will be able to retype volumes between volume types with"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5a18252c_2a588c89","line":104,"updated":"2016-04-14 21:50:43.000000000","message":"Should this have a depends-on tag in the commit message for https://review.openstack.org/247577","commit_id":"5394e1d9e8142ca895737e1bd4af61bb0d247168"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"e36202eda14e7a17c01b250c7bf0369a761bd960","unresolved":false,"context_lines":[{"line_number":101,"context_line":"Other deployer impact"},{"line_number":102,"context_line":"---------------------"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"The feature is dependent on Castellan [3]. Meanwhile, Barbican [4] is currently"},{"line_number":105,"context_line":"the only key manager backend supported by Castellan. Both the two packages"},{"line_number":106,"context_line":"are needed."},{"line_number":107,"context_line":"The deployer will be able to retype volumes between volume types with"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1a122d0e_524c2770","line":104,"in_reply_to":"5a18252c_2a588c89","updated":"2016-04-18 02:37:05.000000000","message":"I added it.","commit_id":"5394e1d9e8142ca895737e1bd4af61bb0d247168"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"71487d4f16f3c73742f45001b2c8b334c91ab28d","unresolved":false,"context_lines":[{"line_number":58,"context_line":"REST API impact"},{"line_number":59,"context_line":"---------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Change the existing retype API to take a force parameter."},{"line_number":62,"context_line":"Only when force is specified as True, it allows encryption"},{"line_number":63,"context_line":"change."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_2ebad2e1","line":61,"updated":"2016-04-22 20:40:27.000000000","message":"Not sure if \"force\" is the best keyword for this... could be interpreted as doing a lot of things. Can we make it something more explicit like \"allow_encryption_changes\" or something (maybe less verbose) like that?","commit_id":"55dee2875280aeaa8935bac96381f2a70c2b9d76"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"b795cb39ae7e9cb62b263f359f6dda4651dd04ad","unresolved":false,"context_lines":[{"line_number":58,"context_line":"REST API impact"},{"line_number":59,"context_line":"---------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Change the existing retype API to take a force parameter."},{"line_number":62,"context_line":"Only when force is specified as True, it allows encryption"},{"line_number":63,"context_line":"change."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_fbdcd5e5","line":61,"in_reply_to":"1a122d0e_2ebad2e1","updated":"2016-04-26 15:10:06.000000000","message":"Agreed.  We need to stop using \"force\" for this type of operation because it\u0027s too generic of a word/concept.","commit_id":"55dee2875280aeaa8935bac96381f2a70c2b9d76"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"eca55cd64f9dd8eafa918888c5d97482dd99128b","unresolved":false,"context_lines":[{"line_number":58,"context_line":"REST API impact"},{"line_number":59,"context_line":"---------------"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Change the existing retype API to take a force parameter."},{"line_number":62,"context_line":"Only when force is specified as True, it allows encryption"},{"line_number":63,"context_line":"change."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"1a122d0e_4a1a8c19","line":61,"in_reply_to":"1a122d0e_2ebad2e1","updated":"2016-05-04 07:36:32.000000000","message":"Done","commit_id":"55dee2875280aeaa8935bac96381f2a70c2b9d76"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"d31aecc828bb53684fca8a427764db9c4d5c5f44","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"If a volume is in available status, the detailed process will be:"},{"line_number":38,"context_line":"* Create a new volume according to new volume_type."},{"line_number":39,"context_line":"* Map the two volumes to the volume host."},{"line_number":40,"context_line":"* Open the device with dm-crypt [1] if volumes are encrypted."},{"line_number":41,"context_line":"* Data copy from original volume to new volume."},{"line_number":42,"context_line":"* Close dm-crypt and detach the volumes."}],"source_content_type":"text/x-rst","patch_set":13,"id":"dab17558_2887ad10","line":39,"range":{"start_line":39,"start_character":36,"end_line":39,"end_character":40},"updated":"2016-05-06 08:57:45.000000000","message":"What do we do if we don\u0027t have enough space available in the host, pick up another host or give up?\nDo we need to introduce some new volume status like \"retyping\" and \"retyping_error\"?","commit_id":"fea845c54f9dfb689ae0768f3f133be6470caeb5"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b8f8f3c5ba7cccc2de8ae7cf96e03deec90308b7","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"If a volume is in available status, the detailed process will be:"},{"line_number":38,"context_line":"* Create a new volume according to new volume_type."},{"line_number":39,"context_line":"* Map the two volumes to the volume host."},{"line_number":40,"context_line":"* Open the device with dm-crypt [1] if volumes are encrypted."},{"line_number":41,"context_line":"* Data copy from original volume to new volume."},{"line_number":42,"context_line":"* Close dm-crypt and detach the volumes."}],"source_content_type":"text/x-rst","patch_set":13,"id":"dab17558_1ef8ac48","line":39,"range":{"start_line":39,"start_character":36,"end_line":39,"end_character":40},"in_reply_to":"dab17558_2887ad10","updated":"2016-05-10 08:46:40.000000000","message":"Retype exists in current Cinder, this spec is just to enhance it. The other processes and exception handlers are kept unchanged.","commit_id":"fea845c54f9dfb689ae0768f3f133be6470caeb5"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"8d37131e187430c036e12d078d25235f6f2f922d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Only when this parameter is specified as True, it allows encryption change."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* Retype volume"},{"line_number":66,"context_line":"  * /v2/{tenant_id}/volumes/{volume_id}/action"},{"line_number":67,"context_line":"  * Method: POST"},{"line_number":68,"context_line":"  * JSON schema definition for V2::"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a122d0e_2f30d455","line":66,"updated":"2016-05-04 23:32:10.000000000","message":"Do we need v3 with microversioning?","commit_id":"fea845c54f9dfb689ae0768f3f133be6470caeb5"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b8f8f3c5ba7cccc2de8ae7cf96e03deec90308b7","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Only when this parameter is specified as True, it allows encryption change."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* Retype volume"},{"line_number":66,"context_line":"  * /v2/{tenant_id}/volumes/{volume_id}/action"},{"line_number":67,"context_line":"  * Method: POST"},{"line_number":68,"context_line":"  * JSON schema definition for V2::"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"dab17558_5e9cf40e","line":66,"in_reply_to":"1a122d0e_2f30d455","updated":"2016-05-10 08:46:40.000000000","message":"Done","commit_id":"fea845c54f9dfb689ae0768f3f133be6470caeb5"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"09b355e818de1937f7c727b805de7e93007b5fe3","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Only when this parameter is specified as True, it allows encryption change."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* Retype volume"},{"line_number":66,"context_line":"  * /v2/{tenant_id}/volumes/{volume_id}/action"},{"line_number":67,"context_line":"  * Method: POST"},{"line_number":68,"context_line":"  * JSON schema definition for V2::"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"dab17558_847e8bac","line":66,"in_reply_to":"1a122d0e_2f30d455","updated":"2016-05-06 06:06:33.000000000","message":"Good point. This is an API change. We do need a microversion bump.","commit_id":"fea845c54f9dfb689ae0768f3f133be6470caeb5"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"d31aecc828bb53684fca8a427764db9c4d5c5f44","unresolved":false,"context_lines":[{"line_number":85,"context_line":"Notifications impact"},{"line_number":86,"context_line":"--------------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"None."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Other end user impact"},{"line_number":91,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dab17558_0812a9b4","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":5},"updated":"2016-05-06 08:57:45.000000000","message":"I think we can send some notifications for retyping between different encryption.","commit_id":"fea845c54f9dfb689ae0768f3f133be6470caeb5"},{"author":{"_account_id":20105,"name":"Cao ShuFeng","email":"caosf.fnst@cn.fujitsu.com","username":"caosf.fnst"},"change_message_id":"b65999ff22a03ad661acc4f0e60ce10a7c86d90d","unresolved":false,"context_lines":[{"line_number":85,"context_line":"Notifications impact"},{"line_number":86,"context_line":"--------------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"None."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Other end user impact"},{"line_number":91,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dab17558_a8555d1e","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":5},"in_reply_to":"dab17558_0812a9b4","updated":"2016-05-06 09:07:14.000000000","message":"In my opinion, it will take at least several minute to dd a whole volume.\nSo I think the work flow should look like this:\n1. change the volume status to retyping\n2. send a notification like \"retyping.start\"\n3. change the volume status to available\n4. send a notification like \"retyping.end\"\n\nhttps://github.com/openstack/cinder/blob/master/cinder/scheduler/manager.py#L292","commit_id":"fea845c54f9dfb689ae0768f3f133be6470caeb5"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b8f8f3c5ba7cccc2de8ae7cf96e03deec90308b7","unresolved":false,"context_lines":[{"line_number":85,"context_line":"Notifications impact"},{"line_number":86,"context_line":"--------------------"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"None."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Other end user impact"},{"line_number":91,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dab17558_9e15bc4a","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":5},"in_reply_to":"dab17558_a8555d1e","updated":"2016-05-10 08:46:40.000000000","message":"Hi ShuFeng, like I said above, the other steps are unchanged.\n\nBut I have a quick look, I found retype.end but no retype.start, it may be a bug. Later investigate more. Anyway I don\u0027t think it is in the scope of this spec.","commit_id":"fea845c54f9dfb689ae0768f3f133be6470caeb5"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"8d37131e187430c036e12d078d25235f6f2f922d","unresolved":false,"context_lines":[{"line_number":95,"context_line":"Cinder will catch the exception, log the error. The volume to retype will be"},{"line_number":96,"context_line":"set to original status."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"None"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Performance Impact"},{"line_number":101,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a122d0e_4f1270b5","line":98,"updated":"2016-05-04 23:32:10.000000000","message":"You can remove this line.","commit_id":"fea845c54f9dfb689ae0768f3f133be6470caeb5"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b8f8f3c5ba7cccc2de8ae7cf96e03deec90308b7","unresolved":false,"context_lines":[{"line_number":95,"context_line":"Cinder will catch the exception, log the error. The volume to retype will be"},{"line_number":96,"context_line":"set to original status."},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"None"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Performance Impact"},{"line_number":101,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dab17558_f9b18248","line":98,"in_reply_to":"1a122d0e_4f1270b5","updated":"2016-05-10 08:46:40.000000000","message":"Done","commit_id":"fea845c54f9dfb689ae0768f3f133be6470caeb5"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"8d37131e187430c036e12d078d25235f6f2f922d","unresolved":false,"context_lines":[{"line_number":109,"context_line":"The feature is dependent on Castellan [3]. Meanwhile, Barbican [4] is currently"},{"line_number":110,"context_line":"the only key manager backend supported by Castellan. Both the two packages"},{"line_number":111,"context_line":"are needed."},{"line_number":112,"context_line":"The deployer will be able to retype volumes between volume types with"},{"line_number":113,"context_line":"different encryptions."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"1a122d0e_8f080882","line":112,"updated":"2016-05-04 23:32:10.000000000","message":"This is not an impact.","commit_id":"fea845c54f9dfb689ae0768f3f133be6470caeb5"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b8f8f3c5ba7cccc2de8ae7cf96e03deec90308b7","unresolved":false,"context_lines":[{"line_number":109,"context_line":"The feature is dependent on Castellan [3]. Meanwhile, Barbican [4] is currently"},{"line_number":110,"context_line":"the only key manager backend supported by Castellan. Both the two packages"},{"line_number":111,"context_line":"are needed."},{"line_number":112,"context_line":"The deployer will be able to retype volumes between volume types with"},{"line_number":113,"context_line":"different encryptions."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dab17558_19b56630","line":112,"in_reply_to":"1a122d0e_8f080882","updated":"2016-05-10 08:46:40.000000000","message":"Removed.","commit_id":"fea845c54f9dfb689ae0768f3f133be6470caeb5"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"4aa14c85c3493a0f0fcf1bf3061c28f673d27f36","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/cinder/+spec/retype-encrypted-volume"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Enable the function that retyping volumes between volume types with"},{"line_number":14,"context_line":"different encryptions."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_71759d30","line":14,"updated":"2016-05-10 13:49:04.000000000","message":"Needs to be rewritten for clarity. Perhaps something like: This change enables functionality which would allow Cinder to change a volume\u0027s type.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"4ef69a37623d40a8787a1e99f0b43dd9d07a8b0e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/cinder/+spec/retype-encrypted-volume"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Enable the function that retyping volumes between volume types with"},{"line_number":14,"context_line":"different encryptions."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_984c749f","line":14,"in_reply_to":"dab17558_71759d30","updated":"2016-05-17 08:44:28.000000000","message":"I add the retype link.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"4aa14c85c3493a0f0fcf1bf3061c28f673d27f36","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Currently it prevents retyping volumes to a volume type with different"},{"line_number":20,"context_line":"encryptions."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Use Cases"},{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_71dabd18","line":20,"updated":"2016-05-10 13:49:04.000000000","message":"What is \"it\" in this sentence? Cinder? What is meant by \"retyping\"? This section needs more explicit detail and more background information about volume types.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"4ef69a37623d40a8787a1e99f0b43dd9d07a8b0e","unresolved":false,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Currently it prevents retyping volumes to a volume type with different"},{"line_number":20,"context_line":"encryptions."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Use Cases"},{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_9b28ee87","line":20,"in_reply_to":"dab17558_71dabd18","updated":"2016-05-17 08:44:28.000000000","message":"I add retype link above.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"4aa14c85c3493a0f0fcf1bf3061c28f673d27f36","unresolved":false,"context_lines":[{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* Customers uses unencrypted volumes, but later they would like"},{"line_number":26,"context_line":"  to change the volumes to encrypted."},{"line_number":27,"context_line":"* Customers uses encrypted volumes and later want to change to unencrypted."},{"line_number":28,"context_line":"* Customers want to change encryptions of a volume."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_51ee99b4","line":26,"updated":"2016-05-10 13:49:04.000000000","message":"uses -\u003e use","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"4ef69a37623d40a8787a1e99f0b43dd9d07a8b0e","unresolved":false,"context_lines":[{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* Customers uses unencrypted volumes, but later they would like"},{"line_number":26,"context_line":"  to change the volumes to encrypted."},{"line_number":27,"context_line":"* Customers uses encrypted volumes and later want to change to unencrypted."},{"line_number":28,"context_line":"* Customers want to change encryptions of a volume."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_9b60eea6","line":26,"in_reply_to":"dab17558_51ee99b4","updated":"2016-05-17 08:44:28.000000000","message":"Done","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"4aa14c85c3493a0f0fcf1bf3061c28f673d27f36","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* Customers uses unencrypted volumes, but later they would like"},{"line_number":26,"context_line":"  to change the volumes to encrypted."},{"line_number":27,"context_line":"* Customers uses encrypted volumes and later want to change to unencrypted."},{"line_number":28,"context_line":"* Customers want to change encryptions of a volume."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_5145f9b0","line":27,"updated":"2016-05-10 13:49:04.000000000","message":"uses -\u003e use","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"4ef69a37623d40a8787a1e99f0b43dd9d07a8b0e","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"* Customers uses unencrypted volumes, but later they would like"},{"line_number":26,"context_line":"  to change the volumes to encrypted."},{"line_number":27,"context_line":"* Customers uses encrypted volumes and later want to change to unencrypted."},{"line_number":28,"context_line":"* Customers want to change encryptions of a volume."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_bb5972ff","line":27,"in_reply_to":"dab17558_5145f9b0","updated":"2016-05-17 08:44:28.000000000","message":"Done","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"4aa14c85c3493a0f0fcf1bf3061c28f673d27f36","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"If a volume is in available status, the detailed process will be:"},{"line_number":38,"context_line":"* Create a new volume according to new volume_type."},{"line_number":39,"context_line":"* Map the two volumes to the volume host."},{"line_number":40,"context_line":"* Open the device with dm-crypt [1] if volumes are encrypted."},{"line_number":41,"context_line":"* Data copy from original volume to new volume."},{"line_number":42,"context_line":"* Close dm-crypt and detach the volumes."}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_318cb5d9","line":39,"updated":"2016-05-10 13:49:04.000000000","message":"Can you explain what this means in a little more detail? I assume this is how the volume host knows about the new volume.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"4ef69a37623d40a8787a1e99f0b43dd9d07a8b0e","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"If a volume is in available status, the detailed process will be:"},{"line_number":38,"context_line":"* Create a new volume according to new volume_type."},{"line_number":39,"context_line":"* Map the two volumes to the volume host."},{"line_number":40,"context_line":"* Open the device with dm-crypt [1] if volumes are encrypted."},{"line_number":41,"context_line":"* Data copy from original volume to new volume."},{"line_number":42,"context_line":"* Close dm-crypt and detach the volumes."}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_5bf046c9","line":39,"in_reply_to":"dab17558_318cb5d9","updated":"2016-05-17 08:44:28.000000000","message":"The function that mapping volumes to volume host exists in Cinder, I just use it. Do I need to describe it in detail?","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"1cb95830977cd83bee04e6baabc6d41619428f28","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"If a volume is in available status, the detailed process will be:"},{"line_number":38,"context_line":"* Create a new volume according to new volume_type."},{"line_number":39,"context_line":"* Map the two volumes to the volume host."},{"line_number":40,"context_line":"* Open the device with dm-crypt [1] if volumes are encrypted."},{"line_number":41,"context_line":"* Data copy from original volume to new volume."},{"line_number":42,"context_line":"* Close dm-crypt and detach the volumes."}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_58fcb571","line":39,"in_reply_to":"dab17558_5bf046c9","updated":"2016-05-17 14:13:12.000000000","message":"No that\u0027s not necessary. If it\u0027s a standard, this is fine as is.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"4aa14c85c3493a0f0fcf1bf3061c28f673d27f36","unresolved":false,"context_lines":[{"line_number":38,"context_line":"* Create a new volume according to new volume_type."},{"line_number":39,"context_line":"* Map the two volumes to the volume host."},{"line_number":40,"context_line":"* Open the device with dm-crypt [1] if volumes are encrypted."},{"line_number":41,"context_line":"* Data copy from original volume to new volume."},{"line_number":42,"context_line":"* Close dm-crypt and detach the volumes."},{"line_number":43,"context_line":"* Delete original volume in backend storage."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_f1818dc4","line":41,"updated":"2016-05-10 13:49:04.000000000","message":"Data copy -\u003e Copy data","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"4ef69a37623d40a8787a1e99f0b43dd9d07a8b0e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"* Create a new volume according to new volume_type."},{"line_number":39,"context_line":"* Map the two volumes to the volume host."},{"line_number":40,"context_line":"* Open the device with dm-crypt [1] if volumes are encrypted."},{"line_number":41,"context_line":"* Data copy from original volume to new volume."},{"line_number":42,"context_line":"* Close dm-crypt and detach the volumes."},{"line_number":43,"context_line":"* Delete original volume in backend storage."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_9bbc6edd","line":41,"in_reply_to":"dab17558_f1818dc4","updated":"2016-05-17 08:44:28.000000000","message":"Done","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"4aa14c85c3493a0f0fcf1bf3061c28f673d27f36","unresolved":false,"context_lines":[{"line_number":41,"context_line":"* Data copy from original volume to new volume."},{"line_number":42,"context_line":"* Close dm-crypt and detach the volumes."},{"line_number":43,"context_line":"* Delete original volume in backend storage."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"If a volume is in-use status, nothing needs to change except the bug fix [2]."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_2c6bb8b8","line":44,"updated":"2016-05-10 13:49:04.000000000","message":"How seamless will this procedure be? Will the end user see a new volume in Horizon and see the old volume missing? Or will it appear to be the same volume in Horizon, but with different type information? Obviously the latter is preferable.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"4ef69a37623d40a8787a1e99f0b43dd9d07a8b0e","unresolved":false,"context_lines":[{"line_number":41,"context_line":"* Data copy from original volume to new volume."},{"line_number":42,"context_line":"* Close dm-crypt and detach the volumes."},{"line_number":43,"context_line":"* Delete original volume in backend storage."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"If a volume is in-use status, nothing needs to change except the bug fix [2]."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_dbe556dc","line":44,"in_reply_to":"dab17558_2c6bb8b8","updated":"2016-05-17 08:44:28.000000000","message":"End users see two volumes in Horizon. When retyping completes, the old volume is deleted.\n\nThis belongs to current retype process, I think it doesn\u0027t belong to the scope of this spec. \n\nBut I agree with you the latter is better, we need to think about how to hide temporary volumes.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"4aa14c85c3493a0f0fcf1bf3061c28f673d27f36","unresolved":false,"context_lines":[{"line_number":48,"context_line":"------------"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Create a new volume with new volume type, attach the two volumes to a VM"},{"line_number":51,"context_line":"instance, and use dd to copy data from old volume to new volume."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Data model impact"},{"line_number":54,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_aca328b1","line":51,"updated":"2016-05-10 13:49:04.000000000","message":"As it is currently written, this isn\u0027t really an alternative. For instance, if you\u0027re talking about supporting a retype from an encrypted to an unencrypted volume, there has to be retrieval of the key from the key manager and decryption. It might be best to leave this section as \"None\" since there doesn\u0027t seem to be a good alternative.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"4ef69a37623d40a8787a1e99f0b43dd9d07a8b0e","unresolved":false,"context_lines":[{"line_number":48,"context_line":"------------"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"Create a new volume with new volume type, attach the two volumes to a VM"},{"line_number":51,"context_line":"instance, and use dd to copy data from old volume to new volume."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Data model impact"},{"line_number":54,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_7b68aaf5","line":51,"in_reply_to":"dab17558_aca328b1","updated":"2016-05-17 08:44:28.000000000","message":"Done","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"4aa14c85c3493a0f0fcf1bf3061c28f673d27f36","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Change the existing retype API to take a new parameter called"},{"line_number":62,"context_line":"allow_encryption_changes."},{"line_number":63,"context_line":"Only when this parameter is specified as True, it allows encryption change."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* Retype volume"},{"line_number":66,"context_line":"  * /v3/{tenant_id}/volumes/{volume_id}/action"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_6c4820cd","line":63,"updated":"2016-05-10 13:49:04.000000000","message":"Which users are allowed to perform encryption changes? The owner of the volume? Can admins make encryption changes when allow_encryption_changes is False? This may be necessary if deployers are required to migrate to stronger encryption.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"4ef69a37623d40a8787a1e99f0b43dd9d07a8b0e","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Change the existing retype API to take a new parameter called"},{"line_number":62,"context_line":"allow_encryption_changes."},{"line_number":63,"context_line":"Only when this parameter is specified as True, it allows encryption change."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* Retype volume"},{"line_number":66,"context_line":"  * /v3/{tenant_id}/volumes/{volume_id}/action"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_9b1aae7b","line":63,"in_reply_to":"dab17558_6c4820cd","updated":"2016-05-17 08:44:28.000000000","message":"Yes, this is necessary when deployers move their data to stronger encryption. Like changing key size or cipher etc.\nAlso like users move their data from unencrypted to encrypted.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"4aa14c85c3493a0f0fcf1bf3061c28f673d27f36","unresolved":false,"context_lines":[{"line_number":80,"context_line":"Security impact"},{"line_number":81,"context_line":"---------------"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Cinder needs to access encryption keys and decrypt the data."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Notifications impact"},{"line_number":86,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_acf04868","line":83,"updated":"2016-05-10 13:49:04.000000000","message":"Cinder also needs proper logic to ensure that only admins and owners of a volume can perform the retype operation on that volume.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"1cb95830977cd83bee04e6baabc6d41619428f28","unresolved":false,"context_lines":[{"line_number":80,"context_line":"Security impact"},{"line_number":81,"context_line":"---------------"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Cinder needs to access encryption keys and decrypt the data."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Notifications impact"},{"line_number":86,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_3b428b0f","line":83,"in_reply_to":"dab17558_3b00e201","updated":"2016-05-17 14:13:12.000000000","message":"Great. Thanks for following up.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"4ef69a37623d40a8787a1e99f0b43dd9d07a8b0e","unresolved":false,"context_lines":[{"line_number":80,"context_line":"Security impact"},{"line_number":81,"context_line":"---------------"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Cinder needs to access encryption keys and decrypt the data."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Notifications impact"},{"line_number":86,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_3b00e201","line":83,"in_reply_to":"dab17558_acf04868","updated":"2016-05-17 08:44:28.000000000","message":"cinder does it. Also Barbican has check.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"4aa14c85c3493a0f0fcf1bf3061c28f673d27f36","unresolved":false,"context_lines":[{"line_number":141,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Both unit and Tempest tests need to be created to cover the code change that"},{"line_number":144,"context_line":"mentioned in \"Proposed change\"."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_c7f647f8","line":144,"updated":"2016-05-10 13:49:04.000000000","message":"Are Tempest tests necessary? One of the major benefits of Castellan should be that it removes the necessity of testing the explicit interactions with a key manager service.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"4ef69a37623d40a8787a1e99f0b43dd9d07a8b0e","unresolved":false,"context_lines":[{"line_number":141,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Both unit and Tempest tests need to be created to cover the code change that"},{"line_number":144,"context_line":"mentioned in \"Proposed change\"."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":14,"id":"dab17558_764a8156","line":144,"in_reply_to":"dab17558_c7f647f8","updated":"2016-05-17 08:44:28.000000000","message":"I think tempest test is not needed at this moment, as it depends on migration test which has not merged.","commit_id":"2a2951a2d418f846482de92188b3f4fabe5b2ed6"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"2638b71582e1dbd311585b299378f062a7633990","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/cinder/+spec/retype-encrypted-volume"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Enable the function that retyping volumes [1] between volume types with"},{"line_number":14,"context_line":"different encryptions."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\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":15,"id":"dab17558_bbfcbbb5","line":14,"updated":"2016-05-17 14:29:51.000000000","message":"This sentence still needs to be rewritten for grammar.","commit_id":"a05361116162ab8a0bb6b134313ac123d939a862"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b843b1c132e249710d326fa0256d209ea48c101a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/cinder/+spec/retype-encrypted-volume"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Enable the function that retyping volumes [1] between volume types with"},{"line_number":14,"context_line":"different encryptions."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\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":15,"id":"bab6814e_ff43ab6a","line":14,"in_reply_to":"dab17558_bbfcbbb5","updated":"2016-05-18 05:52:49.000000000","message":"Will try to do it.","commit_id":"a05361116162ab8a0bb6b134313ac123d939a862"},{"author":{"_account_id":8623,"name":"Kaitlin Farr","email":"kaitlin.farr@jhuapl.edu","username":"kaitlin.farr"},"change_message_id":"f8489f3580237844a6762fd984f0a80066a4acd4","unresolved":false,"context_lines":[{"line_number":25,"context_line":"* Customers use unencrypted volumes, but later they would like"},{"line_number":26,"context_line":"  to change the volumes to encrypted."},{"line_number":27,"context_line":"* Customers use encrypted volumes and later want to change to unencrypted."},{"line_number":28,"context_line":"* Customers want to change encryptions of a volume."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Proposed change"},{"line_number":31,"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":15,"id":"dab17558_c31c2879","line":28,"updated":"2016-05-17 18:34:42.000000000","message":"In the use cases, is it going to be non-admin users doing the retyping on volumes they own, or will it be an admin doing the retyping as part of maintenance work?  The answer may affect how the key manager permissions are configured","commit_id":"a05361116162ab8a0bb6b134313ac123d939a862"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b843b1c132e249710d326fa0256d209ea48c101a","unresolved":false,"context_lines":[{"line_number":25,"context_line":"* Customers use unencrypted volumes, but later they would like"},{"line_number":26,"context_line":"  to change the volumes to encrypted."},{"line_number":27,"context_line":"* Customers use encrypted volumes and later want to change to unencrypted."},{"line_number":28,"context_line":"* Customers want to change encryptions of a volume."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Proposed change"},{"line_number":31,"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":15,"id":"bab6814e_7f817b8f","line":28,"in_reply_to":"dab17558_c31c2879","updated":"2016-05-18 05:52:49.000000000","message":"Both admin and volume owners can retype volumes. When admin retypes a volume which needs to access Barbican, it transfers the admin context to Barbican. When volume owner retypes a volume, Cinder transfer the owner context to Barbican.","commit_id":"a05361116162ab8a0bb6b134313ac123d939a862"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"2638b71582e1dbd311585b299378f062a7633990","unresolved":false,"context_lines":[{"line_number":92,"context_line":"But Barbican can be configued only to give key materials to tenants, not admin."},{"line_number":93,"context_line":"This may lead that admin can\u0027t retype volumes successfully. In such cases,"},{"line_number":94,"context_line":"Cinder will catch the exception, log the error. The volume to retype will be"},{"line_number":95,"context_line":"set to original status."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Performance Impact"},{"line_number":98,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"dab17558_7e1d210e","line":95,"updated":"2016-05-17 14:29:51.000000000","message":"I think this case may be more problematic than is implied here. If migrating all the volumes to a stronger encryption, simply failing the retype operation may not be acceptable.","commit_id":"a05361116162ab8a0bb6b134313ac123d939a862"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"5244fd5c14c9ed8699d9e8b6c09525a76cb30277","unresolved":false,"context_lines":[{"line_number":92,"context_line":"But Barbican can be configued only to give key materials to tenants, not admin."},{"line_number":93,"context_line":"This may lead that admin can\u0027t retype volumes successfully. In such cases,"},{"line_number":94,"context_line":"Cinder will catch the exception, log the error. The volume to retype will be"},{"line_number":95,"context_line":"set to original status."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Performance Impact"},{"line_number":98,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"bab6814e_6a5ffb0e","line":95,"in_reply_to":"bab6814e_9f1c1f79","updated":"2016-05-18 05:59:16.000000000","message":"The result is that the volume is still with original volume type, original status and usable. We use log to record the failed operation.","commit_id":"a05361116162ab8a0bb6b134313ac123d939a862"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b843b1c132e249710d326fa0256d209ea48c101a","unresolved":false,"context_lines":[{"line_number":92,"context_line":"But Barbican can be configued only to give key materials to tenants, not admin."},{"line_number":93,"context_line":"This may lead that admin can\u0027t retype volumes successfully. In such cases,"},{"line_number":94,"context_line":"Cinder will catch the exception, log the error. The volume to retype will be"},{"line_number":95,"context_line":"set to original status."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Performance Impact"},{"line_number":98,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"bab6814e_9f1c1f79","line":95,"in_reply_to":"dab17558_7e1d210e","updated":"2016-05-18 05:52:49.000000000","message":"Currently Cinder retypes a volume to another volume type, the volume is set to original status before retyping and Cinder logs the error messages if retyping fails.\n\nThe process will be kept same for this BP.","commit_id":"a05361116162ab8a0bb6b134313ac123d939a862"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"73a1ae8c253df7e322ee2b2c6f3850706d190f7b","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/cinder/+spec/retype-encrypted-volume"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Enable the function that changing volume type of a volume [1] to another"},{"line_number":14,"context_line":"type with different encryptions."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":16,"id":"9abb7d3a_2133ac15","line":13,"range":{"start_line":13,"start_character":57,"end_line":13,"end_character":61},"updated":"2016-06-01 02:59:00.000000000","message":"According the rst guide, http://docs.openstack.org/contributor-guide/rst-conv/refs.html, external ref shouldn\u0027t use like this.","commit_id":"98f105eb27a0d30405c03e53526129a65a538741"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"7bd4b7b85fbdf0468072cfef3051b88d5c2a451c","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/cinder/+spec/retype-encrypted-volume"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Enable the function that changing volume type of a volume [1] to another"},{"line_number":14,"context_line":"type with different encryptions."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":16,"id":"9abb7d3a_e2e362a2","line":13,"range":{"start_line":13,"start_character":57,"end_line":13,"end_character":61},"in_reply_to":"9abb7d3a_2133ac15","updated":"2016-06-01 05:13:40.000000000","message":"Seems it is more suitable for customer docs. I notice some dev docs use this way.","commit_id":"98f105eb27a0d30405c03e53526129a65a538741"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"73a1ae8c253df7e322ee2b2c6f3850706d190f7b","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Same as current retype mechanism, it allows to retype volumes in available"},{"line_number":35,"context_line":"and in-use volumes."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"If a volume is in available status, the detailed process will be:"},{"line_number":38,"context_line":"* Create a new volume according to new volume_type."},{"line_number":39,"context_line":"* Map the two volumes to the volume host."},{"line_number":40,"context_line":"* Open the device with dm-crypt [2] if volumes are encrypted."}],"source_content_type":"text/x-rst","patch_set":16,"id":"9abb7d3a_5638343d","line":37,"updated":"2016-06-01 02:59:00.000000000","message":"here need a blank line, otherwise it looks like this:\nhttp://docs-draft.openstack.org/93/248593/16/check/gate-cinder-specs-docs/9119af3//doc/build/html/specs/newton/retype-encrypted-volumes.html","commit_id":"98f105eb27a0d30405c03e53526129a65a538741"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"7bd4b7b85fbdf0468072cfef3051b88d5c2a451c","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Same as current retype mechanism, it allows to retype volumes in available"},{"line_number":35,"context_line":"and in-use volumes."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"If a volume is in available status, the detailed process will be:"},{"line_number":38,"context_line":"* Create a new volume according to new volume_type."},{"line_number":39,"context_line":"* Map the two volumes to the volume host."},{"line_number":40,"context_line":"* Open the device with dm-crypt [2] if volumes are encrypted."}],"source_content_type":"text/x-rst","patch_set":16,"id":"9abb7d3a_826c1636","line":37,"in_reply_to":"9abb7d3a_5638343d","updated":"2016-06-01 05:13:40.000000000","message":"Done","commit_id":"98f105eb27a0d30405c03e53526129a65a538741"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"73a1ae8c253df7e322ee2b2c6f3850706d190f7b","unresolved":false,"context_lines":[{"line_number":38,"context_line":"* Create a new volume according to new volume_type."},{"line_number":39,"context_line":"* Map the two volumes to the volume host."},{"line_number":40,"context_line":"* Open the device with dm-crypt [2] if volumes are encrypted."},{"line_number":41,"context_line":"* Copy data from original volume to new volume."},{"line_number":42,"context_line":"* Close dm-crypt and detach the volumes."},{"line_number":43,"context_line":"* Delete original volume in backend storage."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"9abb7d3a_9c159b41","line":41,"range":{"start_line":41,"start_character":1,"end_line":41,"end_character":47},"updated":"2016-06-01 02:59:00.000000000","message":"This seems not very clear. I mean if retype volume from encrypted to unencrypted, the data will be unencrypted and copied to new volume, right? If retype volume from unencrypted to encrypted volume, data will be encrypted first by dm-crypt and then copied to new volume. How about to change different encryptions between volumes.","commit_id":"98f105eb27a0d30405c03e53526129a65a538741"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"7bd4b7b85fbdf0468072cfef3051b88d5c2a451c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"* Create a new volume according to new volume_type."},{"line_number":39,"context_line":"* Map the two volumes to the volume host."},{"line_number":40,"context_line":"* Open the device with dm-crypt [2] if volumes are encrypted."},{"line_number":41,"context_line":"* Copy data from original volume to new volume."},{"line_number":42,"context_line":"* Close dm-crypt and detach the volumes."},{"line_number":43,"context_line":"* Delete original volume in backend storage."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"9abb7d3a_a2415aab","line":41,"range":{"start_line":41,"start_character":1,"end_line":41,"end_character":47},"in_reply_to":"9abb7d3a_9c159b41","updated":"2016-06-01 05:13:40.000000000","message":"No matter data from unencrypted to encrypted or vice visa, differences from current mechanism are the third step (Open the device with dm-crypt). For example, volume A is encrypted and volume B is unencrypted, when attaching volume A and volume B, except current attachment, volume A needs to do the third step: Open with dm-crypt.","commit_id":"98f105eb27a0d30405c03e53526129a65a538741"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"73a1ae8c253df7e322ee2b2c6f3850706d190f7b","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Notifications impact"},{"line_number":85,"context_line":"--------------------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"None."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Other end user impact"},{"line_number":90,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":16,"id":"9abb7d3a_56a2f44b","line":87,"range":{"start_line":87,"start_character":0,"end_line":87,"end_character":5},"updated":"2016-06-01 02:59:00.000000000","message":"Maybe notifications should be updated to add \"allow_encryption_changes\" info.","commit_id":"98f105eb27a0d30405c03e53526129a65a538741"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"22e45c25b45f89a638f167d2fb3981827e3d16b6","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Notifications impact"},{"line_number":85,"context_line":"--------------------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"None."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Other end user impact"},{"line_number":90,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":16,"id":"9abb7d3a_46b9212e","line":87,"range":{"start_line":87,"start_character":0,"end_line":87,"end_character":5},"in_reply_to":"9abb7d3a_22144a9e","updated":"2016-06-03 00:40:51.000000000","message":"I mean we should update the notification\u0027s info, not add a new one. :)","commit_id":"98f105eb27a0d30405c03e53526129a65a538741"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"13b3eb2de704a825401b723e50d965c048c0280f","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Notifications impact"},{"line_number":85,"context_line":"--------------------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"None."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Other end user impact"},{"line_number":90,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7aa08908_0a437743","line":87,"range":{"start_line":87,"start_character":0,"end_line":87,"end_character":5},"in_reply_to":"9abb7d3a_46b9212e","updated":"2016-06-07 07:24:07.000000000","message":"I don\u0027t find out the meaning to do it. As the change will be logged.","commit_id":"98f105eb27a0d30405c03e53526129a65a538741"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"7bd4b7b85fbdf0468072cfef3051b88d5c2a451c","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Notifications impact"},{"line_number":85,"context_line":"--------------------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"None."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Other end user impact"},{"line_number":90,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":16,"id":"9abb7d3a_22144a9e","line":87,"range":{"start_line":87,"start_character":0,"end_line":87,"end_character":5},"in_reply_to":"9abb7d3a_56a2f44b","updated":"2016-06-01 05:13:40.000000000","message":"No more notifications will be added.","commit_id":"98f105eb27a0d30405c03e53526129a65a538741"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"7ec29d00b2b08cb4d653275b4d8a999a1be23b96","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* Create a new volume according to new volume_type."},{"line_number":40,"context_line":"* Map the two volumes to the volume host."},{"line_number":41,"context_line":"* Open the device with dm-crypt [2] if volumes are encrypted."},{"line_number":42,"context_line":"* Copy data from original volume to new volume."},{"line_number":43,"context_line":"* Close dm-crypt and detach the volumes."},{"line_number":44,"context_line":"* Delete original volume in backend storage."}],"source_content_type":"text/x-rst","patch_set":17,"id":"7aa08908_13cd0031","line":41,"updated":"2016-06-08 15:54:03.000000000","message":"This needs a lot more detail to understand if it\u0027s workable for all drivers or not.  Things like RBD and NFS should be gaining support for encrypted volumes in the not-so-distant future, and you will not be able to just use dm-crypt to handle that data.\n\nWork has been happening in os-brick lately to support similar types of data access for RBD (and iSCSI) in os-brick for migration, a similar approach may be needed here.","commit_id":"702a105089e762f0334ea32b4d74b8aceb3036af"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"dbf97c4f3a93674feb4feb8249abd2a845e1a23f","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* Create a new volume according to new volume_type."},{"line_number":40,"context_line":"* Map the two volumes to the volume host."},{"line_number":41,"context_line":"* Open the device with dm-crypt [2] if volumes are encrypted."},{"line_number":42,"context_line":"* Copy data from original volume to new volume."},{"line_number":43,"context_line":"* Close dm-crypt and detach the volumes."},{"line_number":44,"context_line":"* Delete original volume in backend storage."}],"source_content_type":"text/x-rst","patch_set":17,"id":"7aa08908_931b091c","line":41,"in_reply_to":"7aa08908_13cd0031","updated":"2016-06-12 06:48:03.000000000","message":"This bp is to call os-brick/encryptors to use dm-crypt. os-brick/encrptors is copied from nova/encryptors. Currently RBD can\u0027t support dm-crypt, and there is problems for NFS encrypted volume. Retype has same restrictions as os-brick/encryptors.","commit_id":"702a105089e762f0334ea32b4d74b8aceb3036af"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"1729175e48dbfe0b305c7cc9b2e317879732dd9f","unresolved":false,"context_lines":[{"line_number":61,"context_line":"Change the existing retype API to take a new parameter called"},{"line_number":62,"context_line":"allow_encryption_changes."},{"line_number":63,"context_line":"Only when this parameter is specified as True, it allows encryption change."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* Retype volume"},{"line_number":66,"context_line":"  * /v3/{tenant_id}/volumes/{volume_id}/action"},{"line_number":67,"context_line":"  * Method: POST"}],"source_content_type":"text/x-rst","patch_set":17,"id":"7aa08908_f86133d4","line":64,"updated":"2016-06-08 15:33:33.000000000","message":"This spec doesn\u0027t explain how making this an API parameter fits the use case.\n\nIf a user wants to do this, just asking for a regular retype would provide the expected result.\n\nWhy does this need to be specified here?","commit_id":"702a105089e762f0334ea32b4d74b8aceb3036af"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"dbf97c4f3a93674feb4feb8249abd2a845e1a23f","unresolved":false,"context_lines":[{"line_number":61,"context_line":"Change the existing retype API to take a new parameter called"},{"line_number":62,"context_line":"allow_encryption_changes."},{"line_number":63,"context_line":"Only when this parameter is specified as True, it allows encryption change."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* Retype volume"},{"line_number":66,"context_line":"  * /v3/{tenant_id}/volumes/{volume_id}/action"},{"line_number":67,"context_line":"  * Method: POST"}],"source_content_type":"text/x-rst","patch_set":17,"id":"7aa08908_93e2e9ff","line":64,"in_reply_to":"7aa08908_f86133d4","updated":"2016-06-12 06:48:03.000000000","message":"Sorry, I don\u0027t understand this point. \n\nCurrently when retyping a volume to different encryptions, it fails. With this bp, I add a new parameter \u0027allow_encryption_changes\u0027 in the API. If users would like to retype a volume to different encryptions without setting this parameter as True, it fails. Or else the request succeeds.","commit_id":"702a105089e762f0334ea32b4d74b8aceb3036af"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"485abc9ad7b037da2fbbb94cdce2129367bd6dfb","unresolved":false,"context_lines":[{"line_number":104,"context_line":"Other deployer impact"},{"line_number":105,"context_line":"---------------------"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"The feature is dependent on Castellan [4]. Meanwhile, Barbican [5] is currently"},{"line_number":108,"context_line":"the only key manager backend supported by Castellan. Both the two packages"},{"line_number":109,"context_line":"are needed."},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7aa08908_a4a14896","line":107,"updated":"2016-06-08 14:57:50.000000000","message":"Why/how is this feature dependent on Castellan?","commit_id":"702a105089e762f0334ea32b4d74b8aceb3036af"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"dbf97c4f3a93674feb4feb8249abd2a845e1a23f","unresolved":false,"context_lines":[{"line_number":104,"context_line":"Other deployer impact"},{"line_number":105,"context_line":"---------------------"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"The feature is dependent on Castellan [4]. Meanwhile, Barbican [5] is currently"},{"line_number":108,"context_line":"the only key manager backend supported by Castellan. Both the two packages"},{"line_number":109,"context_line":"are needed."},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"7aa08908_93c9497c","line":107,"in_reply_to":"7aa08908_a4a14896","updated":"2016-06-12 06:48:03.000000000","message":"os-brick/encryptors use Castellan. And this bp will call the library os-brick/encryptors.","commit_id":"702a105089e762f0334ea32b4d74b8aceb3036af"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"1729175e48dbfe0b305c7cc9b2e317879732dd9f","unresolved":false,"context_lines":[{"line_number":141,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Unit tests need to be created to cover the code change that"},{"line_number":144,"context_line":"mentioned in \"Proposed change\"."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":17,"id":"7aa08908_8d438f6b","line":144,"updated":"2016-06-08 15:33:33.000000000","message":"There should be a tempest test for this as well.","commit_id":"702a105089e762f0334ea32b4d74b8aceb3036af"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"dbf97c4f3a93674feb4feb8249abd2a845e1a23f","unresolved":false,"context_lines":[{"line_number":141,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Unit tests need to be created to cover the code change that"},{"line_number":144,"context_line":"mentioned in \"Proposed change\"."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":17,"id":"7aa08908_33885522","line":144,"in_reply_to":"7aa08908_8d438f6b","updated":"2016-06-12 06:48:03.000000000","message":"I didn\u0027t add tempest here as it depends on migration tempest test. And at this moment, migration tempest test is not finished.","commit_id":"702a105089e762f0334ea32b4d74b8aceb3036af"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"2f45065fade2221a12b4eff881de89fc0f168ccb","unresolved":false,"context_lines":[{"line_number":59,"context_line":"REST API impact"},{"line_number":60,"context_line":"---------------"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Change the existing retype API to take a new parameter called"},{"line_number":63,"context_line":"allow_encryption_changes."},{"line_number":64,"context_line":"When users retype a volume to different encryptions, the request"},{"line_number":65,"context_line":"succeeds when the above parameter is set as True, or else it fails."},{"line_number":66,"context_line":"This parameter has no impact on existed retype without encryption changes."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* Retype volume"},{"line_number":69,"context_line":"  * /v3/{tenant_id}/volumes/{volume_id}/action"}],"source_content_type":"text/x-rst","patch_set":18,"id":"1aa78d24_2dec29f2","line":66,"range":{"start_line":62,"start_character":0,"end_line":66,"end_character":74},"updated":"2016-07-07 01:36:16.000000000","message":"Why not just make it work transparently? The tenant has no way of knowing the details of the the encryption in use, and between types it might mean a change from frontend to backend encryption etc, all of which the tenant can\u0027t see.","commit_id":"12b5ee9a6b9864f5f47c28508ed18f9121627791"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"204ac4cb079529bcb57e58b4413277879f7bec6d","unresolved":false,"context_lines":[{"line_number":59,"context_line":"REST API impact"},{"line_number":60,"context_line":"---------------"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Change the existing retype API to take a new parameter called"},{"line_number":63,"context_line":"allow_encryption_changes."},{"line_number":64,"context_line":"When users retype a volume to different encryptions, the request"},{"line_number":65,"context_line":"succeeds when the above parameter is set as True, or else it fails."},{"line_number":66,"context_line":"This parameter has no impact on existed retype without encryption changes."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* Retype volume"},{"line_number":69,"context_line":"  * /v3/{tenant_id}/volumes/{volume_id}/action"}],"source_content_type":"text/x-rst","patch_set":18,"id":"1aa78d24_e8a4c54b","line":66,"range":{"start_line":62,"start_character":0,"end_line":66,"end_character":74},"in_reply_to":"1aa78d24_2dec29f2","updated":"2016-07-07 08:00:09.000000000","message":"Strongly agree. You are right as non-admin users can\u0027t look into the encryptions. Meanwhile, we already have --migration-policy parameters.","commit_id":"12b5ee9a6b9864f5f47c28508ed18f9121627791"},{"author":{"_account_id":20140,"name":"Karthik Prabhu Vinod","email":"karthik.prabhu.vinod@intel.com","username":"kprabhuv"},"change_message_id":"cac5ad57bebf061702396ddf21462f4f611ba506","unresolved":false,"context_lines":[{"line_number":68,"context_line":"* Retype volume"},{"line_number":69,"context_line":"  * /v3/{tenant_id}/volumes/{volume_id}/action"},{"line_number":70,"context_line":"  * Method: POST"},{"line_number":71,"context_line":"  * JSON schema definition for V2::"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        {"},{"line_number":74,"context_line":"            \"os-retype\":"}],"source_content_type":"text/x-rst","patch_set":18,"id":"1aa78d24_d56d27cd","line":71,"range":{"start_line":71,"start_character":33,"end_line":71,"end_character":35},"updated":"2016-07-07 05:44:01.000000000","message":"V3 ?","commit_id":"12b5ee9a6b9864f5f47c28508ed18f9121627791"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"204ac4cb079529bcb57e58b4413277879f7bec6d","unresolved":false,"context_lines":[{"line_number":68,"context_line":"* Retype volume"},{"line_number":69,"context_line":"  * /v3/{tenant_id}/volumes/{volume_id}/action"},{"line_number":70,"context_line":"  * Method: POST"},{"line_number":71,"context_line":"  * JSON schema definition for V2::"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        {"},{"line_number":74,"context_line":"            \"os-retype\":"}],"source_content_type":"text/x-rst","patch_set":18,"id":"1aa78d24_e87b25bc","line":71,"range":{"start_line":71,"start_character":33,"end_line":71,"end_character":35},"in_reply_to":"1aa78d24_d56d27cd","updated":"2016-07-07 08:00:09.000000000","message":"yes, thank you for review.","commit_id":"12b5ee9a6b9864f5f47c28508ed18f9121627791"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"c03707ec67d8e3aee73fd75b3c644683f81c4e46","unresolved":false,"context_lines":[{"line_number":70,"context_line":"Notifications impact"},{"line_number":71,"context_line":"--------------------"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"None."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Other end user impact"},{"line_number":76,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":19,"id":"1aa78d24_b7e023ce","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":4},"updated":"2016-07-08 01:41:38.000000000","message":"Might be worth adding info to the existing retype notification to flag that this retype requires an encryption change - some clouds might have auditing requirements around this","commit_id":"3dd85af046df6c5f82958b1fae4009dea966132e"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"01cea985f53b58ecdd9c59d5ad3ee86ae28a4840","unresolved":false,"context_lines":[{"line_number":70,"context_line":"Notifications impact"},{"line_number":71,"context_line":"--------------------"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"None."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Other end user impact"},{"line_number":76,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":19,"id":"1aa78d24_6a3092e9","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":4},"in_reply_to":"1aa78d24_b7e023ce","updated":"2016-07-08 01:53:49.000000000","message":"Both Wanghao and you raised the issue, and I add it.","commit_id":"3dd85af046df6c5f82958b1fae4009dea966132e"}]}
