)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ac95a7f1323b0b35eba40779859d4c81be59864c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Mitsuhiro Tanino \u003cmitsuhiro.tanino@hds.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-06-03 15:19:07 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"LVM: Support a volume-gorup on shared storage"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Current LVM cinder driver only supports iSCSI topology and a guest instance"},{"line_number":10,"context_line":"on nova compute is connected to a cinder volume(logical volume) on a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1ae5cdf2_12a55a03","line":7,"updated":"2014-06-05 01:47:11.000000000","message":"s/gorup/group :)","commit_id":"2d0e263a120ec498ca2156edca8b2783a9ea7426"}],"specs/juno/lvm-driver-for-shared-storage.rst":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ac95a7f1323b0b35eba40779859d4c81be59864c","unresolved":false,"context_lines":[{"line_number":39,"context_line":"and it is difficult to manage the workloads because every user have a"},{"line_number":40,"context_line":"permission to execute storage operations via cinder."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"In order to use expensive storage more efficient, I think it is better to"},{"line_number":43,"context_line":"reduce hardware based storage workload by offloading the workload to software"},{"line_number":44,"context_line":"based volume operation on a case by case."},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_b26666b9","line":42,"updated":"2014-06-05 01:47:11.000000000","message":"s/efficient/efficiently/","commit_id":"2d0e263a120ec498ca2156edca8b2783a9ea7426"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ac95a7f1323b0b35eba40779859d4c81be59864c","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"In order to use expensive storage more efficient, I think it is better to"},{"line_number":43,"context_line":"reduce hardware based storage workload by offloading the workload to software"},{"line_number":44,"context_line":"based volume operation on a case by case."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"If we have two drivers in regards to a storage, we can provide volumes"},{"line_number":47,"context_line":"both way as the situation demands. For example,"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_5299a2c2","line":44,"updated":"2014-06-05 01:47:11.000000000","message":"s/case by case/case by case basis/","commit_id":"2d0e263a120ec498ca2156edca8b2783a9ea7426"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ac95a7f1323b0b35eba40779859d4c81be59864c","unresolved":false,"context_lines":[{"line_number":46,"context_line":"If we have two drivers in regards to a storage, we can provide volumes"},{"line_number":47,"context_line":"both way as the situation demands. For example,"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"- As for \"Standard\" type storage, use proposed software based LVM cinder driver."},{"line_number":50,"context_line":"- As for \"High performance\" type storage, use hardware based cinder driver."},{"line_number":51,"context_line":"  (Ex. Higher charge than \"Standard\" volume)"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_b25ca61a","line":49,"updated":"2014-06-05 01:47:11.000000000","message":"FYI, this line is causing a linter error, as it is more than 79 characters wide...","commit_id":"2d0e263a120ec498ca2156edca8b2783a9ea7426"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"0eb333c5cd942c93abee7da7d4426c23c1797323","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"In order to use expensive storage more efficiently, I think it is better to"},{"line_number":43,"context_line":"reduce hardware based storage workload by offloading the workload to software"},{"line_number":44,"context_line":"based volume operation on a case by basis."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"If we have two drivers in regards to a storage, we can provide volumes"},{"line_number":47,"context_line":"both way as the situation demands. For example,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_213826d2","line":44,"updated":"2014-06-05 19:46:47.000000000","message":"s/case by basis/case by case basis/ :)","commit_id":"f792cec120ce4e6ff92660d680fea3c0ebc799ad"},{"author":{"_account_id":10115,"name":"Mitsuhiro Tanino","email":"mitsuhiro.tanino@lycorp.co.jp","username":"mtanino"},"change_message_id":"054e5ee0dbc9d725f34dfc1eba969dce3ada0823","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"In order to use expensive storage more efficiently, I think it is better to"},{"line_number":43,"context_line":"reduce hardware based storage workload by offloading the workload to software"},{"line_number":44,"context_line":"based volume operation on a case by basis."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"If we have two drivers in regards to a storage, we can provide volumes"},{"line_number":47,"context_line":"both way as the situation demands. For example,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ae5cdf2_259aa414","line":44,"in_reply_to":"1ae5cdf2_213826d2","updated":"2014-06-09 14:42:38.000000000","message":"Thank you. I will fix this at next version.","commit_id":"f792cec120ce4e6ff92660d680fea3c0ebc799ad"},{"author":{"_account_id":10115,"name":"Mitsuhiro Tanino","email":"mitsuhiro.tanino@lycorp.co.jp","username":"mtanino"},"change_message_id":"3c83bc7d643414fac7a088f30ba0bd0f3dcb0a4d","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  instance."},{"line_number":71,"context_line":"  After volume creation at cinder node, only cinder node knows the volume and"},{"line_number":72,"context_line":"  other compute nodes do not know about the created volume. Therefore, volume"},{"line_number":73,"context_line":"  activation using \"lvchange -ay\" is required at a compute node."},{"line_number":74,"context_line":"  After volume activation, access device path /dev/VG1/LV1 is created at"},{"line_number":75,"context_line":"  compute node. Libvirt and qemu can handle device path and attach a volume"},{"line_number":76,"context_line":"  using this."}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_02aa2b19","line":73,"updated":"2014-06-30 19:27:56.000000000","message":"The driver needs these two steps to attach a volume to an instance.\n- Volume recognition using \"lvs\"\n- Volume activation using \"lvchange -ay\"","commit_id":"036ebc5ffaa7f4f92cc5cb2538bd6fb8d6dc1b39"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a9951b7021f63aa52c573dc8baa765abe4c844e","unresolved":false,"context_lines":[{"line_number":78,"context_line":"- disconnect_volume()"},{"line_number":79,"context_line":"  After detaching a cinder volume, the compute node does not have to access a"},{"line_number":80,"context_line":"  cinder volume. Therefore, volume deactivation using \"lvchange -an\" is"},{"line_number":81,"context_line":"  required at a compute node."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Alternatives"},{"line_number":84,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_723bb8eb","line":81,"updated":"2014-06-30 17:11:42.000000000","message":"I assume at some point, you might want to disconnect from the underlying connection to the storage backend? and at some point, you need to start up that connection. How does that all happen?","commit_id":"036ebc5ffaa7f4f92cc5cb2538bd6fb8d6dc1b39"},{"author":{"_account_id":10115,"name":"Mitsuhiro Tanino","email":"mitsuhiro.tanino@lycorp.co.jp","username":"mtanino"},"change_message_id":"3c83bc7d643414fac7a088f30ba0bd0f3dcb0a4d","unresolved":false,"context_lines":[{"line_number":78,"context_line":"- disconnect_volume()"},{"line_number":79,"context_line":"  After detaching a cinder volume, the compute node does not have to access a"},{"line_number":80,"context_line":"  cinder volume. Therefore, volume deactivation using \"lvchange -an\" is"},{"line_number":81,"context_line":"  required at a compute node."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Alternatives"},{"line_number":84,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_f56b2f83","line":81,"in_reply_to":"baada198_723bb8eb","updated":"2014-06-30 19:27:56.000000000","message":"In disconnect_volume(), the driver only deactivate the LV using \"lvchange -an\". This command remove an access device path \"/dev/VG1/LV1\" so that the compute node can not access the volume.(This keeps volume consistency.)\n\nThe underlying connection to LVM on shred storage continues to keep after disconnect_volume().(reconnection is not required)\n\nSo, when the compute node needs to attach another volume to an instance again,  connect_volume() recognize latest VG\u0026LV status using \"lvs\" and the create volume access path using \"lvchange -ay\".","commit_id":"036ebc5ffaa7f4f92cc5cb2538bd6fb8d6dc1b39"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a9951b7021f63aa52c573dc8baa765abe4c844e","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Other end user impact"},{"line_number":109,"context_line":"---------------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"None."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Performance Impact"},{"line_number":114,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_2dff2503","line":111,"updated":"2014-06-30 17:11:42.000000000","message":"It might be nice to be explicit here and say the user attaches and detaches these volumes in the same way that any user does.","commit_id":"036ebc5ffaa7f4f92cc5cb2538bd6fb8d6dc1b39"},{"author":{"_account_id":10115,"name":"Mitsuhiro Tanino","email":"mitsuhiro.tanino@lycorp.co.jp","username":"mtanino"},"change_message_id":"3c83bc7d643414fac7a088f30ba0bd0f3dcb0a4d","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Other end user impact"},{"line_number":109,"context_line":"---------------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"None."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"Performance Impact"},{"line_number":114,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_15b6e33d","line":111,"in_reply_to":"baada198_2dff2503","updated":"2014-06-30 19:27:56.000000000","message":"I will describe about it.","commit_id":"036ebc5ffaa7f4f92cc5cb2538bd6fb8d6dc1b39"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a9951b7021f63aa52c573dc8baa765abe4c844e","unresolved":false,"context_lines":[{"line_number":113,"context_line":"Performance Impact"},{"line_number":114,"context_line":"------------------"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"None."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Other deployer impact"},{"line_number":119,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_ed336df4","line":116,"updated":"2014-06-30 17:11:42.000000000","message":"Presumably there are limitations, around the amount of IOPs you get for a single underlying volume. Its more about the limits to the use cases that this approach will help you with.","commit_id":"036ebc5ffaa7f4f92cc5cb2538bd6fb8d6dc1b39"},{"author":{"_account_id":10115,"name":"Mitsuhiro Tanino","email":"mitsuhiro.tanino@lycorp.co.jp","username":"mtanino"},"change_message_id":"3c83bc7d643414fac7a088f30ba0bd0f3dcb0a4d","unresolved":false,"context_lines":[{"line_number":113,"context_line":"Performance Impact"},{"line_number":114,"context_line":"------------------"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"None."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Other deployer impact"},{"line_number":119,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_d8aca238","line":116,"in_reply_to":"baada198_ed336df4","updated":"2014-06-30 19:27:56.000000000","message":"I think there is performance impact of IOPs compared to a single underlying volume but the impact is subtle.","commit_id":"036ebc5ffaa7f4f92cc5cb2538bd6fb8d6dc1b39"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a9951b7021f63aa52c573dc8baa765abe4c844e","unresolved":false,"context_lines":[{"line_number":118,"context_line":"Other deployer impact"},{"line_number":119,"context_line":"---------------------"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"None."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Developer impact"},{"line_number":124,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_521dd472","line":121,"updated":"2014-06-30 17:11:42.000000000","message":"This spec needs to be able to generate the documentation for this feature.\n\nI don\u0027t think you have all the details covered here to make great documentation for this feature.\n\nSomething that points to the need to configure the Cinder driver might do the trick I guess\n\nAlso, I assume the new libvirt storage driver has to be listed in the appropriate configuration option. I would be good to add that detail here I think.","commit_id":"036ebc5ffaa7f4f92cc5cb2538bd6fb8d6dc1b39"},{"author":{"_account_id":10115,"name":"Mitsuhiro Tanino","email":"mitsuhiro.tanino@lycorp.co.jp","username":"mtanino"},"change_message_id":"3c83bc7d643414fac7a088f30ba0bd0f3dcb0a4d","unresolved":false,"context_lines":[{"line_number":118,"context_line":"Other deployer impact"},{"line_number":119,"context_line":"---------------------"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"None."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Developer impact"},{"line_number":124,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"baada198_9572f3e3","line":121,"in_reply_to":"baada198_521dd472","updated":"2014-06-30 19:27:56.000000000","message":"To apply this driver to OpenStack environment, admin needs to prepare volume which is shared LU between cinder node and compute nodes. Also create volume group on top of the LU.\nAnd then, admin configures cinder.conf to use sharedLVM driver and the LU as a cinder backend-storage.(These are similar step of LVMiSCSI driver or nfs driver)\n\nConfiguration of nova driver is not required in this sharedLVM driver.\n\nI will describe these details.","commit_id":"036ebc5ffaa7f4f92cc5cb2538bd6fb8d6dc1b39"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"efaa4fa23c1b4f36ace45bffe15faf888afab28b","unresolved":false,"context_lines":[{"line_number":23,"context_line":"In this feature, both cinder and nova pieces are necessary, and blueprint"},{"line_number":24,"context_line":"for cinder piece was already approved."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"https://blueprints.launchpad.net/cinder/+spec/lvm-driver-for-shared-storage"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_d767afb5","line":26,"updated":"2014-07-10 19:08:46.000000000","message":"So this cinder spec wasn\u0027t approved yet.","commit_id":"1086f2d00b92d05c92ed9e3eb5187d6c79fbdde7"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"efaa4fa23c1b4f36ace45bffe15faf888afab28b","unresolved":false,"context_lines":[{"line_number":32,"context_line":"Here is a use case for this proposal."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Conventionally, operations to an enterprise storage such as volume creation,"},{"line_number":35,"context_line":"deletion, snapshot, etc are only permitted system administrator and they"},{"line_number":36,"context_line":"handle these operations after carefully examining."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"In OpenStack cloud environment, workloads of storages have been increasing"}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_d715efe5","line":35,"updated":"2014-07-10 19:08:46.000000000","message":"\"are only permitted system administrator\"\n\nHow about something like:\n\nCommonly volume operations such as creation, deletion, snapshot etc. are restricted to system administrators because ???","commit_id":"1086f2d00b92d05c92ed9e3eb5187d6c79fbdde7"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1325ffecb55c86cf4e7ad8aeba8846a337481e71","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"To apply this feature to OpenStack environment, storage admin needs to"},{"line_number":133,"context_line":"prepare a storage volume which is shared between cinder node and compute"},{"line_number":134,"context_line":"nodes and also needs to create a volume group on top of the storage volume."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"And then, storage admin needs to configure cinder.conf to use sharedLVM"},{"line_number":137,"context_line":"driver and the created storage volume as a cinder backend-storage."}],"source_content_type":"text/x-rst","patch_set":4,"id":"baada198_0fbb0be6","line":134,"updated":"2014-07-01 16:29:11.000000000","message":"It seems a shame not to automate all of that, but I guess thats the choice you have made here.","commit_id":"1086f2d00b92d05c92ed9e3eb5187d6c79fbdde7"}]}
