)]}'
{"specs/stein/approved/conf-max-attach-volumes.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"06408de9fb5e9c5321a69c2d62facbf1e4b41b2c","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Configure maximum number of volumes to attach"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/nova-improvement-of-maximum-attach-volumes-more-than-26-vols"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Currently, there is a limitation in the libvirt driver restricting the maximum"},{"line_number":14,"context_line":"number of volumes to attach to a single instance to 26. Depending on virt"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_e69a2a11","line":11,"updated":"2018-09-19 15:54:10.000000000","message":"I think the name of the spec doc and the name of the blueprint should match, ideally. But not going to block on that, its a quick follow up fix if needed.","commit_id":"b532c276698e9455168b03bd5ee067265ff5db7a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7e5a39f4a55e30f55c1e61ca16a2f4245906a2b8","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"When a user attempts to attach more than 26 volumes with the libvirt driver,"},{"line_number":45,"context_line":"the attach fails in the ``reserve_block_device_name`` method in nova-compute,"},{"line_number":46,"context_line":"which is eventually called by the ``attach_volume`` method in nova-api. The"},{"line_number":47,"context_line":"``reserve_block_device_name`` method calls"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_a57141ad","line":44,"updated":"2018-11-29 15:15:55.000000000","message":"Is this only handling attach volume but not boot from volume? What if I boot from volume with \u003e26 volumes in the block_device_mapping_v2 list? Would it work or still fail?","commit_id":"b532c276698e9455168b03bd5ee067265ff5db7a"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"a594b80bbc0de10aef47a508781b5f125a081b6a","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"When a user attempts to attach more than 26 volumes with the libvirt driver,"},{"line_number":45,"context_line":"the attach fails in the ``reserve_block_device_name`` method in nova-compute,"},{"line_number":46,"context_line":"which is eventually called by the ``attach_volume`` method in nova-api. The"},{"line_number":47,"context_line":"``reserve_block_device_name`` method calls"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_7cddc610","line":44,"in_reply_to":"3f79a3b5_1b55ed20","updated":"2018-12-14 17:57:28.000000000","message":"Adding a note here after discussing this with Matt on IRC and doing some testing with devstack.\n\n1. This will handle both boot from volume and attach volume. The limit (currently) has to do with getting the next device name, and that code fires for both boot from volume and attach volume. I will amend this spec with more info.\n\n2. While testing with devstack I found that the WIP implementation I have so far will fail when it hits the limit and will _not_ create volumes for BFV from image, _but_ I did find that for server create + attach multiple volumes, some volumes were left in \u0027reserved\u0027 status after the limit check fail. So more work is needed there to check earlier. Func tests will include a test for BFV, create + attach, and attach. And will assert that BDMs are not left around, volumes are not created, and volumes to attach are in \u0027available\u0027 status after a fail.","commit_id":"b532c276698e9455168b03bd5ee067265ff5db7a"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"fb37a8c550025dd1c6ca49b89b912fc730012646","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"When a user attempts to attach more than 26 volumes with the libvirt driver,"},{"line_number":45,"context_line":"the attach fails in the ``reserve_block_device_name`` method in nova-compute,"},{"line_number":46,"context_line":"which is eventually called by the ``attach_volume`` method in nova-api. The"},{"line_number":47,"context_line":"``reserve_block_device_name`` method calls"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_8d7aee24","line":44,"in_reply_to":"3f79a3b5_7cddc610","updated":"2018-12-14 19:12:51.000000000","message":"Update: I did more testing with devstack and found that we do run through a _cleanup_volumes routine in nova-compute when instance build fails (which makes sense) and I see \"Detaching volume\" messages for all related volumes. HOWEVER, the attachment_delete cinder API calls are not resulting in deletion of the cinder attachments, so there must be a bug here. Investigating further.","commit_id":"b532c276698e9455168b03bd5ee067265ff5db7a"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"9975bbc2c11ea7a2d9f878d39b4774263dd6bb07","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"When a user attempts to attach more than 26 volumes with the libvirt driver,"},{"line_number":45,"context_line":"the attach fails in the ``reserve_block_device_name`` method in nova-compute,"},{"line_number":46,"context_line":"which is eventually called by the ``attach_volume`` method in nova-api. The"},{"line_number":47,"context_line":"``reserve_block_device_name`` method calls"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_cdb46687","line":44,"in_reply_to":"3f79a3b5_8d7aee24","updated":"2018-12-14 19:29:29.000000000","message":"Update: Of course, after I said that, all the tests I do work fine and cleanup without issue. So there likely isn\u0027t a bug and there was something residual from my earlier tests.","commit_id":"b532c276698e9455168b03bd5ee067265ff5db7a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"29d9c2042ce0f3975d31b9e3c667919b98f18312","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"When a user attempts to attach more than 26 volumes with the libvirt driver,"},{"line_number":45,"context_line":"the attach fails in the ``reserve_block_device_name`` method in nova-compute,"},{"line_number":46,"context_line":"which is eventually called by the ``attach_volume`` method in nova-api. The"},{"line_number":47,"context_line":"``reserve_block_device_name`` method calls"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_1b55ed20","line":44,"in_reply_to":"3f79a3b5_a57141ad","updated":"2018-12-12 16:12:57.000000000","message":"The code paths for bfv and attach are definitely different until we get down to the nova/virt/block_device code. For bfv, you might need to add a new driver hook method to get the limit from the driver and then call that from ComputeManager._prep_block_device so that we can fail if over the limit *before* we create and/or attach a bunch of volumes and then spawn() just fails and we have to roll all of those volumes back.","commit_id":"b532c276698e9455168b03bd5ee067265ff5db7a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"06408de9fb5e9c5321a69c2d62facbf1e4b41b2c","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Optional section intended to be used each time the spec is updated to describe"},{"line_number":185,"context_line":"new design, API or any database schema updated. Useful to let reader understand"},{"line_number":186,"context_line":"what\u0027s happened along the time."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":".. list-table:: Revisions"},{"line_number":189,"context_line":"   :header-rows: 1"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_c6836ea8","line":186,"updated":"2018-09-19 15:54:10.000000000","message":"Nit: I usually drop this bit of boiler plate, but its a quick follow up fix if it bothers folks.","commit_id":"b532c276698e9455168b03bd5ee067265ff5db7a"}]}
