)]}'
{"specs/mitaka/approved/add-local-to-instance-to-create-server-api.rst":[{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"d9ea960782aaff98d4ec44eeaa0ca94cb55a0d7e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"There is a usecase, user uses \"block_device_mapping\" to create a volume"},{"line_number":22,"context_line":"along with creating a instance, and for high performance user wants the"},{"line_number":23,"context_line":"volume created in the same host with instance. But now Nova"},{"line_number":24,"context_line":"\"create instance\" API can not satisfy user\u0027s requirement."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_98817dfe","line":22,"updated":"2015-11-03 10:53:03.000000000","message":"perhaps this is a bit more clear:\n\"..., and to achieve improved performance the user wants the volume to be created on the same host with the instance. Currently the Nova \"create instance\" API cannot satisfy the users ...\"","commit_id":"f09f9db44531a462e2d2a2221b0790be2a9dcc54"},{"author":{"_account_id":11538,"name":"Zhang Ni","email":"zhangni@huawei.com","username":"zhangni"},"change_message_id":"ab0c994b43355e3fcd287c870478a8b0eff3936e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"There is a usecase, user uses \"block_device_mapping\" to create a volume"},{"line_number":22,"context_line":"along with creating a instance, and for high performance user wants the"},{"line_number":23,"context_line":"volume created in the same host with instance. But now Nova"},{"line_number":24,"context_line":"\"create instance\" API can not satisfy user\u0027s requirement."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_ffa588a1","line":22,"in_reply_to":"fa80f949_98817dfe","updated":"2015-11-20 01:41:54.000000000","message":"OK","commit_id":"f09f9db44531a462e2d2a2221b0790be2a9dcc54"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"d9ea960782aaff98d4ec44eeaa0ca94cb55a0d7e","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Currently, there is a InstanceLocalityFilter in cinder, user can set"},{"line_number":42,"context_line":"\"local_to_instance \u003d Instance UUID\" in \"scheduler_hints\" parameter when"},{"line_number":43,"context_line":"using \"create volume\" API, Cinder can enforces InstanceLocalityFilter"},{"line_number":44,"context_line":"filter and makes the volume created in the same host with this Instance."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"\"local_to_instance\" is a property for volume, so we propose to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_3873b14f","line":43,"updated":"2015-11-03 10:53:03.000000000","message":"s/can/then/","commit_id":"f09f9db44531a462e2d2a2221b0790be2a9dcc54"},{"author":{"_account_id":11538,"name":"Zhang Ni","email":"zhangni@huawei.com","username":"zhangni"},"change_message_id":"ab0c994b43355e3fcd287c870478a8b0eff3936e","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Currently, there is a InstanceLocalityFilter in cinder, user can set"},{"line_number":42,"context_line":"\"local_to_instance \u003d Instance UUID\" in \"scheduler_hints\" parameter when"},{"line_number":43,"context_line":"using \"create volume\" API, Cinder can enforces InstanceLocalityFilter"},{"line_number":44,"context_line":"filter and makes the volume created in the same host with this Instance."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"\"local_to_instance\" is a property for volume, so we propose to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_1fa3ac9e","line":43,"in_reply_to":"fa80f949_3873b14f","updated":"2015-11-20 01:41:54.000000000","message":"OK","commit_id":"f09f9db44531a462e2d2a2221b0790be2a9dcc54"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"d9ea960782aaff98d4ec44eeaa0ca94cb55a0d7e","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Currently, there is a InstanceLocalityFilter in cinder, user can set"},{"line_number":42,"context_line":"\"local_to_instance \u003d Instance UUID\" in \"scheduler_hints\" parameter when"},{"line_number":43,"context_line":"using \"create volume\" API, Cinder can enforces InstanceLocalityFilter"},{"line_number":44,"context_line":"filter and makes the volume created in the same host with this Instance."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"\"local_to_instance\" is a property for volume, so we propose to"},{"line_number":47,"context_line":"add a \"local_to_instance\" parameter to \"block_device_mapping\" in create"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_18ad8d88","line":44,"updated":"2015-11-03 10:53:03.000000000","message":"\"... and creates the volume on the same...\"","commit_id":"f09f9db44531a462e2d2a2221b0790be2a9dcc54"},{"author":{"_account_id":11538,"name":"Zhang Ni","email":"zhangni@huawei.com","username":"zhangni"},"change_message_id":"ab0c994b43355e3fcd287c870478a8b0eff3936e","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Currently, there is a InstanceLocalityFilter in cinder, user can set"},{"line_number":42,"context_line":"\"local_to_instance \u003d Instance UUID\" in \"scheduler_hints\" parameter when"},{"line_number":43,"context_line":"using \"create volume\" API, Cinder can enforces InstanceLocalityFilter"},{"line_number":44,"context_line":"filter and makes the volume created in the same host with this Instance."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"\"local_to_instance\" is a property for volume, so we propose to"},{"line_number":47,"context_line":"add a \"local_to_instance\" parameter to \"block_device_mapping\" in create"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_dfa8c479","line":44,"in_reply_to":"fa80f949_18ad8d88","updated":"2015-11-20 01:41:54.000000000","message":"OK","commit_id":"f09f9db44531a462e2d2a2221b0790be2a9dcc54"},{"author":{"_account_id":6772,"name":"Stephen Gordon","email":"sgordon@redhat.com","username":"sgordon"},"change_message_id":"ea322024d26b26c0346159e8ef7ff7e850d14adb","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"None"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Data model impact"},{"line_number":62,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da85f559_69ee40ee","line":59,"updated":"2015-11-07 16:01:11.000000000","message":"Isn\u0027t the current alternative something like this:\n\nhttp://cloudgeekz.com/71/how-to-setup-openstack-to-use-local-disks-for-instances.html\n\n(which goes quite a ways to proving something simpler is needed...)","commit_id":"f09f9db44531a462e2d2a2221b0790be2a9dcc54"},{"author":{"_account_id":11538,"name":"Zhang Ni","email":"zhangni@huawei.com","username":"zhangni"},"change_message_id":"41d210bf9f27fbe057ae9340f4f1937c0638dfe7","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"None"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Data model impact"},{"line_number":62,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9a8ffd7b_8009d62e","line":59,"in_reply_to":"da85f559_69ee40ee","updated":"2015-11-25 03:19:03.000000000","message":"Hi Stephen, thanks for you comments.\nYes，this is a alternative method, but it\u0027s complicated and lack\nof flexibility. I will add this alternative to spec.","commit_id":"f09f9db44531a462e2d2a2221b0790be2a9dcc54"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"d9ea960782aaff98d4ec44eeaa0ca94cb55a0d7e","unresolved":false,"context_lines":[{"line_number":98,"context_line":"Performance Impact"},{"line_number":99,"context_line":"------------------"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"None"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Other deployer impact"},{"line_number":104,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_18e58da7","line":101,"updated":"2015-11-03 10:53:03.000000000","message":"There should be positive impact on runtime performance in systems that support this, which is the core motivation.\nI am not sure about negative performance impact. Only scenario i can think of where this might occur, is when upon instantiation the image has to be copied instead of relying on an already cached base image. Runtime perfomance will still be improved in that case, though.","commit_id":"f09f9db44531a462e2d2a2221b0790be2a9dcc54"},{"author":{"_account_id":11538,"name":"Zhang Ni","email":"zhangni@huawei.com","username":"zhangni"},"change_message_id":"ab0c994b43355e3fcd287c870478a8b0eff3936e","unresolved":false,"context_lines":[{"line_number":98,"context_line":"Performance Impact"},{"line_number":99,"context_line":"------------------"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"None"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Other deployer impact"},{"line_number":104,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_ae7b4c8b","line":101,"in_reply_to":"fa80f949_18e58da7","updated":"2015-11-20 01:41:54.000000000","message":"yes, this can improve the storage IO performance. I think copying image is existed even without this parameter, so how about we don\u0027t  mention it.","commit_id":"f09f9db44531a462e2d2a2221b0790be2a9dcc54"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"d9ea960782aaff98d4ec44eeaa0ca94cb55a0d7e","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Documentation Impact"},{"line_number":150,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"None"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_b8ba416d","line":152,"updated":"2015-11-03 10:53:03.000000000","message":"The new config parameter needs to be documented, this should be mentioned here.","commit_id":"f09f9db44531a462e2d2a2221b0790be2a9dcc54"},{"author":{"_account_id":11538,"name":"Zhang Ni","email":"zhangni@huawei.com","username":"zhangni"},"change_message_id":"ab0c994b43355e3fcd287c870478a8b0eff3936e","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Documentation Impact"},{"line_number":150,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"None"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa80f949_4e6c20d0","line":152,"in_reply_to":"fa80f949_b8ba416d","updated":"2015-11-20 01:41:54.000000000","message":"OK","commit_id":"f09f9db44531a462e2d2a2221b0790be2a9dcc54"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"fc670594cb08c6722ac797bde4bac0f657a6c735","unresolved":false,"context_lines":[{"line_number":47,"context_line":"add a \"local_to_instance\" parameter to \"block_device_mapping\" in create"},{"line_number":48,"context_line":"service API."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"\"local_to_instance\" parameter is optinal and default value"},{"line_number":51,"context_line":"is false. When \"local_to_instance\" is \"false\" Nova will do nothing. When"},{"line_number":52,"context_line":"\"local_to_instance\" is \"true\" nova will add \"scheduler_hints\" and set"},{"line_number":53,"context_line":"\"local_to_instance \u003d instance UUID\" when generating create volume request"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba8a016a_6d53b26d","line":50,"updated":"2015-11-20 13:45:49.000000000","message":"s/optinal/optional/\n\nAlso:\nThe \"... \nand\n... and the default ...","commit_id":"3319331ffcc3d8e5bdc53ca6254d17d6045ee558"},{"author":{"_account_id":11538,"name":"Zhang Ni","email":"zhangni@huawei.com","username":"zhangni"},"change_message_id":"fbe098801395dd5abc9ff004b6126e587b8ecac7","unresolved":false,"context_lines":[{"line_number":47,"context_line":"add a \"local_to_instance\" parameter to \"block_device_mapping\" in create"},{"line_number":48,"context_line":"service API."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"\"local_to_instance\" parameter is optinal and default value"},{"line_number":51,"context_line":"is false. When \"local_to_instance\" is \"false\" Nova will do nothing. When"},{"line_number":52,"context_line":"\"local_to_instance\" is \"true\" nova will add \"scheduler_hints\" and set"},{"line_number":53,"context_line":"\"local_to_instance \u003d instance UUID\" when generating create volume request"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_0035e6d8","line":50,"in_reply_to":"ba8a016a_6d53b26d","updated":"2015-11-25 03:23:42.000000000","message":"OK","commit_id":"3319331ffcc3d8e5bdc53ca6254d17d6045ee558"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"fc670594cb08c6722ac797bde4bac0f657a6c735","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"None"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Data model impact"},{"line_number":62,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba8a016a_90ab89d6","line":59,"updated":"2015-11-20 13:45:49.000000000","message":"I recommend adding Stephens input regarding alternatives from v1 of this patch. The link he added clearly shows that the alternatives to this proposal are _very_ ugly, giving a good motivation why this is needed.","commit_id":"3319331ffcc3d8e5bdc53ca6254d17d6045ee558"},{"author":{"_account_id":11538,"name":"Zhang Ni","email":"zhangni@huawei.com","username":"zhangni"},"change_message_id":"fbe098801395dd5abc9ff004b6126e587b8ecac7","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"None"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Data model impact"},{"line_number":62,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_a073bab0","line":59,"in_reply_to":"ba8a016a_90ab89d6","updated":"2015-11-25 03:23:42.000000000","message":"OK, thanks for your remind.","commit_id":"3319331ffcc3d8e5bdc53ca6254d17d6045ee558"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"fc670594cb08c6722ac797bde4bac0f657a6c735","unresolved":false,"context_lines":[{"line_number":70,"context_line":"destination_type is volume and source_type is one of"},{"line_number":71,"context_line":"{blank, snapshot or image}."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"\"block_device_mapping_v2\": ["},{"line_number":74,"context_line":"{"},{"line_number":75,"context_line":"\"device_name\": \"/dev/sda1\","},{"line_number":76,"context_line":"\"source_type\": \"blank\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba8a016a_6d017239","line":73,"updated":"2015-11-20 13:45:49.000000000","message":"Add something like \"Example:\" before the example code.","commit_id":"3319331ffcc3d8e5bdc53ca6254d17d6045ee558"},{"author":{"_account_id":11538,"name":"Zhang Ni","email":"zhangni@huawei.com","username":"zhangni"},"change_message_id":"fbe098801395dd5abc9ff004b6126e587b8ecac7","unresolved":false,"context_lines":[{"line_number":70,"context_line":"destination_type is volume and source_type is one of"},{"line_number":71,"context_line":"{blank, snapshot or image}."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"\"block_device_mapping_v2\": ["},{"line_number":74,"context_line":"{"},{"line_number":75,"context_line":"\"device_name\": \"/dev/sda1\","},{"line_number":76,"context_line":"\"source_type\": \"blank\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_c04d9e73","line":73,"in_reply_to":"ba8a016a_6d017239","updated":"2015-11-25 03:23:42.000000000","message":"OK","commit_id":"3319331ffcc3d8e5bdc53ca6254d17d6045ee558"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"fc670594cb08c6722ac797bde4bac0f657a6c735","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Documentation Impact"},{"line_number":150,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"The new parameter \"local_to_instance\" will be documented."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba8a016a_f0e77544","line":152,"updated":"2015-11-20 13:45:49.000000000","message":"s/will/has/","commit_id":"3319331ffcc3d8e5bdc53ca6254d17d6045ee558"},{"author":{"_account_id":11538,"name":"Zhang Ni","email":"zhangni@huawei.com","username":"zhangni"},"change_message_id":"fbe098801395dd5abc9ff004b6126e587b8ecac7","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Documentation Impact"},{"line_number":150,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"The new parameter \"local_to_instance\" will be documented."},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9a8ffd7b_e0522213","line":152,"in_reply_to":"ba8a016a_f0e77544","updated":"2015-11-25 03:23:42.000000000","message":"OK","commit_id":"3319331ffcc3d8e5bdc53ca6254d17d6045ee558"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"dae300e9e6f8991e78ed11f7bc96cdd1a6f2f3d7","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The method described in this url http://cloudgeekz.com/71/how-to-setup-"},{"line_number":60,"context_line":"openstack-to-use-local-disks-for-instances.html, it\u0027s complicated and lack"},{"line_number":61,"context_line":"of flexibility. This spec provide a simpler way."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_df4a3983","line":59,"updated":"2015-11-25 15:10:01.000000000","message":"\"An alternative method...\"","commit_id":"cf4b09dc65eb52e306d4ead221524932075bd22b"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"dae300e9e6f8991e78ed11f7bc96cdd1a6f2f3d7","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The method described in this url http://cloudgeekz.com/71/how-to-setup-"},{"line_number":60,"context_line":"openstack-to-use-local-disks-for-instances.html, it\u0027s complicated and lack"},{"line_number":61,"context_line":"of flexibility. This spec provide a simpler way."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Data model impact"},{"line_number":64,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_3f2b4596","line":61,"updated":"2015-11-25 15:10:01.000000000","message":"\"... . This spec provides a much simpler concept.\"","commit_id":"cf4b09dc65eb52e306d4ead221524932075bd22b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"b20526b5f33dda1404b171fd8734ed6508e0f0c9","unresolved":false,"context_lines":[{"line_number":52,"context_line":"\"local_to_instance\" is \"true\" nova will add \"scheduler_hints\" and set"},{"line_number":53,"context_line":"\"local_to_instance \u003d instance UUID\" when generating create volume request"},{"line_number":54,"context_line":"to Cinder."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_c6bd52b8","line":55,"updated":"2015-11-26 15:34:44.000000000","message":"So I think we are missing quite a few details here:\n\nIf Cinder can\u0027t put it the same place as the instance, what happens? Does the volume create fail?\n\nDoes the scheduler know about cinder capacity on each host, so it can find a host where things are more likely to work?\n\nWhat happens when we move an instance? does that fail? do we have to move the volume too?\n\nWhat happens if after the volume is created, nova has to do a re-schedule, and move the instance somewhere, do we destroy and re-created the volume?","commit_id":"ea2386853a738f64026cefcb76d3d45a770b540e"},{"author":{"_account_id":11538,"name":"Zhang Ni","email":"zhangni@huawei.com","username":"zhangni"},"change_message_id":"efedf1a693e3120b264bffa8f4caef3e24cb0e25","unresolved":false,"context_lines":[{"line_number":52,"context_line":"\"local_to_instance\" is \"true\" nova will add \"scheduler_hints\" and set"},{"line_number":53,"context_line":"\"local_to_instance \u003d instance UUID\" when generating create volume request"},{"line_number":54,"context_line":"to Cinder."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Alternatives"},{"line_number":57,"context_line":"------------"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_61a234ff","line":55,"in_reply_to":"9a8ffd7b_c6bd52b8","updated":"2015-11-27 10:06:25.000000000","message":"Hi John, very good comments. We have considered these exception in this feature. \n\n1)When cinder can\u0027t create volume in the same place, the volume will be fail and instance will be error. Other volume have been created will be detached and deleted(currently the volume is remained, need to be improved).\n\n2)Nova scheduler and cinder scheduler also work independently, Otherwise nova and cinder mix together the same as before.\n\n3)For local volume, it\u0027s better to move the volume for  performance, but it may consume a long time. So what about add a \"affinity-volume-migrate\" parameter in migrate API to indicate whether to migrate volume. if user set \"affinity-volume-migrate\" parameter to true, the volume will be move, if false, the volume will detach and reattach as the share storage.\n\n4)Yes, Nova will delete the volume and recreated, do the same process with question 2).","commit_id":"ea2386853a738f64026cefcb76d3d45a770b540e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"b20526b5f33dda1404b171fd8734ed6508e0f0c9","unresolved":false,"context_lines":[{"line_number":79,"context_line":"\"device_name\": \"/dev/sda1\","},{"line_number":80,"context_line":"\"source_type\": \"blank\","},{"line_number":81,"context_line":"\"destination_type\": \"volume\","},{"line_number":82,"context_line":"\"local_to_instance\": \"true\","},{"line_number":83,"context_line":"\"volume_size\": \"20\","},{"line_number":84,"context_line":"\"boot_index\": \"0\""},{"line_number":85,"context_line":"}]"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_4695e23c","line":82,"updated":"2015-11-26 15:34:44.000000000","message":"should this setting not be returned by the os-volumes list?","commit_id":"ea2386853a738f64026cefcb76d3d45a770b540e"},{"author":{"_account_id":11538,"name":"Zhang Ni","email":"zhangni@huawei.com","username":"zhangni"},"change_message_id":"09fb183ac33b2b3252be0e45c9eb178d51f5985e","unresolved":false,"context_lines":[{"line_number":79,"context_line":"\"device_name\": \"/dev/sda1\","},{"line_number":80,"context_line":"\"source_type\": \"blank\","},{"line_number":81,"context_line":"\"destination_type\": \"volume\","},{"line_number":82,"context_line":"\"local_to_instance\": \"true\","},{"line_number":83,"context_line":"\"volume_size\": \"20\","},{"line_number":84,"context_line":"\"boot_index\": \"0\""},{"line_number":85,"context_line":"}]"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a8ffd7b_43b274e6","line":82,"in_reply_to":"9a8ffd7b_4695e23c","updated":"2015-12-02 03:50:54.000000000","message":"Yes, currently we should add this parameter.","commit_id":"ea2386853a738f64026cefcb76d3d45a770b540e"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"dbbb01138e6c900fc32d2f09ed380b67f13de200","unresolved":false,"context_lines":[{"line_number":38,"context_line":"Proposed change"},{"line_number":39,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Currently, there is a InstanceLocalityFilter in cinder, user can set"},{"line_number":42,"context_line":"\"local_to_instance \u003d Instance UUID\" in \"scheduler_hints\" parameter when"},{"line_number":43,"context_line":"using \"create volume\" API, Cinder then enforces InstanceLocalityFilter"},{"line_number":44,"context_line":"filter and creates the volume on the same host with this Instance."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"\"local_to_instance\" is a property for volume, so we propose to"},{"line_number":47,"context_line":"add a \"local_to_instance\" parameter to \"block_device_mapping\" in create"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a8ffd7b_cb8d687d","line":44,"range":{"start_line":41,"start_character":0,"end_line":44,"end_character":66},"updated":"2015-12-02 13:56:35.000000000","message":"So I went and looked at the filter and it seems like a major hack, that calls out to Nova and then attempts to cache values with a massive comment that says that it won\u0027t work if the instance got migrated in the meantime.\n\nNot having a lot of confidence we should expose such a brittle thing (basically a hack) in the Nova API.\n\nAlso in general we want to step away from coupling Nova and Cinder and proxying API calls.","commit_id":"e9bb82798e266eda9218492722ed8ea75abd38ad"},{"author":{"_account_id":11538,"name":"Zhang Ni","email":"zhangni@huawei.com","username":"zhangni"},"change_message_id":"ce2864a448c3f33cb6bcd0409da3f88f7da491ff","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Currently, there is a InstanceLocalityFilter in cinder, user can set"},{"line_number":42,"context_line":"\"local_to_instance \u003d Instance UUID\" in \"scheduler_hints\" parameter when"},{"line_number":43,"context_line":"using \"create volume\" API, Cinder then enforces InstanceLocalityFilter"},{"line_number":44,"context_line":"filter and creates the volume on the same host with this Instance."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"\"local_to_instance\" is a property for volume, so we propose to"},{"line_number":47,"context_line":"add a \"local_to_instance\" parameter to \"block_device_mapping\" in create"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a8ffd7b_77b508eb","line":44,"in_reply_to":"9a8ffd7b_cb8d687d","updated":"2015-12-03 09:27:29.000000000","message":"Hi nikola, cinder use cache first and do not have expired, it need to be improved. and we didn\u0027t want nova and cinder to couple tightly, so we think nova and cinder should schedule independently.","commit_id":"e9bb82798e266eda9218492722ed8ea75abd38ad"}]}
