)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"652d3dfbae1811a37abd5de89b83a68001e6889f","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The first pass at setting up config entries for"},{"line_number":10,"context_line":"replication targets was a hacky custom string parser"},{"line_number":11,"context_line":"with it\u0027s own unique syntax."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"A better option is to use oslo.cfg\u0027s MultiOpt in conjunction"},{"line_number":14,"context_line":"with Dict types so we can eliminate quite a bit of custom"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a2fa921_e4c31f89","line":11,"updated":"2015-10-12 21:48:04.000000000","message":"s/it\u0027s/its","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"5dcac0652de6192dc984e46242a2fed63674828c","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The first pass at setting up config entries for"},{"line_number":10,"context_line":"replication targets was a hacky custom string parser"},{"line_number":11,"context_line":"with it\u0027s own unique syntax."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"A better option is to use oslo.cfg\u0027s MultiOpt in conjunction"},{"line_number":14,"context_line":"with Dict types so we can eliminate quite a bit of custom"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a2fa921_0b92e657","line":11,"in_reply_to":"7a2fa921_e4c31f89","updated":"2015-10-12 23:25:27.000000000","message":"Done","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"}],"cinder/volume/driver.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"9db4e03718dc60b42c278db4d1cb6ef5561be6b9","unresolved":false,"context_lines":[{"line_number":227,"context_line":"    cfg.MultiOpt(\u0027replication_device\u0027,"},{"line_number":228,"context_line":"                 item_type\u003dtypes.Dict(),"},{"line_number":229,"context_line":"                 default\u003dNone,"},{"line_number":230,"context_line":"                 help\u003d\"Muti opt of dictionaries to represent a replication \""},{"line_number":231,"context_line":"                      \"target device.  This option may be specified multiple \""},{"line_number":232,"context_line":"                      \"times in a single config section to specify multiple \""},{"line_number":233,"context_line":"                      \"replication target devices.  Each entry takes the \""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a2fa921_a311d653","line":230,"updated":"2015-10-10 00:48:43.000000000","message":"/Muti/Multi/","commit_id":"af5cb8c19b954c9142823ecd9c95badb75fca413"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"040736f35d3d4712cc3433548e4fc2d542558e20","unresolved":false,"context_lines":[{"line_number":227,"context_line":"    cfg.MultiOpt(\u0027replication_device\u0027,"},{"line_number":228,"context_line":"                 item_type\u003dtypes.Dict(),"},{"line_number":229,"context_line":"                 default\u003dNone,"},{"line_number":230,"context_line":"                 help\u003d\"Muti opt of dictionaries to represent a replication \""},{"line_number":231,"context_line":"                      \"target device.  This option may be specified multiple \""},{"line_number":232,"context_line":"                      \"times in a single config section to specify multiple \""},{"line_number":233,"context_line":"                      \"replication target devices.  Each entry takes the \""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a2fa921_8375ba64","line":230,"in_reply_to":"7a2fa921_a311d653","updated":"2015-10-10 01:04:46.000000000","message":"Done","commit_id":"af5cb8c19b954c9142823ecd9c95badb75fca413"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"652d3dfbae1811a37abd5de89b83a68001e6889f","unresolved":false,"context_lines":[{"line_number":225,"context_line":"                      \"target device.  This option may be specified multiple \""},{"line_number":226,"context_line":"                      \"times in a single config section to specify multiple \""},{"line_number":227,"context_line":"                      \"replication target devices.  Each entry takes the \""},{"line_number":228,"context_line":"                      \"standard dict config form: replication_device \u003d \""},{"line_number":229,"context_line":"                      \"device_target_id:\u003crequired\u003e,backend_name:\u003crequired\u003e,\""},{"line_number":230,"context_line":"                      \"key1:value1,key2:value2...\"),"},{"line_number":231,"context_line":"    cfg.BoolOpt(\u0027image_upload_use_cinder_backend\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a2fa921_5762c717","line":228,"updated":"2015-10-12 21:48:04.000000000","message":"Should probably update backend_name with \"managed_backend_name\" like we have it in the docs","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"5dcac0652de6192dc984e46242a2fed63674828c","unresolved":false,"context_lines":[{"line_number":225,"context_line":"                      \"target device.  This option may be specified multiple \""},{"line_number":226,"context_line":"                      \"times in a single config section to specify multiple \""},{"line_number":227,"context_line":"                      \"replication target devices.  Each entry takes the \""},{"line_number":228,"context_line":"                      \"standard dict config form: replication_device \u003d \""},{"line_number":229,"context_line":"                      \"device_target_id:\u003crequired\u003e,backend_name:\u003crequired\u003e,\""},{"line_number":230,"context_line":"                      \"key1:value1,key2:value2...\"),"},{"line_number":231,"context_line":"    cfg.BoolOpt(\u0027image_upload_use_cinder_backend\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a2fa921_6b735ab5","line":228,"in_reply_to":"7a2fa921_5762c717","updated":"2015-10-12 23:25:27.000000000","message":"Done","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"c9d79ed71211d79aaa23fcd7a90d196623f3d5a7","unresolved":false,"context_lines":[{"line_number":226,"context_line":"                      \"times in a single config section to specify multiple \""},{"line_number":227,"context_line":"                      \"replication target devices.  Each entry takes the \""},{"line_number":228,"context_line":"                      \"standard dict config form: replication_device \u003d \""},{"line_number":229,"context_line":"                      \"device_target_id:\u003crequired\u003e,\""},{"line_number":230,"context_line":"                      \"managed_backend_name:\u003chost@backend_name\u003e,\""},{"line_number":231,"context_line":"                      \"key1:value1,key2:value2...\"),"},{"line_number":232,"context_line":"    cfg.BoolOpt(\u0027image_upload_use_cinder_backend\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a2ca52d_d734ae4b","line":229,"updated":"2015-10-13 15:26:33.000000000","message":"Does this also need to be updated to:\n\"managed_backend_name:\u003chost\u003e@\u003cdriver-section-name\u003e\"?","commit_id":"5ee2efe2234f2150bf92fc424dcfcb70ea563445"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"9199ee9fa145e5c707a9afce2711d8ce3fc8c2de","unresolved":false,"context_lines":[{"line_number":226,"context_line":"                      \"times in a single config section to specify multiple \""},{"line_number":227,"context_line":"                      \"replication target devices.  Each entry takes the \""},{"line_number":228,"context_line":"                      \"standard dict config form: replication_device \u003d \""},{"line_number":229,"context_line":"                      \"device_target_id:\u003crequired\u003e,\""},{"line_number":230,"context_line":"                      \"managed_backend_name:\u003chost@backend_name\u003e,\""},{"line_number":231,"context_line":"                      \"key1:value1,key2:value2...\"),"},{"line_number":232,"context_line":"    cfg.BoolOpt(\u0027image_upload_use_cinder_backend\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a2ca52d_7637c5b0","line":229,"in_reply_to":"5a2ca52d_d734ae4b","updated":"2015-10-14 02:30:03.000000000","message":"+1","commit_id":"5ee2efe2234f2150bf92fc424dcfcb70ea563445"}],"doc/source/devref/replication.rst":[{"author":{"_account_id":5997,"name":"Walt","display_name":"Hemna","email":"waboring@hemna.com","username":"walter-boring","status":"SAP"},"change_message_id":"57a4937b66b228dc7d7a2f9febe8bb3775fd9601","unresolved":false,"context_lines":[{"line_number":84,"context_line":"to instruct the primary driver how to communicate with the"},{"line_number":85,"context_line":"secondary."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Also, takek care that your driver knows how to parse out the"},{"line_number":88,"context_line":"host correctly, although the secondary backend may be managed"},{"line_number":89,"context_line":"it may not be on the same host, it may have a pool specification"},{"line_number":90,"context_line":"etc.  In the example above we can assume the same host, in other"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7a2fa921_99ae7f80","line":87,"updated":"2015-10-11 18:24:19.000000000","message":"s/takek/take","commit_id":"41dbaa4e4eca43f643a4e9309ef91e8db3d7f9cb"},{"author":{"_account_id":16917,"name":"Alex O\u0027Rourke","email":"alex.orourke@hpe.com","username":"aorourke"},"change_message_id":"cb4fd5c9aae4af0b82c19086d9fa40cfe347195a","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    replication_device \u003d backend_name:biz,unique_key:val...."},{"line_number":69,"context_line":"    replication_device \u003d backend_name:baz,unique_key:val...."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"This will result in self.configuration.get(\u0027replication_device)"},{"line_number":72,"context_line":"returning a list of properly formed python dictionaries that can"},{"line_number":73,"context_line":"be easily consumed::"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a2fa921_843359f6","line":71,"updated":"2015-10-12 15:26:34.000000000","message":"self.configuration.get(\u0027replication_device\u0027) \n(missing a \u0027 )","commit_id":"3c564889927a95cda751a926cc3ae8f8402635fe"},{"author":{"_account_id":16917,"name":"Alex O\u0027Rourke","email":"alex.orourke@hpe.com","username":"aorourke"},"change_message_id":"cb4fd5c9aae4af0b82c19086d9fa40cfe347195a","unresolved":false,"context_lines":[{"line_number":84,"context_line":"to instruct the primary driver how to communicate with the"},{"line_number":85,"context_line":"secondary."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Also, takek care that your driver knows how to parse out the"},{"line_number":88,"context_line":"host correctly, although the secondary backend may be managed"},{"line_number":89,"context_line":"it may not be on the same host, it may have a pool specification"},{"line_number":90,"context_line":"etc.  In the example above we can assume the same host, in other"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a2fa921_64515d0e","line":87,"updated":"2015-10-12 15:26:34.000000000","message":"takek -\u003e take","commit_id":"3c564889927a95cda751a926cc3ae8f8402635fe"},{"author":{"_account_id":16917,"name":"Alex O\u0027Rourke","email":"alex.orourke@hpe.com","username":"aorourke"},"change_message_id":"cb4fd5c9aae4af0b82c19086d9fa40cfe347195a","unresolved":false,"context_lines":[{"line_number":101,"context_line":"Unmanaged targets should use the same format, the only difference"},{"line_number":102,"context_line":"being the managed flag being set to False."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"NOTE:  `volume_backend_name` should be considered a standard/required"},{"line_number":105,"context_line":"key.  In the case of managed backends to provide the needed management"},{"line_number":106,"context_line":"info, and for unmanaged as a common mechanism for vendors to get an"},{"line_number":107,"context_line":"identifier that they may need internally."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a2fa921_84b8392c","line":104,"updated":"2015-10-12 15:26:34.000000000","message":"Question here, with another recent patch you standardized on remote_device_id as a unique identifier to pass into replication_failover. Is there still a need for remote_device_id, or should this be used as the identifier instead?","commit_id":"3c564889927a95cda751a926cc3ae8f8402635fe"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"652d3dfbae1811a37abd5de89b83a68001e6889f","unresolved":false,"context_lines":[{"line_number":16,"context_line":"--------------------"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The cinder.conf file is used to specify replication target"},{"line_number":19,"context_line":"devices for a specific driver.  Replication targets are"},{"line_number":20,"context_line":"can be specified as external (unmanaged) or internally"},{"line_number":21,"context_line":"Cinder managed backend devices."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_e4947f45","line":19,"updated":"2015-10-12 21:48:04.000000000","message":"s/targets are/ targets","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"5dcac0652de6192dc984e46242a2fed63674828c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"--------------------"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The cinder.conf file is used to specify replication target"},{"line_number":19,"context_line":"devices for a specific driver.  Replication targets are"},{"line_number":20,"context_line":"can be specified as external (unmanaged) or internally"},{"line_number":21,"context_line":"Cinder managed backend devices."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_ab6172d5","line":19,"in_reply_to":"7a2fa921_e4947f45","updated":"2015-10-12 23:25:27.000000000","message":"Done","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":16917,"name":"Alex O\u0027Rourke","email":"alex.orourke@hpe.com","username":"aorourke"},"change_message_id":"4203c9fe1b3f302c14d03162764a925c7236fb0f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"* managed_backend_name:\u003ccinder-backend-host-entry\u003e,\""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"An example config enty for a managed replication device"},{"line_number":39,"context_line":"would look like this::"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    ....."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_90edc527","line":38,"updated":"2015-10-12 22:54:12.000000000","message":"s/enty/entry","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"5dcac0652de6192dc984e46242a2fed63674828c","unresolved":false,"context_lines":[{"line_number":35,"context_line":"* managed_backend_name:\u003ccinder-backend-host-entry\u003e,\""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"An example config enty for a managed replication device"},{"line_number":39,"context_line":"would look like this::"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    ....."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_2ba48206","line":38,"in_reply_to":"7a2fa921_90edc527","updated":"2015-10-12 23:25:27.000000000","message":"Done","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":16917,"name":"Alex O\u0027Rourke","email":"alex.orourke@hpe.com","username":"aorourke"},"change_message_id":"4203c9fe1b3f302c14d03162764a925c7236fb0f","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    volume_backend_name\u003dfoo"},{"line_number":49,"context_line":"    replication_device \u003d device_target_id:vendor-id-info,managed_backend_name:biz,unique_key:val...."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"The use of multiopt will result in self.configuration.get(\u0027replication_device)"},{"line_number":52,"context_line":"returning a list of properly formed python dictionaries that can"},{"line_number":53,"context_line":"be easily consumed::"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_70b909ec","line":51,"updated":"2015-10-12 22:54:12.000000000","message":"self.configuration.get(\u0027replication_device\u0027), missing the trailing \u0027","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"5dcac0652de6192dc984e46242a2fed63674828c","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    volume_backend_name\u003dfoo"},{"line_number":49,"context_line":"    replication_device \u003d device_target_id:vendor-id-info,managed_backend_name:biz,unique_key:val...."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"The use of multiopt will result in self.configuration.get(\u0027replication_device)"},{"line_number":52,"context_line":"returning a list of properly formed python dictionaries that can"},{"line_number":53,"context_line":"be easily consumed::"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_8b86f663","line":51,"in_reply_to":"7a2fa921_70b909ec","updated":"2015-10-12 23:25:27.000000000","message":"Done","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":16917,"name":"Alex O\u0027Rourke","email":"alex.orourke@hpe.com","username":"aorourke"},"change_message_id":"4203c9fe1b3f302c14d03162764a925c7236fb0f","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    replication_device \u003d device_target_id:vendor-id-info,managed_backend_name:biz,unique_key:val...."},{"line_number":74,"context_line":"    replication_device \u003d device_target_id:vendor-id-info,managed_backend_name:baz,unique_key:val...."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"In this example the result is self.configuration.get(\u0027replication_device)"},{"line_number":77,"context_line":"returning a list of properly formed python dictionaries::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    [{device_target_id: blahblah, managed_backend_name: biz, unique_key: val1}]"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_70a029a6","line":76,"updated":"2015-10-12 22:54:12.000000000","message":"same, missing the trailing \u0027","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"5dcac0652de6192dc984e46242a2fed63674828c","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    replication_device \u003d device_target_id:vendor-id-info,managed_backend_name:biz,unique_key:val...."},{"line_number":74,"context_line":"    replication_device \u003d device_target_id:vendor-id-info,managed_backend_name:baz,unique_key:val...."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"In this example the result is self.configuration.get(\u0027replication_device)"},{"line_number":77,"context_line":"returning a list of properly formed python dictionaries::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    [{device_target_id: blahblah, managed_backend_name: biz, unique_key: val1}]"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_ebcd2a87","line":76,"in_reply_to":"7a2fa921_70a029a6","updated":"2015-10-12 23:25:27.000000000","message":"Done","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"652d3dfbae1811a37abd5de89b83a68001e6889f","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"In this example the result is self.configuration.get(\u0027replication_device)"},{"line_number":77,"context_line":"returning a list of properly formed python dictionaries::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    [{device_target_id: blahblah, managed_backend_name: biz, unique_key: val1}]"},{"line_number":80,"context_line":"     {device_target_id: moreblah, managed_backend_name: baz, unique_key: val1}]"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_64c62f18","line":78,"updated":"2015-10-12 21:48:04.000000000","message":"This should just be one list right (think there\u0027s just a trailing \"]\" instead of \",\" on 79?","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"5dcac0652de6192dc984e46242a2fed63674828c","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"In this example the result is self.configuration.get(\u0027replication_device)"},{"line_number":77,"context_line":"returning a list of properly formed python dictionaries::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    [{device_target_id: blahblah, managed_backend_name: biz, unique_key: val1}]"},{"line_number":80,"context_line":"     {device_target_id: moreblah, managed_backend_name: baz, unique_key: val1}]"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_0bcbc673","line":78,"in_reply_to":"7a2fa921_64c62f18","updated":"2015-10-12 23:25:27.000000000","message":"Done","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":16917,"name":"Alex O\u0027Rourke","email":"alex.orourke@hpe.com","username":"aorourke"},"change_message_id":"4203c9fe1b3f302c14d03162764a925c7236fb0f","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    [driver-foo]"},{"line_number":95,"context_line":"    volume_driver\u003dxxxx"},{"line_number":96,"context_line":"    volume_backend_name\u003dfoo"},{"line_number":97,"context_line":"    replication_device \u003d device_target_id:vendor-id-info,managed_backend_name:None,unique_key:val...."},{"line_number":98,"context_line":"    replication_device \u003d device_target_id:vendor-id-info,managed_backend_name:None,unique_key:val...."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"In this example the result is self.configuration.get(\u0027replication_device) with the list::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_305711cc","line":97,"updated":"2015-10-12 22:54:12.000000000","message":"We will explicitly list managed_backend_name:None if we are unmanaged? What if we just don\u0027t include managed_backend_name if it is not managed?","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"5dcac0652de6192dc984e46242a2fed63674828c","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    [driver-foo]"},{"line_number":95,"context_line":"    volume_driver\u003dxxxx"},{"line_number":96,"context_line":"    volume_backend_name\u003dfoo"},{"line_number":97,"context_line":"    replication_device \u003d device_target_id:vendor-id-info,managed_backend_name:None,unique_key:val...."},{"line_number":98,"context_line":"    replication_device \u003d device_target_id:vendor-id-info,managed_backend_name:None,unique_key:val...."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"In this example the result is self.configuration.get(\u0027replication_device) with the list::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_8ba596b6","line":97,"in_reply_to":"7a2fa921_305711cc","updated":"2015-10-12 23:25:27.000000000","message":"sure, I\u0027m fine with that","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":16917,"name":"Alex O\u0027Rourke","email":"alex.orourke@hpe.com","username":"aorourke"},"change_message_id":"4203c9fe1b3f302c14d03162764a925c7236fb0f","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"In this example the result is self.configuration.get(\u0027replication_device) with the list::"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    [{device_target_id: blahblah, managed_backend_name: None, unique_key: val1}]"},{"line_number":103,"context_line":"     {device_target_id: moreblah, managed_backend_name: None, unique_key: val1}]"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_d0681d8a","line":102,"updated":"2015-10-12 22:54:12.000000000","message":"As Ryan said, this should be a list of dictionaries, removing the replacing the \u0027]\u0027 with a comma would do the trick.","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"5dcac0652de6192dc984e46242a2fed63674828c","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"In this example the result is self.configuration.get(\u0027replication_device) with the list::"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    [{device_target_id: blahblah, managed_backend_name: None, unique_key: val1}]"},{"line_number":103,"context_line":"     {device_target_id: moreblah, managed_backend_name: None, unique_key: val1}]"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7a2fa921_2baa4286","line":102,"in_reply_to":"7a2fa921_d0681d8a","updated":"2015-10-12 23:25:27.000000000","message":"Done","commit_id":"ce6de23fe11dae8f0865c006834666067f2ca437"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"3b739b0365516c917a09fd042463189df373ea87","unresolved":false,"context_lines":[{"line_number":121,"context_line":"etc.  In the example above we can assume the same host, in other"},{"line_number":122,"context_line":"cases we would need to use the form::"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    \u003chost\u003e@\u003cvolume_backend_name\u003e"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"and for some vendors we may require pool specification::"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a2fa921_b77310b4","line":124,"updated":"2015-10-13 03:45:23.000000000","message":"\u003cvolume_backend_name\u003e should be \u003csection_name\u003e","commit_id":"8f35606972a5bfe52f3023deed9adc6088491f12"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"7054b8749b654de14ef16cca93e02e68f97903ac","unresolved":false,"context_lines":[{"line_number":121,"context_line":"etc.  In the example above we can assume the same host, in other"},{"line_number":122,"context_line":"cases we would need to use the form::"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"    \u003chost\u003e@\u003cvolume_backend_name\u003e"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"and for some vendors we may require pool specification::"},{"line_number":127,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a2fa921_f7dae816","line":124,"in_reply_to":"7a2fa921_b77310b4","updated":"2015-10-13 14:03:35.000000000","message":"hmm... yeah, that\u0027s actually a good point.  section_name in my case is always backend_name, but you\u0027re right it doesn\u0027t have to be.","commit_id":"8f35606972a5bfe52f3023deed9adc6088491f12"},{"author":{"_account_id":10628,"name":"Peter Wang","email":"peter.wang13@emc.com","username":"peter_wang"},"change_message_id":"3b739b0365516c917a09fd042463189df373ea87","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"and for some vendors we may require pool specification::"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    \u003chost\u003e@\u003cvolume_backend_name\u003e#\u003cpool-name\u003e"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Volume Types / Extra Specs"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a2fa921_d751ec0f","line":128,"updated":"2015-10-13 03:45:23.000000000","message":"This is not correct I think:\n\nthe correct format is \u003chost\u003e@\u003csection_name\u003e#\u003cpool_name\u003e\n\nsection_name is the driver configuration group name\nin your case it should be: driver-foo, driver-baz etc.","commit_id":"8f35606972a5bfe52f3023deed9adc6088491f12"},{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"7054b8749b654de14ef16cca93e02e68f97903ac","unresolved":false,"context_lines":[{"line_number":125,"context_line":""},{"line_number":126,"context_line":"and for some vendors we may require pool specification::"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    \u003chost\u003e@\u003cvolume_backend_name\u003e#\u003cpool-name\u003e"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"Volume Types / Extra Specs"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a2ca52d_e32a512c","line":128,"in_reply_to":"7a2fa921_d751ec0f","updated":"2015-10-13 14:03:35.000000000","message":"Yes, you\u0027re right.","commit_id":"8f35606972a5bfe52f3023deed9adc6088491f12"}]}
