)]}'
{"specs/newton/configurable-data-storage.rst":[{"author":{"_account_id":10725,"name":"Sergey Gotliv","email":"sgotliv@redhat.com","username":"sgotliv"},"change_message_id":"c142ebabf768e6b3c7522550e1fa7c303cc27c5c","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"While I specify Manila here, without loss of generality, the same can"},{"line_number":29,"context_line":"be said of, for example, better leveraging the capabilities of Cinder,"},{"line_number":30,"context_line":"Swift, or CEPH."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Launchpad Blueprint:"},{"line_number":33,"context_line":"https://blueprints.launchpad.net/trove/+spec/configurable-data-storage"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_53670125","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":15},"updated":"2016-04-10 09:48:02.000000000","message":"I believe Ceph i covered as a part of Cinder (as a block) and as part of Manila (as a filesystem). I don\u0027t think you can store you database data directly on Swift (maybe Swift on File?!)","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":14823,"name":"Pete MacKinnon","email":"pmackinn@redhat.com","username":"pmackinn"},"change_message_id":"dfcec39048ef33f7a5ff12bacc0338f1b446d9b5","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"While I specify Manila here, without loss of generality, the same can"},{"line_number":29,"context_line":"be said of, for example, better leveraging the capabilities of Cinder,"},{"line_number":30,"context_line":"Swift, or CEPH."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Launchpad Blueprint:"},{"line_number":33,"context_line":"https://blueprints.launchpad.net/trove/+spec/configurable-data-storage"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_74c88a55","line":30,"range":{"start_line":30,"start_character":10,"end_line":30,"end_character":14},"updated":"2016-04-07 17:01:05.000000000","message":"nit: \"Ceph\"","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":10725,"name":"Sergey Gotliv","email":"sgotliv@redhat.com","username":"sgotliv"},"change_message_id":"c142ebabf768e6b3c7522550e1fa7c303cc27c5c","unresolved":false,"context_lines":[{"line_number":83,"context_line":"3. The user (requestor of a database) will be able to choose a"},{"line_number":84,"context_line":"   persistent storage location, at instance creation time, from"},{"line_number":85,"context_line":"   amongst the persistent-storage-strategies permitted by the operator"},{"line_number":86,"context_line":"   for the datastore and image."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"4. All of the things that one can currently do with the existing two"},{"line_number":89,"context_line":"   options should be made possible with the new"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_d35af14f","line":86,"range":{"start_line":86,"start_character":30,"end_line":86,"end_character":31},"updated":"2016-04-10 09:48:02.000000000","message":"1. I don\u0027t think you can attach manila share to the Nova instance whilst creating that instance. which means we may need to postpone a \"prepare\" call. I see the chapter about \"prepare\" call later in this document.\n\n2. I have to check if its possible to mount manila share from outside of the instance. Do you know if its possible?","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"94da7f62f4897990c462537877899b52f29c07fb","unresolved":false,"context_lines":[{"line_number":83,"context_line":"3. The user (requestor of a database) will be able to choose a"},{"line_number":84,"context_line":"   persistent storage location, at instance creation time, from"},{"line_number":85,"context_line":"   amongst the persistent-storage-strategies permitted by the operator"},{"line_number":86,"context_line":"   for the datastore and image."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"4. All of the things that one can currently do with the existing two"},{"line_number":89,"context_line":"   options should be made possible with the new"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_1feaabac","line":86,"range":{"start_line":86,"start_character":30,"end_line":86,"end_character":31},"in_reply_to":"9a061dce_d35af14f","updated":"2016-04-10 11:13:56.000000000","message":"Astute observation. In my current prototype, here\u0027s how the code looks.\n\nTask manager creates the instance (no cinder volume) and a manila share, currently the order is instance then share and then polls for both of them to be ready and available. then it performs the attach of the manila share to the instance and once that is successful, pushes down the prepare message.\n\nWith a large manila share that takes longer to create, this may cause the prepare message to come down the wire a bit later, but that\u0027s fine.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":8932,"name":"Telles Mota Vidal Nóbrega","email":"tellesnobrega@gmail.com","username":"tellesnobrega"},"change_message_id":"0706a7eab5c4631f10d695c556b8b163031d3b4b","unresolved":false,"context_lines":[{"line_number":100,"context_line":"   backup, or generation of a base-state for replication, and so on."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"   - in situations where users have a small (relative) data set and"},{"line_number":103,"context_line":"     would like to clone the data set and quickly lanch a database"},{"line_number":104,"context_line":"     instance with that data, the ability of a storage mechanism which"},{"line_number":105,"context_line":"     can quickly clone a data set is invaluable. This is also very"},{"line_number":106,"context_line":"     important for accelerating replication (creation of a new"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_c548c2b5","line":103,"range":{"start_line":103,"start_character":50,"end_line":103,"end_character":55},"updated":"2016-04-07 19:26:05.000000000","message":"launch","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"94da7f62f4897990c462537877899b52f29c07fb","unresolved":false,"context_lines":[{"line_number":100,"context_line":"   backup, or generation of a base-state for replication, and so on."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"   - in situations where users have a small (relative) data set and"},{"line_number":103,"context_line":"     would like to clone the data set and quickly lanch a database"},{"line_number":104,"context_line":"     instance with that data, the ability of a storage mechanism which"},{"line_number":105,"context_line":"     can quickly clone a data set is invaluable. This is also very"},{"line_number":106,"context_line":"     important for accelerating replication (creation of a new"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_9fd6bbef","line":103,"range":{"start_line":103,"start_character":50,"end_line":103,"end_character":55},"in_reply_to":"9a061dce_c548c2b5","updated":"2016-04-10 11:13:56.000000000","message":"I was hungry when I typed this, I may have actually been thinking of lunch.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":9500,"name":"Matt Fischer","email":"matt@mattfischer.com","username":"mfisch"},"change_message_id":"b327654ee50f49adb4f727628aa2507134fd7835","unresolved":false,"context_lines":[{"line_number":112,"context_line":"     corrupt, or the user determines for whatever reason that the"},{"line_number":113,"context_line":"     database state should be rolled back to a previous state, it"},{"line_number":114,"context_line":"     would be invaluable to be able to leverage this capability for"},{"line_number":115,"context_line":"     disaster-recovery situations."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"7. Current limitations of Trove include the fact that only a single"},{"line_number":118,"context_line":"   persistent storage volume may be attached to an instance at a"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a122d0e_faef21ae","line":115,"updated":"2016-04-15 21:54:33.000000000","message":"This is an important use case for us.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"643937fdef32440c581714b97d71b8a4f2c493f2","unresolved":false,"context_lines":[{"line_number":114,"context_line":"     would be invaluable to be able to leverage this capability for"},{"line_number":115,"context_line":"     disaster-recovery situations."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"7. Current limitations of Trove include the fact that only a single"},{"line_number":118,"context_line":"   persistent storage volume may be attached to an instance at a"},{"line_number":119,"context_line":"   time. It would be advisable to lift this restriction for a number"},{"line_number":120,"context_line":"   of reasons. The first is that many datbases would rather have"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a18252c_d2a28ead","line":117,"updated":"2016-04-14 14:20:13.000000000","message":"Is lifting this restriction a requirement for this work? \n\nI\u0027m not opposed to it, I just want to understand a bit better what the relation between this point and the proposed changes is.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"56debdfdcf1aa7d6721d20f0f7fa41e8e9ae3da5","unresolved":false,"context_lines":[{"line_number":114,"context_line":"     would be invaluable to be able to leverage this capability for"},{"line_number":115,"context_line":"     disaster-recovery situations."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"7. Current limitations of Trove include the fact that only a single"},{"line_number":118,"context_line":"   persistent storage volume may be attached to an instance at a"},{"line_number":119,"context_line":"   time. It would be advisable to lift this restriction for a number"},{"line_number":120,"context_line":"   of reasons. The first is that many datbases would rather have"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a18252c_1c53593a","line":117,"in_reply_to":"5a18252c_d2a28ead","updated":"2016-04-15 01:43:59.000000000","message":"Yes, it is a requirement for any design. Whether we seek to implement this capability in the initial deliverable or not is a different matter. I happen to believe that we need this urgently and this has been requested multiple times, especially in the context of databases like Oracle that strongly suggest against putting data and log files on the same disk.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"f27f878a203961617f06c6fe3d46e2ed8f969955","unresolved":false,"context_lines":[{"line_number":117,"context_line":"7. Current limitations of Trove include the fact that only a single"},{"line_number":118,"context_line":"   persistent storage volume may be attached to an instance at a"},{"line_number":119,"context_line":"   time. It would be advisable to lift this restriction for a number"},{"line_number":120,"context_line":"   of reasons. The first is that many datbases would rather have"},{"line_number":121,"context_line":"   dedicated volumes (logical) for data, log, and logging. This should"},{"line_number":122,"context_line":"   also be addressed as part of the present project."},{"line_number":123,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a18252c_69ee9623","line":120,"updated":"2016-04-12 22:24:10.000000000","message":"NIT. databases*","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":9500,"name":"Matt Fischer","email":"matt@mattfischer.com","username":"mfisch"},"change_message_id":"b327654ee50f49adb4f727628aa2507134fd7835","unresolved":false,"context_lines":[{"line_number":119,"context_line":"   time. It would be advisable to lift this restriction for a number"},{"line_number":120,"context_line":"   of reasons. The first is that many datbases would rather have"},{"line_number":121,"context_line":"   dedicated volumes (logical) for data, log, and logging. This should"},{"line_number":122,"context_line":"   also be addressed as part of the present project."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"   In cases where the underlying storage supports a capability (such"},{"line_number":125,"context_line":"   as volume groups) where multiple volumes are attached to a single"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a122d0e_ba3c8930","line":122,"updated":"2016-04-15 21:54:33.000000000","message":"This is also a use case that our users need and have asked us for.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":8932,"name":"Telles Mota Vidal Nóbrega","email":"tellesnobrega@gmail.com","username":"tellesnobrega"},"change_message_id":"0706a7eab5c4631f10d695c556b8b163031d3b4b","unresolved":false,"context_lines":[{"line_number":130,"context_line":"   the underlying storage supports a capability (such as volume"},{"line_number":131,"context_line":"   groups) where the volumes are attached to multiple instances, the"},{"line_number":132,"context_line":"   ability to take a snapshot of the consistency group could be used"},{"line_number":133,"context_line":"   to produce a backup of a cluster."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"One thing that makes the proposed strategy complex is that it"},{"line_number":136,"context_line":"straddles the controller and the guest. While the controller will"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_370baf7e","line":133,"updated":"2016-04-07 19:26:05.000000000","message":"+1","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":8932,"name":"Telles Mota Vidal Nóbrega","email":"tellesnobrega@gmail.com","username":"tellesnobrega"},"change_message_id":"0706a7eab5c4631f10d695c556b8b163031d3b4b","unresolved":false,"context_lines":[{"line_number":139,"context_line":"storage occurs on the guest. This is unlike other strategies that we"},{"line_number":140,"context_line":"have today. This means that there will be code in the strategy that"},{"line_number":141,"context_line":"can execute on one locus but not the other, and this will be"},{"line_number":142,"context_line":"confusing, at best."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"The change will introduce the following files and directories. All of"},{"line_number":145,"context_line":"the objects being created will be in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_ca68caf7","line":142,"updated":"2016-04-07 19:26:05.000000000","message":"In the case of Ceph, we found that this was not only confusing but a security breach since we would need to give the guest instance the credentials to access Ceph. This may be something really important to dig deep.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"56debdfdcf1aa7d6721d20f0f7fa41e8e9ae3da5","unresolved":false,"context_lines":[{"line_number":139,"context_line":"storage occurs on the guest. This is unlike other strategies that we"},{"line_number":140,"context_line":"have today. This means that there will be code in the strategy that"},{"line_number":141,"context_line":"can execute on one locus but not the other, and this will be"},{"line_number":142,"context_line":"confusing, at best."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"The change will introduce the following files and directories. All of"},{"line_number":145,"context_line":"the objects being created will be in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a18252c_87027208","line":142,"in_reply_to":"5a18252c_52fafe75","updated":"2016-04-15 01:43:59.000000000","message":"Of course, CEPH and a number of others.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"643937fdef32440c581714b97d71b8a4f2c493f2","unresolved":false,"context_lines":[{"line_number":139,"context_line":"storage occurs on the guest. This is unlike other strategies that we"},{"line_number":140,"context_line":"have today. This means that there will be code in the strategy that"},{"line_number":141,"context_line":"can execute on one locus but not the other, and this will be"},{"line_number":142,"context_line":"confusing, at best."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"The change will introduce the following files and directories. All of"},{"line_number":145,"context_line":"the objects being created will be in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a18252c_52fafe75","line":142,"in_reply_to":"9a061dce_1d8165fb","updated":"2016-04-14 14:20:13.000000000","message":"FWIW, I believe Telles\u0027 comment is relevant and it should be kept in mind during the discussion of this spec.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":8932,"name":"Telles Mota Vidal Nóbrega","email":"tellesnobrega@gmail.com","username":"tellesnobrega"},"change_message_id":"d8bab21d10138bfa8f1da4a4d9f8dc6df7eed9dd","unresolved":false,"context_lines":[{"line_number":139,"context_line":"storage occurs on the guest. This is unlike other strategies that we"},{"line_number":140,"context_line":"have today. This means that there will be code in the strategy that"},{"line_number":141,"context_line":"can execute on one locus but not the other, and this will be"},{"line_number":142,"context_line":"confusing, at best."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"The change will introduce the following files and directories. All of"},{"line_number":145,"context_line":"the objects being created will be in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_1d8165fb","line":142,"in_reply_to":"9a061dce_c3e435ad","updated":"2016-04-07 21:30:06.000000000","message":"Yes, of course, the intent of the comment was just to bring a light that this might be an issue for some other storage as well. I completely agree with what you said, just putting a reminder.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"95f9ae896efef62fbbf250d876c301f05f810663","unresolved":false,"context_lines":[{"line_number":139,"context_line":"storage occurs on the guest. This is unlike other strategies that we"},{"line_number":140,"context_line":"have today. This means that there will be code in the strategy that"},{"line_number":141,"context_line":"can execute on one locus but not the other, and this will be"},{"line_number":142,"context_line":"confusing, at best."},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"The change will introduce the following files and directories. All of"},{"line_number":145,"context_line":"the objects being created will be in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_c3e435ad","line":142,"in_reply_to":"9a061dce_ca68caf7","updated":"2016-04-07 20:28:15.000000000","message":"I suggest that we keep Ceph specific things to the spec you were working on (relative to Ceph) and use the time we have set aside for that discussion at summit.\n\nThis is a more generic proposal dealing with storage in general.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"f27f878a203961617f06c6fe3d46e2ed8f969955","unresolved":false,"context_lines":[{"line_number":214,"context_line":"prepares the mounted persistent storage before migrating the data"},{"line_number":215,"context_line":"directory to the new location and finally mounting the storage. All of"},{"line_number":216,"context_line":"these operations will be required for some of the implementations of"},{"line_number":217,"context_line":"the persistent storage strategey and common abstractions will be"},{"line_number":218,"context_line":"provided to facilitate common code in do_prepare()."},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"Another kind of operation that is currently performed is to get file"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a18252c_c45871fd","line":217,"updated":"2016-04-12 22:24:10.000000000","message":"NIT. strategy*","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"643937fdef32440c581714b97d71b8a4f2c493f2","unresolved":false,"context_lines":[{"line_number":243,"context_line":"This change will impact controller side configurations. The operator"},{"line_number":244,"context_line":"will be allowed to specify all the supported persistent storage"},{"line_number":245,"context_line":"strategies that will be allowed to be used on the OpenStack"},{"line_number":246,"context_line":"deployment."},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"More details must be added here, and this specification is evolving."},{"line_number":249,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a18252c_a3b7c238","line":246,"updated":"2016-04-14 14:20:13.000000000","message":"Should we allow for a default strategy to be specified? \n\nI think it\u0027d be even more valuable to have a default persistent store per datastore. This way, users can let Trove pick the best strategy for them when they don\u0027t really care.\n\nTo be honest, I\u0027m a bit skeptical about the proposed point #3. Most cases users don\u0027t know (or care about) what the best persistence strategy for their database is and they\u0027d like Trove to do that work for them.\n\nI think we could leave #3 out of this spec and start with letting operators tight a datastore to a persistence strategy since operators know which strategies are available and likely know best about what strategy should be used with each database.\n\nThis assumes that whenever cinder and manila are both available, the user will have access to either, which is probably something we shouldn\u0027t assume. On the other hand, it would remove the required changes on the API for newton and let us improve this later on if needed.\n\nJust a thought.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":6159,"name":"Flavio Percoco Premoli","display_name":"flaper87","email":"flavio.percoco@flyrlabs.com","username":"flaper87"},"change_message_id":"03a2b5e30f2cfac207fae5abb93e25af18728694","unresolved":false,"context_lines":[{"line_number":243,"context_line":"This change will impact controller side configurations. The operator"},{"line_number":244,"context_line":"will be allowed to specify all the supported persistent storage"},{"line_number":245,"context_line":"strategies that will be allowed to be used on the OpenStack"},{"line_number":246,"context_line":"deployment."},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"More details must be added here, and this specification is evolving."},{"line_number":249,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a122d0e_cf953c41","line":246,"updated":"2016-04-16 21:06:22.000000000","message":"Thanks for the detailed comment, Amrith.\n\nSince this is an important point for Trove users, I agree that having it as part of the frst implementation makes sense as it\u0027ll give us more time in the next release to stabilize and fix bugs where needed.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":9500,"name":"Matt Fischer","email":"matt@mattfischer.com","username":"mfisch"},"change_message_id":"b327654ee50f49adb4f727628aa2507134fd7835","unresolved":false,"context_lines":[{"line_number":243,"context_line":"This change will impact controller side configurations. The operator"},{"line_number":244,"context_line":"will be allowed to specify all the supported persistent storage"},{"line_number":245,"context_line":"strategies that will be allowed to be used on the OpenStack"},{"line_number":246,"context_line":"deployment."},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"More details must be added here, and this specification is evolving."},{"line_number":249,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a122d0e_da02253e","line":246,"in_reply_to":"5a18252c_4734dadc","updated":"2016-04-15 21:54:33.000000000","message":"+1 for users picking different volume types with different costs, our users do this.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"12c7f62df5732fb2b844c45f0da1331baae49ac7","unresolved":false,"context_lines":[{"line_number":243,"context_line":"This change will impact controller side configurations. The operator"},{"line_number":244,"context_line":"will be allowed to specify all the supported persistent storage"},{"line_number":245,"context_line":"strategies that will be allowed to be used on the OpenStack"},{"line_number":246,"context_line":"deployment."},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"More details must be added here, and this specification is evolving."},{"line_number":249,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a122d0e_1951420f","line":246,"in_reply_to":"5a18252c_4734dadc","updated":"2016-04-22 08:12:15.000000000","message":"I concur that allowing operators to choose the strategy is important if not required, but will it be a default one anyway? This is important in the light of API compatibility, see below","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"56debdfdcf1aa7d6721d20f0f7fa41e8e9ae3da5","unresolved":false,"context_lines":[{"line_number":243,"context_line":"This change will impact controller side configurations. The operator"},{"line_number":244,"context_line":"will be allowed to specify all the supported persistent storage"},{"line_number":245,"context_line":"strategies that will be allowed to be used on the OpenStack"},{"line_number":246,"context_line":"deployment."},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"More details must be added here, and this specification is evolving."},{"line_number":249,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a18252c_4734dadc","line":246,"in_reply_to":"5a18252c_a3b7c238","updated":"2016-04-15 01:43:59.000000000","message":"A common request today is to allow users to choose the kind of storage on which their database will store data; this specific request relates to support for Cinder volume-types.\n\nThe specific reason why #3 is, I believe, an important part of this spec is that it is an extension of the same capability. Service providers offer a number of different kinds of storage and offer them at different SLA\u0027s and costs to the end user. And they would like the ability to place restrictions and allow the users to choose from within those restricted set of choices.\n\nHaving this ability is an important part of this overall model as it goes to the abstractions that must be planned for. Again, whether these are done in the first implementation or not is a different matter.\n\nYou should also consider attending a presentation about this topic that I\u0027ll be doing at summit along with Red Hat and Netapp where we\u0027ll be talking about these capabilities in detail.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"f27f878a203961617f06c6fe3d46e2ed8f969955","unresolved":false,"context_lines":[{"line_number":258,"context_line":"Public API"},{"line_number":259,"context_line":"----------"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"The create API call will include a persistent storage strategy"},{"line_number":262,"context_line":"option. This will validated against the list of allowed persistent"},{"line_number":263,"context_line":"storage strategies on the deployment and on the datastore."},{"line_number":264,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a18252c_24d96522","line":261,"updated":"2016-04-12 22:24:10.000000000","message":"NIT. create/update\n\nWould it make sense to define ephemeral as the default value?","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"12c7f62df5732fb2b844c45f0da1331baae49ac7","unresolved":false,"context_lines":[{"line_number":259,"context_line":"----------"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"The create API call will include a persistent storage strategy"},{"line_number":262,"context_line":"option. This will validated against the list of allowed persistent"},{"line_number":263,"context_line":"storage strategies on the deployment and on the datastore."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"More details must be added here, and this specification is evolving"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a122d0e_b65dbd4a","line":262,"updated":"2016-04-22 08:12:15.000000000","message":"This is connected to the question about the default strategy. Would the parameter allow a default value? If not, an (old) client could stop working and that could be considered an API break (it\u0027s still API v1.0).","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":8932,"name":"Telles Mota Vidal Nóbrega","email":"tellesnobrega@gmail.com","username":"tellesnobrega"},"change_message_id":"0706a7eab5c4631f10d695c556b8b163031d3b4b","unresolved":false,"context_lines":[{"line_number":263,"context_line":"storage strategies on the deployment and on the datastore."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"More details must be added here, and this specification is evolving"},{"line_number":266,"context_line":"and will be updated with more details."},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"Public API Security"},{"line_number":269,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_0d001c65","line":266,"updated":"2016-04-07 19:26:05.000000000","message":"Considering cinder snapshots as part of this spec you will also need to change to receive a volume_id. This will be used in order to start the instance using a volume previously created instead of creating a new one.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"95f9ae896efef62fbbf250d876c301f05f810663","unresolved":false,"context_lines":[{"line_number":263,"context_line":"storage strategies on the deployment and on the datastore."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"More details must be added here, and this specification is evolving"},{"line_number":266,"context_line":"and will be updated with more details."},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"Public API Security"},{"line_number":269,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_a37b01bd","line":266,"in_reply_to":"9a061dce_0d001c65","updated":"2016-04-07 20:28:15.000000000","message":"that\u0027s not something which I\u0027m considering here. I would explicitly leave cinder volumes created by a user out of the scope of DBaaS. Where would you draw the line then? A nova instance already in use by a user?","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"ded49b77dfe9f52635dccb43df0981ebb482f159","unresolved":false,"context_lines":[{"line_number":263,"context_line":"storage strategies on the deployment and on the datastore."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"More details must be added here, and this specification is evolving"},{"line_number":266,"context_line":"and will be updated with more details."},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"Public API Security"},{"line_number":269,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_b28d0033","line":266,"in_reply_to":"9a061dce_7dd501e3","updated":"2016-04-08 00:58:18.000000000","message":"Well, the idea is that you\u0027d have the backup id. And the backup id will lead you to the id of the snapshot. I strongly believe that the user should NEVER see the snapshot id.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":8932,"name":"Telles Mota Vidal Nóbrega","email":"tellesnobrega@gmail.com","username":"tellesnobrega"},"change_message_id":"39f39fa07b08a569086c6bdbea424a3a323aea05","unresolved":false,"context_lines":[{"line_number":263,"context_line":"storage strategies on the deployment and on the datastore."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"More details must be added here, and this specification is evolving"},{"line_number":266,"context_line":"and will be updated with more details."},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"Public API Security"},{"line_number":269,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_bc84b25d","line":266,"in_reply_to":"9a061dce_894d32c6","updated":"2016-04-08 02:31:44.000000000","message":"I have some follow up questions on this. We can take it up on irc. Thanks","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":8932,"name":"Telles Mota Vidal Nóbrega","email":"tellesnobrega@gmail.com","username":"tellesnobrega"},"change_message_id":"d8bab21d10138bfa8f1da4a4d9f8dc6df7eed9dd","unresolved":false,"context_lines":[{"line_number":263,"context_line":"storage strategies on the deployment and on the datastore."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"More details must be added here, and this specification is evolving"},{"line_number":266,"context_line":"and will be updated with more details."},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"Public API Security"},{"line_number":269,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_7dd501e3","line":266,"in_reply_to":"9a061dce_a37b01bd","updated":"2016-04-07 21:30:06.000000000","message":"That is not what I meant. If you consider cinder snapshots created via trove, by that I mean, a user goes in trove and asks for a backup using cinder snapshot capabilities. How are you planning to restore an instance with that snapshot? We need the id of that.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":8932,"name":"Telles Mota Vidal Nóbrega","email":"tellesnobrega@gmail.com","username":"tellesnobrega"},"change_message_id":"f782dd488fc04b3d06a0d2c5c2c78852363c904c","unresolved":false,"context_lines":[{"line_number":263,"context_line":"storage strategies on the deployment and on the datastore."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"More details must be added here, and this specification is evolving"},{"line_number":266,"context_line":"and will be updated with more details."},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"Public API Security"},{"line_number":269,"context_line":"-------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a061dce_894d32c6","line":266,"in_reply_to":"9a061dce_b28d0033","updated":"2016-04-08 02:19:34.000000000","message":"That makes sense to me.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"},{"author":{"_account_id":9500,"name":"Matt Fischer","email":"matt@mattfischer.com","username":"mfisch"},"change_message_id":"b327654ee50f49adb4f727628aa2507134fd7835","unresolved":false,"context_lines":[{"line_number":308,"context_line":"flexible and pluggable arrived at an implementation that looked like a"},{"line_number":309,"context_line":"strategy. Therefore, I think implementing this as a strategy makes the"},{"line_number":310,"context_line":"most sense."},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"Several alternatives were considered with respect to the layout of the"},{"line_number":313,"context_line":"persistent storage strategy. The key contenders were to make it like"},{"line_number":314,"context_line":"clustering (with a guestagent.py and a taskmanager.py) and like the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a122d0e_ba8649b7","line":311,"updated":"2016-04-15 21:54:33.000000000","message":"Even if Manila is the only alternative to cinder for now it makes sense to make it pluggable.","commit_id":"f3195824ee2e6c3562322b99f388eda0951d66a4"}]}
