)]}'
{"tempest/api/compute/servers/test_device_tagging.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"80f3515f841ae45d8a5272007cc849b6a2771ed0","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            # there may be duplicated tags in the metadata, use set() to"},{"line_number":84,"context_line":"            # remove duplicated tags."},{"line_number":85,"context_line":"            found_devices \u003d [d[\u0027tags\u0027][0] for d in md_dict[\u0027devices\u0027]"},{"line_number":86,"context_line":"                             if d[\u0027tags\u0027]]"},{"line_number":87,"context_line":"            self.assertEqual(set(found_devices), set([\u0027port-1\u0027, \u0027port-2\u0027,"},{"line_number":88,"context_line":"                                                      \u0027net-1\u0027, \u0027net-2-100\u0027,"},{"line_number":89,"context_line":"                                                      \u0027net-2-200\u0027, \u0027boot\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_c0b3cc4c","line":86,"updated":"2018-02-07 15:50:25.000000000","message":"Only tagged devices are presented in the metadata. If you\u0027re getting a KeyError here, then something else is wrong.","commit_id":"867cfe5d5a624c2467abadf3536e268f420705fc"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"b128b1f7d3f586daa6de4b93a7100ff7b0c451fd","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            # there may be duplicated tags in the metadata, use set() to"},{"line_number":84,"context_line":"            # remove duplicated tags."},{"line_number":85,"context_line":"            found_devices \u003d [d[\u0027tags\u0027][0] for d in md_dict[\u0027devices\u0027]"},{"line_number":86,"context_line":"                             if d[\u0027tags\u0027]]"},{"line_number":87,"context_line":"            self.assertEqual(set(found_devices), set([\u0027port-1\u0027, \u0027port-2\u0027,"},{"line_number":88,"context_line":"                                                      \u0027net-1\u0027, \u0027net-2-100\u0027,"},{"line_number":89,"context_line":"                                                      \u0027net-2-200\u0027, \u0027boot\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_505a0e4f","line":86,"in_reply_to":"3fa0c359_2d64cfb8","updated":"2018-02-08 12:54:13.000000000","message":"\u003e In fact, the Hyper-V Nova driver will include untagged disk\n\u003e devices. This allows the guests to safely identify a disk\n\u003e without relying on tags (which may be missing or not\n\u003e unique). Kubernetes even relies on this [1].\n\nAh, sorry, I was thinking only of libvirt - which does *not* exposed untagged devices. So yeah, this fine. Maybe add a comment to the effect of \"libvirt only exposes tagged devices, but hyperv can expose other devices as well.\"","commit_id":"867cfe5d5a624c2467abadf3536e268f420705fc"},{"author":{"_account_id":8543,"name":"Lucian Petrut","email":"lpetrut@cloudbasesolutions.com","username":"plucian"},"change_message_id":"049e77a9b51399cab3aa4130d57915610fd98c07","unresolved":false,"context_lines":[{"line_number":83,"context_line":"            # there may be duplicated tags in the metadata, use set() to"},{"line_number":84,"context_line":"            # remove duplicated tags."},{"line_number":85,"context_line":"            found_devices \u003d [d[\u0027tags\u0027][0] for d in md_dict[\u0027devices\u0027]"},{"line_number":86,"context_line":"                             if d[\u0027tags\u0027]]"},{"line_number":87,"context_line":"            self.assertEqual(set(found_devices), set([\u0027port-1\u0027, \u0027port-2\u0027,"},{"line_number":88,"context_line":"                                                      \u0027net-1\u0027, \u0027net-2-100\u0027,"},{"line_number":89,"context_line":"                                                      \u0027net-2-200\u0027, \u0027boot\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa0c359_2d64cfb8","line":86,"in_reply_to":"3fa0c359_c0b3cc4c","updated":"2018-02-08 11:36:18.000000000","message":"Tagged devices will be presented in the metadata, that\u0027s true, but as far as I\u0027m aware, nothing states that other devices shouldn\u0027t be included in the metadata.\n\nIn fact, the Hyper-V Nova driver will include untagged disk devices. This allows the guests to safely identify a disk without relying on tags (which may be missing or not unique). Kubernetes even relies on this [1].\n\nFor the record, the Libvirt driver explicitly sets the volume id as \"serial\" id in the guest disk configuration, which Qemu then exposes to the guests (but with a 20 character limit). Guests usually leverage this when searching a disk (e.g. by looking for /dev/disk/by-id/virtio-\u003cvolume_id\u003e). In case of Hyper-V, we cannot leverage this mechanism, so we had to use the device metadata.\n\nBesides, some users complained about the truncated ids when using Libvirt[2], so it may not be such a bad idea to have the Libvirt driver use the same approach as well.\n\n[1] https://github.com/kubernetes/kubernetes/commit/559f83a93daa5078603dd30430f2a18fbd7c1f4c\n[2] http://lists.openstack.org/pipermail/openstack-dev/2018-January/126811.html","commit_id":"867cfe5d5a624c2467abadf3536e268f420705fc"}]}
