)]}'
{"tempest/stress/actions/volume_attach_delete.py":[{"author":{"_account_id":1119,"name":"Christoph Thiel","email":"ct@kki.org","username":"cthiel-suse"},"change_message_id":"2b50442c2cfed6e4c757adfbeeea9c74c22fa142","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        manager.volumes_client.wait_for_volume_status(volume[\u0027id\u0027], \u0027in-use\u0027)"},{"line_number":49,"context_line":"        logger.info(\"volume (%s) attached to vm %s\" %"},{"line_number":50,"context_line":"                    (volume[\u0027id\u0027], server_id))"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        # Step 4: detach volume from vm"},{"line_number":53,"context_line":"        logger.info(\"detach volume (%s) from vm %s\" %"},{"line_number":54,"context_line":"                    (volume[\u0027id\u0027], server_id))"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2FyNs%3D","line":51,"updated":"2013-07-11 14:30:27.000000000","message":"You might want to also check for get_console_output on the servers_client, to verify if the volume also got passed correctly to the VM. -- checking for device name might not work, since not every hypervisor handles this identical.","commit_id":"f6310bda3b7ceb42f62f1a8f0ec7f851326eff16"},{"author":{"_account_id":1119,"name":"Christoph Thiel","email":"ct@kki.org","username":"cthiel-suse"},"change_message_id":"2b50442c2cfed6e4c757adfbeeea9c74c22fa142","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        manager.volumes_client.wait_for_volume_status(volume[\u0027id\u0027],"},{"line_number":57,"context_line":"                                                      \u0027available\u0027)"},{"line_number":58,"context_line":"        logger.info(\"volume (%s) is detached\" % volume[\u0027id\u0027])"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        # Step 5: delete vm"},{"line_number":61,"context_line":"        logger.info(\"deleting vm: %s\" % vm_name)"},{"line_number":62,"context_line":"        resp, _ \u003d manager.servers_client.delete_server(server_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2FyNg%3D","line":59,"updated":"2013-07-11 14:30:27.000000000","message":"As discussed on the phone before, maybe we want to make it configurable to detach volume before deleting a VM? delete should always include the detach!","commit_id":"f6310bda3b7ceb42f62f1a8f0ec7f851326eff16"},{"author":{"_account_id":1636,"name":"David Scannell","email":"dscannell@gridcentric.com","username":"dscannell"},"change_message_id":"0bee394846b72ef81e9f766f34c57da3b0adc850","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        # Step 3: attach volume to vm"},{"line_number":47,"context_line":"        self.logger.info(\"attach volume (%s) to vm %s\" %"},{"line_number":48,"context_line":"                        (volume[\u0027id\u0027], server_id))"},{"line_number":49,"context_line":"        resp, body \u003d self.manager.volumes_client.attach_volume(volume[\u0027id\u0027],"},{"line_number":50,"context_line":"                                                               server_id,"},{"line_number":51,"context_line":"                                                               \u0027/dev/vdc\u0027)"},{"line_number":52,"context_line":"        assert(resp.status \u003d\u003d 202)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2F0b4%3D","line":49,"updated":"2013-07-22 18:31:58.000000000","message":"It is my understanding that the Cinder Client attach_volume just marks the volume as attached to an instance (e.g. flips the bit to  \u0027in-use\u0027 with the associated instance uuid) and doesn\u0027t actually attach the volume.\n\nTo attach the volume the Nova Client must be used with:\n\n     novaclient.volumes.create_server_volume(server, volume, device).\n\nThis will update the nova side of things, attach the volume to the instance and then call the Cinder client to mark the volume as attached to the instance. In other words going through novaclient will eventually call this API. However, since the nova API is being by-passed, nova will have no notion that this volume is \"attached\". Thus, when deleted it will not make the cinder API call to detach the volume.\n\nTo say it another way, I don\u0027t think the Cinder API attach_volume should ever be called directly outside of the nova code path because it essentially marks the volume as \"in-use\" without it actually being used or notifying Nova about what happened.","commit_id":"e09986c997ac646843bede8f356cc8c22436ac42"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"91f9de0b00d5bac631cc8bafc72bc6d2ef05b301","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        # Step 3: attach volume to vm"},{"line_number":47,"context_line":"        self.logger.info(\"attach volume (%s) to vm %s\" %"},{"line_number":48,"context_line":"                        (volume[\u0027id\u0027], server_id))"},{"line_number":49,"context_line":"        resp, body \u003d self.manager.volumes_client.attach_volume(volume[\u0027id\u0027],"},{"line_number":50,"context_line":"                                                               server_id,"},{"line_number":51,"context_line":"                                                               \u0027/dev/vdc\u0027)"},{"line_number":52,"context_line":"        assert(resp.status \u003d\u003d 202)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2FzN8%3D","line":49,"in_reply_to":"AAAAQn%2F%2F0b4%3D","updated":"2013-07-23 01:05:40.000000000","message":"I agree with David. The \u0027attach_volume\u0027 API of Cinder should only be called by Nova _after_ Nova has successfully attached the volume to instance, and only to update volume\u0027s status in Cinder DB.","commit_id":"e09986c997ac646843bede8f356cc8c22436ac42"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6b1d93556dbe7c4e22f1edbe2bc035c207a4d99a","unresolved":false,"context_lines":[{"line_number":25,"context_line":"        # Step 1: create volume"},{"line_number":26,"context_line":"        name \u003d rand_name(\"volume\")"},{"line_number":27,"context_line":"        self.logger.info(\"creating volume: %s\" % name)"},{"line_number":28,"context_line":"        resp, volume \u003d self.manager.volumes_client.create_volume(size\u003d1,"},{"line_number":29,"context_line":"                                                                 display_name\u003d"},{"line_number":30,"context_line":"                                                                 name)"},{"line_number":31,"context_line":"        assert(resp.status \u003d\u003d 200)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2Fg5o%3D","line":28,"updated":"2013-07-30 00:17:22.000000000","message":"alternative valid pep8 is to pull the first param off the line and fall back to 4 space indent. That would make this less crunched.","commit_id":"341bf1c1bf115b2f731e856d1ae2c9bcb7cc78e8"}],"tempest/stress/etc/stress-tox-job.json":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"ecb4f8b2e5bcf89c36ff31ac28ad5a1e53013786","unresolved":false,"context_lines":[{"line_number":10,"context_line":"  \"use_isolated_tenants\": false,"},{"line_number":11,"context_line":"  \"kwargs\": {}"},{"line_number":12,"context_line":"  },"},{"line_number":13,"context_line":"  {\"action\": \"tempest.stress.actions.volume_attach_delete.VolumeAttachDeleteTest\","},{"line_number":14,"context_line":"  \"threads\": 2,"},{"line_number":15,"context_line":"  \"use_admin\": false,"},{"line_number":16,"context_line":"  \"use_isolated_tenants\": false,"}],"source_content_type":"application/json","patch_set":6,"id":"AAAAQn%2F%2FduU%3D","line":13,"updated":"2013-07-30 19:06:25.000000000","message":"So this job is currently run in parallel. Will this test cause a conflict with the volume test above?","commit_id":"341bf1c1bf115b2f731e856d1ae2c9bcb7cc78e8"}]}
