)]}'
{"cinder/objects/service.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"5c51e72269da5d472f575aca7092e35422183e31","unresolved":false,"context_lines":[{"line_number":170,"context_line":"                msg \u003d _(\u0027Service %s is in Liberty version. We do not \u0027"},{"line_number":171,"context_line":"                        \u0027provide backward compatibility with Liberty now, you \u0027"},{"line_number":172,"context_line":"                        \u0027need to upgrade to Mitaka first. This may require \u0027"},{"line_number":173,"context_line":"                        \u0027removing the old service via \u0027"},{"line_number":174,"context_line":"                        \u0027\"cinder-manage service remove\".\u0027) % s.binary"},{"line_number":175,"context_line":"                raise exception.ServiceTooOld(msg)"},{"line_number":176,"context_line":"            ver \u003d versionutils.convert_version_to_int(ver_str)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6399be_1ecb9173","line":173,"range":{"start_line":173,"start_character":38,"end_line":173,"end_character":49},"updated":"2016-10-12 16:18:52.000000000","message":"I would reword it into \"stale service record\". This is exactly what causes it - having some stale records in `services` table.","commit_id":"c3c9ce38b69edd3a91b80c16f94996ca58b28580"},{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"53668e32870efc8a4bc60ca59a0324bbe769cf6f","unresolved":false,"context_lines":[{"line_number":170,"context_line":"                msg \u003d _(\u0027Service %s is in Liberty version. We do not \u0027"},{"line_number":171,"context_line":"                        \u0027provide backward compatibility with Liberty now, you \u0027"},{"line_number":172,"context_line":"                        \u0027need to upgrade to Mitaka first. This may require \u0027"},{"line_number":173,"context_line":"                        \u0027removing the old service via \u0027"},{"line_number":174,"context_line":"                        \u0027\"cinder-manage service remove\".\u0027) % s.binary"},{"line_number":175,"context_line":"                raise exception.ServiceTooOld(msg)"},{"line_number":176,"context_line":"            ver \u003d versionutils.convert_version_to_int(ver_str)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6399be_814bc086","line":173,"range":{"start_line":173,"start_character":38,"end_line":173,"end_character":49},"in_reply_to":"fa6399be_1ecb9173","updated":"2016-10-12 16:46:59.000000000","message":"Done","commit_id":"c3c9ce38b69edd3a91b80c16f94996ca58b28580"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"f6deb45518de39de825a5dd818a3dc3b728eb3fd","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                        \u0027backward compatibility with Liberty now, so you \u0027"},{"line_number":172,"context_line":"                        \u0027need to upgrade to Mitaka first. This may require \u0027"},{"line_number":173,"context_line":"                        \u0027removing the stale service record via \u0027"},{"line_number":174,"context_line":"                        \u0027\"cinder-manage service remove\".\u0027) % s.binary"},{"line_number":175,"context_line":"                raise exception.ServiceTooOld(msg)"},{"line_number":176,"context_line":"            ver \u003d versionutils.convert_version_to_int(ver_str)"},{"line_number":177,"context_line":"            if min_ver is None or ver \u003c min_ver:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_506b14f1","line":174,"updated":"2016-10-13 09:59:30.000000000","message":"-1: This message doesn\u0027t make much sense to me... You are telling the operator they have to upgrade to Mitaka to be compatible with Ocata (current manster), which is wrong, since we only require compatibility with N-1 they should  upgraded to Newton.\n\nThis looks like a bug to me, as I think we need to update not only the message, but also the code to fail on any non compatible version.\n\nOr am I missing something?","commit_id":"71e074622a1c696fce9176b219f04b892a14345b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"c798d7a21293cdf07ca75158054d83d6f1fe26c9","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                        \u0027backward compatibility with Liberty now, so you \u0027"},{"line_number":172,"context_line":"                        \u0027need to upgrade to Mitaka first. This may require \u0027"},{"line_number":173,"context_line":"                        \u0027removing the stale service record via \u0027"},{"line_number":174,"context_line":"                        \u0027\"cinder-manage service remove\".\u0027) % s.binary"},{"line_number":175,"context_line":"                raise exception.ServiceTooOld(msg)"},{"line_number":176,"context_line":"            ver \u003d versionutils.convert_version_to_int(ver_str)"},{"line_number":177,"context_line":"            if min_ver is None or ver \u003c min_ver:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_ca2c9604","line":174,"in_reply_to":"fa6399be_07c4f95c","updated":"2016-10-14 11:34:25.000000000","message":"For me it would be enough rephrasing it to mention that the upgrading to Mitaka first and then release by release is for live upgrading only, and that if they\u0027ve already migrated all the services this error may be due to the stale service records.","commit_id":"71e074622a1c696fce9176b219f04b892a14345b"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"3106f17e8f01aa7d659cb25f94373758af670b65","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                        \u0027backward compatibility with Liberty now, so you \u0027"},{"line_number":172,"context_line":"                        \u0027need to upgrade to Mitaka first. This may require \u0027"},{"line_number":173,"context_line":"                        \u0027removing the stale service record via \u0027"},{"line_number":174,"context_line":"                        \u0027\"cinder-manage service remove\".\u0027) % s.binary"},{"line_number":175,"context_line":"                raise exception.ServiceTooOld(msg)"},{"line_number":176,"context_line":"            ver \u003d versionutils.convert_version_to_int(ver_str)"},{"line_number":177,"context_line":"            if min_ver is None or ver \u003c min_ver:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_718017f8","line":174,"in_reply_to":"fa6399be_39c3ebee","updated":"2016-10-13 11:36:34.000000000","message":"Yup, this was tried [1], but we came to the conclusion, that we\u0027re unable to tell the service version just from RPC API and objects version. Even if we\u0027ve mapped such versions to the release name just before the release it wouldn\u0027t helped us in a generic case, as there\u0027s no guarantee that any version will be raised during a release but a logical incompatibility can still occur.\n\nI think the only way to do that in a generic way would be to report version string as a column in `services` database.\n\n[1] https://review.openstack.org/#/c/371251/","commit_id":"71e074622a1c696fce9176b219f04b892a14345b"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"4e99a2fd67de699b054f6e7a0bcb4175f846a763","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                        \u0027backward compatibility with Liberty now, so you \u0027"},{"line_number":172,"context_line":"                        \u0027need to upgrade to Mitaka first. This may require \u0027"},{"line_number":173,"context_line":"                        \u0027removing the stale service record via \u0027"},{"line_number":174,"context_line":"                        \u0027\"cinder-manage service remove\".\u0027) % s.binary"},{"line_number":175,"context_line":"                raise exception.ServiceTooOld(msg)"},{"line_number":176,"context_line":"            ver \u003d versionutils.convert_version_to_int(ver_str)"},{"line_number":177,"context_line":"            if min_ver is None or ver \u003c min_ver:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_7e5b89f6","line":174,"in_reply_to":"fa6399be_506b14f1","updated":"2016-10-13 10:22:25.000000000","message":"I think \"first\" is the key word here. :)\n\nThis message is displayed in two cases:\n\n* Operator is attempting a live upgrade from Liberty to Newton, which isn\u0027t supported. He need to upgrade to Mitaka *first* and then to Newton.\n* There are old Liberty records in `services` table. It haven\u0027t affected Mitaka critically (although downgrading all RPC messages could lead to some Mitaka features actually missing), but is unacceptable in Newton.\n\nI don\u0027t think there\u0027s a bug in the code, but probably the message could be worded even better.","commit_id":"71e074622a1c696fce9176b219f04b892a14345b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"c798d7a21293cdf07ca75158054d83d6f1fe26c9","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                        \u0027backward compatibility with Liberty now, so you \u0027"},{"line_number":172,"context_line":"                        \u0027need to upgrade to Mitaka first. This may require \u0027"},{"line_number":173,"context_line":"                        \u0027removing the stale service record via \u0027"},{"line_number":174,"context_line":"                        \u0027\"cinder-manage service remove\".\u0027) % s.binary"},{"line_number":175,"context_line":"                raise exception.ServiceTooOld(msg)"},{"line_number":176,"context_line":"            ver \u003d versionutils.convert_version_to_int(ver_str)"},{"line_number":177,"context_line":"            if min_ver is None or ver \u003c min_ver:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_aa184276","line":174,"in_reply_to":"fa6399be_718017f8","updated":"2016-10-14 11:34:25.000000000","message":"If we didn\u0027t have any version bump during the cycle we could always force it just to tag the release.  But I think it\u0027s unlikely this will happen for most of the services.  And we could always do the tagging with RPC and OVO versions and update our version cache simultaneously so we can check if both those versions match.\n\nYes, another option would be to just add the version to the services table","commit_id":"71e074622a1c696fce9176b219f04b892a14345b"},{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"588306bfbb3d95b4402cf5a84902331ae2d31ea0","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                        \u0027backward compatibility with Liberty now, so you \u0027"},{"line_number":172,"context_line":"                        \u0027need to upgrade to Mitaka first. This may require \u0027"},{"line_number":173,"context_line":"                        \u0027removing the stale service record via \u0027"},{"line_number":174,"context_line":"                        \u0027\"cinder-manage service remove\".\u0027) % s.binary"},{"line_number":175,"context_line":"                raise exception.ServiceTooOld(msg)"},{"line_number":176,"context_line":"            ver \u003d versionutils.convert_version_to_int(ver_str)"},{"line_number":177,"context_line":"            if min_ver is None or ver \u003c min_ver:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_07c4f95c","line":174,"in_reply_to":"fa6399be_718017f8","updated":"2016-10-13 12:13:37.000000000","message":"So do I need to reword this?  If so, I could replace \"Mitaka\" with one of these:\n\n- \"a newer version\"\n- \"Newton or newer\"\n- \"the current or previous version\"\n- \"the current or N-1 version\"\n\nWould one of those be good enough?  Other suggestions for the wording are welcome - thanks!","commit_id":"71e074622a1c696fce9176b219f04b892a14345b"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"203b9eb82c36da8c9c5dde3af15c0339bca8abe6","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                        \u0027backward compatibility with Liberty now, so you \u0027"},{"line_number":172,"context_line":"                        \u0027need to upgrade to Mitaka first. This may require \u0027"},{"line_number":173,"context_line":"                        \u0027removing the stale service record via \u0027"},{"line_number":174,"context_line":"                        \u0027\"cinder-manage service remove\".\u0027) % s.binary"},{"line_number":175,"context_line":"                raise exception.ServiceTooOld(msg)"},{"line_number":176,"context_line":"            ver \u003d versionutils.convert_version_to_int(ver_str)"},{"line_number":177,"context_line":"            if min_ver is None or ver \u003c min_ver:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_39c3ebee","line":174,"in_reply_to":"fa6399be_7e5b89f6","updated":"2016-10-13 10:50:07.000000000","message":"The bug I\u0027m referring to is that we don\u0027t raise an exception with any other unsupported versions.\n\nFor example if they are running Mitaka and they try a live upgrade to Ocata.","commit_id":"71e074622a1c696fce9176b219f04b892a14345b"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"7be8c3ca0326e3f540b363f2c2d9ee6f023b03fd","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                        \u0027backward compatibility with Liberty now, so you \u0027"},{"line_number":172,"context_line":"                        \u0027need to upgrade to Mitaka first. This may require \u0027"},{"line_number":173,"context_line":"                        \u0027removing the stale service record via \u0027"},{"line_number":174,"context_line":"                        \u0027\"cinder-manage service remove\".\u0027) % s.binary"},{"line_number":175,"context_line":"                raise exception.ServiceTooOld(msg)"},{"line_number":176,"context_line":"            ver \u003d versionutils.convert_version_to_int(ver_str)"},{"line_number":177,"context_line":"            if min_ver is None or ver \u003c min_ver:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_caef3685","line":174,"in_reply_to":"fa6399be_ca2c9604","updated":"2016-10-14 11:39:34.000000000","message":"Fair enough Gorka! Adam, will you update the patch to reflect that?","commit_id":"71e074622a1c696fce9176b219f04b892a14345b"},{"author":{"_account_id":2394,"name":"Adam Spiers","email":"aspiers@suse.com","username":"adam.spiers"},"change_message_id":"74841de2473fa36c947aeb0fcaf950b34ccf21ed","unresolved":false,"context_lines":[{"line_number":171,"context_line":"                        \u0027backward compatibility with Liberty now, so you \u0027"},{"line_number":172,"context_line":"                        \u0027need to upgrade to Mitaka first. This may require \u0027"},{"line_number":173,"context_line":"                        \u0027removing the stale service record via \u0027"},{"line_number":174,"context_line":"                        \u0027\"cinder-manage service remove\".\u0027) % s.binary"},{"line_number":175,"context_line":"                raise exception.ServiceTooOld(msg)"},{"line_number":176,"context_line":"            ver \u003d versionutils.convert_version_to_int(ver_str)"},{"line_number":177,"context_line":"            if min_ver is None or ver \u003c min_ver:"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa6399be_92500934","line":174,"in_reply_to":"fa6399be_caef3685","updated":"2016-10-14 17:08:22.000000000","message":"Done","commit_id":"71e074622a1c696fce9176b219f04b892a14345b"}]}
