)]}'
{"tempest/api/volume/admin/test_volume_services.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"faf111276aa6bfc480ee7be923096674047c5572","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                          \"Skip. Not implemented on Liberty and Kilo.\")"},{"line_number":57,"context_line":"    def test_get_service_by_host_name(self):"},{"line_number":58,"context_line":"        def get_host(host):"},{"line_number":59,"context_line":"            return host.split(\u0027@\u0027)[0]"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        services_on_host \u003d [service for service in self.services if"},{"line_number":62,"context_line":"                            get_host(service[\u0027host\u0027]) \u003d\u003d self.host_name]"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba63e191_4fad6f87","line":59,"range":{"start_line":59,"start_character":36,"end_line":59,"end_character":37},"updated":"2016-01-19 02:05:36.000000000","message":"Not sure about back porting of this change in cinder liberty and kilo. \n\nBut now this tests is skipped for stable branches which i feel not good.\n\nWe should run this tests there too to confirm the old API behavior. \n\nSo how about remove skip with conf option and adding like below- so that it tests both behavior. \n\n        def get_host(host):\n            if CONF.volume_feature_enabled.volume_services:\n                host \u003d host.split(\u0027@\u0027)[0]\n            return host","commit_id":"fef26fef109dc18298bea1f480f7091aa706c4ad"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b62de1885aa6855ad47bcb37047c7059972df846","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    @test.idempotent_id(\u0027178710e4-7596-4e08-9333-745cb8bc4f8d\u0027)"},{"line_number":52,"context_line":"    def test_get_service_by_host_name(self):"},{"line_number":53,"context_line":"        def get_host(host):"},{"line_number":54,"context_line":"            if CONF.volume_feature_enabled.volume_services:"},{"line_number":55,"context_line":"                host \u003d host.split(\u0027@\u0027)[0]"},{"line_number":56,"context_line":"            return host"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        services_on_host \u003d [service for service in self.services if"}],"source_content_type":"text/x-python","patch_set":4,"id":"dae33548_f3857859","line":55,"range":{"start_line":54,"start_character":0,"end_line":55,"end_character":41},"updated":"2016-02-16 06:00:19.000000000","message":"There is one issue with this fix. If first service has host name with @backendname then it will fail as you are fetching only first part always and would not find the services.\n\nYou should truncate the host name only if it is appended with @","commit_id":"d10aaa14b192597e6be30204e5c7366368c5644e"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"a5e902e9e264bdbba9108578ef682b1116513353","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    @test.idempotent_id(\u0027178710e4-7596-4e08-9333-745cb8bc4f8d\u0027)"},{"line_number":52,"context_line":"    def test_get_service_by_host_name(self):"},{"line_number":53,"context_line":"        def get_host(host):"},{"line_number":54,"context_line":"            if CONF.volume_feature_enabled.volume_services:"},{"line_number":55,"context_line":"                host \u003d host.split(\u0027@\u0027)[0]"},{"line_number":56,"context_line":"            return host"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        services_on_host \u003d [service for service in self.services if"}],"source_content_type":"text/x-python","patch_set":4,"id":"dae33548_c7e1859c","line":55,"range":{"start_line":54,"start_character":0,"end_line":55,"end_character":41},"in_reply_to":"dae33548_873dbdbd","updated":"2016-02-16 10:01:48.000000000","message":"\u003e\u003e\u003e a \u003d \u0027NS@ceph\u0027\n\u003e\u003e\u003e a.split(\u0027@\u0027)[0]\n\u0027NS\u0027","commit_id":"d10aaa14b192597e6be30204e5c7366368c5644e"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"23d9becf92612aa9217d6a4c051f70cb87381b77","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    @test.idempotent_id(\u0027178710e4-7596-4e08-9333-745cb8bc4f8d\u0027)"},{"line_number":52,"context_line":"    def test_get_service_by_host_name(self):"},{"line_number":53,"context_line":"        def get_host(host):"},{"line_number":54,"context_line":"            if CONF.volume_feature_enabled.volume_services:"},{"line_number":55,"context_line":"                host \u003d host.split(\u0027@\u0027)[0]"},{"line_number":56,"context_line":"            return host"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        services_on_host \u003d [service for service in self.services if"}],"source_content_type":"text/x-python","patch_set":4,"id":"dae33548_873dbdbd","line":55,"range":{"start_line":54,"start_character":0,"end_line":55,"end_character":41},"in_reply_to":"dae33548_ac8a66bd","updated":"2016-02-16 09:46:38.000000000","message":"I see what you mean.","commit_id":"d10aaa14b192597e6be30204e5c7366368c5644e"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"ba328560e7b118d45d02b52ad0885ef4f47f8b39","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    @test.idempotent_id(\u0027178710e4-7596-4e08-9333-745cb8bc4f8d\u0027)"},{"line_number":52,"context_line":"    def test_get_service_by_host_name(self):"},{"line_number":53,"context_line":"        def get_host(host):"},{"line_number":54,"context_line":"            if CONF.volume_feature_enabled.volume_services:"},{"line_number":55,"context_line":"                host \u003d host.split(\u0027@\u0027)[0]"},{"line_number":56,"context_line":"            return host"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        services_on_host \u003d [service for service in self.services if"}],"source_content_type":"text/x-python","patch_set":4,"id":"dae33548_ac8a66bd","line":55,"range":{"start_line":54,"start_character":0,"end_line":55,"end_character":41},"in_reply_to":"dae33548_f3857859","updated":"2016-02-16 09:42:36.000000000","message":"It works ok. \n\u003e\u003e\u003e a \u003d \u0027NS\u0027\n\u003e\u003e\u003e a.split(\u0027@\u0027)\n[\u0027NS\u0027]\n\u003e\u003e\u003e a.split(\u0027@\u0027)[0]\n\u0027NS\u0027","commit_id":"d10aaa14b192597e6be30204e5c7366368c5644e"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"27cd6809a5b048c95b097c94e77ac59fa916f94d","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        super(VolumesServicesV2TestJSON, cls).resource_setup()"},{"line_number":33,"context_line":"        cls.services \u003d (cls.admin_volume_services_client.list_services()"},{"line_number":34,"context_line":"                        [\u0027services\u0027])"},{"line_number":35,"context_line":"        cls.host_name \u003d cls.services[0][\u0027host\u0027]"},{"line_number":36,"context_line":"        cls.binary_name \u003d cls.services[0][\u0027binary\u0027]"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @test.idempotent_id(\u0027e0218299-0a59-4f43-8b2b-f1c035b3d26d\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aed3d3a_8d3d6ddf","line":35,"range":{"start_line":35,"start_character":24,"end_line":35,"end_character":47},"updated":"2016-03-01 01:27:15.000000000","message":"it is nice to change here like\n\n cls.host_name \u003d cls.services[0][\u0027host\u0027].split(\u0027@\u0027)[0]\n\nbecause sometimes the first of service list can be \"\u003chost_name\u003e@\u003cdriver_name\u003e\" like http://paste.openstack.org/show/488666/ and here needs to pick \u003chost_name\u003e.\n\nbut gmann knows another issue about this idea, and I\u0027d like to see his comment.","commit_id":"9669f1eacb2a76e2bdbeae95f34777a9fa0a53a2"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"22b974aa68ba84c95e6767590b7ece599f8188d5","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        super(VolumesServicesV2TestJSON, cls).resource_setup()"},{"line_number":33,"context_line":"        cls.services \u003d (cls.admin_volume_services_client.list_services()"},{"line_number":34,"context_line":"                        [\u0027services\u0027])"},{"line_number":35,"context_line":"        cls.host_name \u003d cls.services[0][\u0027host\u0027]"},{"line_number":36,"context_line":"        cls.binary_name \u003d cls.services[0][\u0027binary\u0027]"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @test.idempotent_id(\u0027e0218299-0a59-4f43-8b2b-f1c035b3d26d\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aed3d3a_f044ce4a","line":35,"range":{"start_line":35,"start_character":24,"end_line":35,"end_character":47},"in_reply_to":"9aed3d3a_8d3d6ddf","updated":"2016-03-01 01:32:29.000000000","message":"That is nice way but that will create issue as self.host_name is used in other tests too (test_get_service_by_service_and_host_name).\n\nSO in above scenario where first service is with hostname@backend then L80 will fail with above solution.\n\nanother solution i have in mind is do not truncate at L56 if self.host_name is with backend name. But any other better solution works for me.","commit_id":"9669f1eacb2a76e2bdbeae95f34777a9fa0a53a2"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6828f608d59476e8df1a43743b10bf55f96dffcd","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @test.idempotent_id(\u0027178710e4-7596-4e08-9333-745cb8bc4f8d\u0027)"},{"line_number":53,"context_line":"    def test_get_service_by_host_name(self):"},{"line_number":54,"context_line":"        def get_host(host):"},{"line_number":55,"context_line":"            if CONF.volume_feature_enabled.volume_services:"},{"line_number":56,"context_line":"                host \u003d host.split(\u0027@\u0027)[0]"},{"line_number":57,"context_line":"            return host"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        services_on_host \u003d [service for service in self.services if"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aed3d3a_ad0e71e2","line":56,"range":{"start_line":55,"start_character":0,"end_line":56,"end_character":41},"updated":"2016-03-01 01:19:51.000000000","message":"still issue as commented in PS4.\n\nhttp://paste.openstack.org/show/488666/\n\nif cinder-volume is in first index in service list then services_on_host at L59 will be empty and services at L62 will be conder-volume and L71 fails","commit_id":"9669f1eacb2a76e2bdbeae95f34777a9fa0a53a2"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"61ef09deb22a6e8e574ee300bcaf23914b2f54e6","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @test.idempotent_id(\u0027178710e4-7596-4e08-9333-745cb8bc4f8d\u0027)"},{"line_number":53,"context_line":"    def test_get_service_by_host_name(self):"},{"line_number":54,"context_line":"        def get_host(host):"},{"line_number":55,"context_line":"            if CONF.volume_feature_enabled.volume_services:"},{"line_number":56,"context_line":"                host \u003d host.split(\u0027@\u0027)[0]"},{"line_number":57,"context_line":"            return host"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        services_on_host \u003d [service for service in self.services if"}],"source_content_type":"text/x-python","patch_set":5,"id":"7af24918_6cfff934","line":56,"range":{"start_line":55,"start_character":0,"end_line":56,"end_character":41},"in_reply_to":"9aed3d3a_29e24c2f","updated":"2016-03-01 14:39:39.000000000","message":"OK, I see what you\u0027re saying. Just getting confused by where this comment was placed. There isn\u0027t a problem with this code, there\u0027s a problem with setting the host_name variable on line 35.","commit_id":"9669f1eacb2a76e2bdbeae95f34777a9fa0a53a2"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"e4425a41a43a3d10b618b9c5117fd70dd8346252","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @test.idempotent_id(\u0027178710e4-7596-4e08-9333-745cb8bc4f8d\u0027)"},{"line_number":53,"context_line":"    def test_get_service_by_host_name(self):"},{"line_number":54,"context_line":"        def get_host(host):"},{"line_number":55,"context_line":"            if CONF.volume_feature_enabled.volume_services:"},{"line_number":56,"context_line":"                host \u003d host.split(\u0027@\u0027)[0]"},{"line_number":57,"context_line":"            return host"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        services_on_host \u003d [service for service in self.services if"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aed3d3a_29e24c2f","line":56,"range":{"start_line":55,"start_character":0,"end_line":56,"end_character":41},"in_reply_to":"9aed3d3a_703719ff","updated":"2016-03-01 06:04:18.000000000","message":"in Same example (http://paste.openstack.org/show/488684/) if you replace \u0027openstack1-VirtualBox@lvmdriver-1\u0027 at L14\n\nlike- \nhttp://paste.openstack.org/show/488693/\n\nIn second case Self.host_name will be \u0027openstack1-VirtualBox@lvmdriver-1\u0027 in this tests (L35 cls.host_name \u003d cls.services[0][\u0027host\u0027]).","commit_id":"9669f1eacb2a76e2bdbeae95f34777a9fa0a53a2"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"df3eaa731200ff23b2db2d75dfea151bc962c60d","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @test.idempotent_id(\u0027178710e4-7596-4e08-9333-745cb8bc4f8d\u0027)"},{"line_number":53,"context_line":"    def test_get_service_by_host_name(self):"},{"line_number":54,"context_line":"        def get_host(host):"},{"line_number":55,"context_line":"            if CONF.volume_feature_enabled.volume_services:"},{"line_number":56,"context_line":"                host \u003d host.split(\u0027@\u0027)[0]"},{"line_number":57,"context_line":"            return host"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        services_on_host \u003d [service for service in self.services if"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aed3d3a_bc985d6b","line":56,"range":{"start_line":55,"start_character":0,"end_line":56,"end_character":41},"in_reply_to":"9aed3d3a_ad0e71e2","updated":"2016-03-01 03:47:15.000000000","message":"Not sure I\u0027m following this. It shouldn\u0027t matter what order the services are listed in. Can you show an example of what you mean?","commit_id":"9669f1eacb2a76e2bdbeae95f34777a9fa0a53a2"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9201e6d49a6a5852fcd03f28012a66c35bc68ff3","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @test.idempotent_id(\u0027178710e4-7596-4e08-9333-745cb8bc4f8d\u0027)"},{"line_number":53,"context_line":"    def test_get_service_by_host_name(self):"},{"line_number":54,"context_line":"        def get_host(host):"},{"line_number":55,"context_line":"            if CONF.volume_feature_enabled.volume_services:"},{"line_number":56,"context_line":"                host \u003d host.split(\u0027@\u0027)[0]"},{"line_number":57,"context_line":"            return host"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        services_on_host \u003d [service for service in self.services if"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aed3d3a_d07b8579","line":56,"range":{"start_line":55,"start_character":0,"end_line":56,"end_character":41},"in_reply_to":"9aed3d3a_bc985d6b","updated":"2016-03-01 04:08:41.000000000","message":"actually if you see http://paste.openstack.org/show/488666/.\n\nIf cinder-volume is in first index then L35 cls.services[0] will be cinder-volume and cls.host_name will be \u0027openstack1-VirtualBox@lvmdriver-1\u0027.\n\nNow at L59, there will not be any match service with self.host_name(\u0027openstack1-VirtualBox@lvmdriver-1\u0027) as get_host(service[\u0027host\u0027]) will truncate the \u0027@lvmdriver-1\u0027 for all services. So services_on_host will be empty.\n\nAnd at L62, it will return cinder-volume (filter with host-\u0027openstack1-VirtualBox@lvmdriver-1\u0027 ) which will be mismatch at L71","commit_id":"9669f1eacb2a76e2bdbeae95f34777a9fa0a53a2"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"6c52c46a69094a71f62c929083889f59e36e7a62","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    @test.idempotent_id(\u0027178710e4-7596-4e08-9333-745cb8bc4f8d\u0027)"},{"line_number":53,"context_line":"    def test_get_service_by_host_name(self):"},{"line_number":54,"context_line":"        def get_host(host):"},{"line_number":55,"context_line":"            if CONF.volume_feature_enabled.volume_services:"},{"line_number":56,"context_line":"                host \u003d host.split(\u0027@\u0027)[0]"},{"line_number":57,"context_line":"            return host"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        services_on_host \u003d [service for service in self.services if"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aed3d3a_703719ff","line":56,"range":{"start_line":55,"start_character":0,"end_line":56,"end_character":41},"in_reply_to":"9aed3d3a_d07b8579","updated":"2016-03-01 04:40:17.000000000","message":"Can you actually show an example of what you mean? I still don\u0027t see. Order shouldn\u0027t make a difference here:\n\nhttp://paste.openstack.org/show/488684/","commit_id":"9669f1eacb2a76e2bdbeae95f34777a9fa0a53a2"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"d79ef2b767f065d27889e5d27364ecee59e773a5","unresolved":false,"context_lines":[{"line_number":20,"context_line":"CONF \u003d config.CONF"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"def get_host(host):"},{"line_number":24,"context_line":"    if CONF.volume_feature_enabled.volume_services:"},{"line_number":25,"context_line":"        host \u003d host.split(\u0027@\u0027)[0]"},{"line_number":26,"context_line":"    return host"}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_2ba80c1f","line":23,"updated":"2016-03-02 03:35:20.000000000","message":"How about changing this function name to \u0027_get_host()\u0027 or \u0027__get_host()\u0027 if you don\u0027t intend to expose this?","commit_id":"77c6bcaba0334780e584783a254e471534c67522"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"be099f4c9d779a5958924cc7993a7cc4a1d57fe7","unresolved":false,"context_lines":[{"line_number":20,"context_line":"CONF \u003d config.CONF"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"def get_host(host):"},{"line_number":24,"context_line":"    if CONF.volume_feature_enabled.volume_services:"},{"line_number":25,"context_line":"        host \u003d host.split(\u0027@\u0027)[0]"},{"line_number":26,"context_line":"    return host"}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_5d10b401","line":23,"in_reply_to":"7af24918_2ba80c1f","updated":"2016-03-02 08:40:35.000000000","message":"Done","commit_id":"77c6bcaba0334780e584783a254e471534c67522"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"812df527436e9f5b0192f86b3c69214fda2f8841","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"def get_host(host):"},{"line_number":24,"context_line":"    if CONF.volume_feature_enabled.volume_services:"},{"line_number":25,"context_line":"        host \u003d host.split(\u0027@\u0027)[0]"},{"line_number":26,"context_line":"    return host"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_972b5a30","line":25,"range":{"start_line":25,"start_character":8,"end_line":25,"end_character":33},"updated":"2016-03-01 19:45:33.000000000","message":"Can we put some comment here for reading this code later?\n\neg:\n\n # NOTE: Cinder \"list services\" API returns the list contains\n # \"\u003chost name\u003e@\u003cdriver name\u003e\" like \"nova-compute01@lvmdriver-1\".\n # So here picks \u003chost name\u003e up as a host.\n host \u003d host.split(\u0027@\u0027)[0]","commit_id":"77c6bcaba0334780e584783a254e471534c67522"},{"author":{"_account_id":14305,"name":"Yuriy Nesenenko","email":"ynesenenko@mirantis.com","username":"yuriy_n"},"change_message_id":"be099f4c9d779a5958924cc7993a7cc4a1d57fe7","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"def get_host(host):"},{"line_number":24,"context_line":"    if CONF.volume_feature_enabled.volume_services:"},{"line_number":25,"context_line":"        host \u003d host.split(\u0027@\u0027)[0]"},{"line_number":26,"context_line":"    return host"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_3d13280f","line":25,"range":{"start_line":25,"start_character":8,"end_line":25,"end_character":33},"in_reply_to":"7af24918_972b5a30","updated":"2016-03-02 08:40:35.000000000","message":"Done","commit_id":"77c6bcaba0334780e584783a254e471534c67522"}]}
