)]}'
{"oslo_versionedobjects/fields.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c02e297ce844ef7e1baab86583224efc0f22b6a5","unresolved":false,"context_lines":[{"line_number":304,"context_line":""},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"class UUID(FieldType):"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    @staticmethod"},{"line_number":309,"context_line":"    def coerce(obj, attr, value):"},{"line_number":310,"context_line":"        if uuidutils.is_uuid_like(value):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_a33a08e6","line":307,"updated":"2015-12-03 16:35:34.000000000","message":"This is a random whitespace change, please remove.","commit_id":"b15271c401b30659c31a464318135643d63351bc"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c02e297ce844ef7e1baab86583224efc0f22b6a5","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                \u0027attr\u0027: attr,"},{"line_number":315,"context_line":"                \u0027value\u0027: value"},{"line_number":316,"context_line":"            }"},{"line_number":317,"context_line":"            raise ValueError(msg)"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"class MACAddress(FieldType):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_d524abb0","line":317,"updated":"2015-12-03 16:35:34.000000000","message":"This is going to fail about a thousand tests in nova as soon as we merge it. So before we do, I think we need to see a passing run with nova using this somehow.","commit_id":"b15271c401b30659c31a464318135643d63351bc"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"b5881adcb8dd40057972238fcb46385d410e3ba2","unresolved":false,"context_lines":[{"line_number":314,"context_line":"                \u0027attr\u0027: attr,"},{"line_number":315,"context_line":"                \u0027value\u0027: value"},{"line_number":316,"context_line":"            }"},{"line_number":317,"context_line":"            raise ValueError(msg)"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"class MACAddress(FieldType):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a740942_4b525adf","line":317,"in_reply_to":"7a740942_d524abb0","updated":"2015-12-03 17:08:03.000000000","message":"Is nova not running in gate-tempest-dsvm-neutron-src-oslo.versionedobjects ?\n\nIf they fail (this very broken) UUID validation, they need to move the fields to String.\n\nhttp://git.openstack.org/cgit/openstack/oslo.utils/tree/oslo_utils/uuidutils.py#n41\n\nCinder failed a real UUID test (this test strips out the \u0027-\u0027 chars) but I did not see any nova failures.","commit_id":"b15271c401b30659c31a464318135643d63351bc"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"dd97ae253cc518c692bf3943ae024f030215d1b2","unresolved":false,"context_lines":[{"line_number":307,"context_line":"class UUID(FieldType):"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    def __init__(self, validate\u003dNone, **kwargs):"},{"line_number":310,"context_line":"        if validate is None:"},{"line_number":311,"context_line":"            debtcollector.deprecate("},{"line_number":312,"context_line":"                _(\u0027The \"validate\" argument will change from the current \u0027"},{"line_number":313,"context_line":"                  \u0027default behavior of \"False\" to \"True\" in a future \u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa69d971_03236f06","line":310,"updated":"2016-01-04 18:52:51.000000000","message":"http://docs.openstack.org/developer/debtcollector/api.html#debtcollector.removals.removed_kwarg does something similar/same, might as well use it?","commit_id":"c76a874e31f20dee15d430d87ee22a3a7f9dbf02"},{"author":{"_account_id":19619,"name":"Michal Pryc","email":"mpryc@redhat.com","username":"migi"},"change_message_id":"0a9d155aa90291395d8ed6a194b1e1e1e32eff0b","unresolved":false,"context_lines":[{"line_number":305,"context_line":""},{"line_number":306,"context_line":"class UUID(FieldType):"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    def __init__(self, validate\u003dFalse, **kwargs):"},{"line_number":309,"context_line":"        self.validate \u003d validate"},{"line_number":310,"context_line":"        super(UUID, self).__init__(**kwargs)"},{"line_number":311,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"ba63e191_ccfd983b","line":308,"updated":"2016-01-20 09:37:27.000000000","message":"I really don\u0027t see a point of adding constrain that is by default \"turned off\". Please convince me what is the benefit of having such implementation?\n\nI would much prefer to force the uuid and speed up fixing tests (I am working on fixing tests that will be affected by the uuid change in nova but it\u0027s everywhere, so will take a while) and then include the proper patch where one can not have non valid call.\n\nWith the proposed implementation everything will work as it was, code that had valid uuid will work, but will need to change call to this constructor, so it\u0027s additional unnecessary change that does not bring any benefit.\n\nFor the code that did not have valid UUID there will be option to choose new call to the constructor with validate flag set to True and then fix the uuids or leave as it was.\n\nRemember that for the non valid UUID fields it\u0027s safe to change the value to valid one with the old UUID class without changing the call to the constructor, so IMO still no benefit of adding this constrain.\n\nI will not give -1, because some may disagree with my point of view, but I would really, really like to see it done once and for all.","commit_id":"a9609fa16cef914186fa168e8ed20ee512f01253"},{"author":{"_account_id":8099,"name":"Graham Hayes","email":"gr@ham.ie","username":"graham"},"change_message_id":"9c4f5961875c3379d48722f0d7d363f7c425778e","unresolved":false,"context_lines":[{"line_number":305,"context_line":""},{"line_number":306,"context_line":"class UUID(FieldType):"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    def __init__(self, validate\u003dFalse, **kwargs):"},{"line_number":309,"context_line":"        self.validate \u003d validate"},{"line_number":310,"context_line":"        super(UUID, self).__init__(**kwargs)"},{"line_number":311,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7a5de9d1_2910fea7","line":308,"updated":"2016-01-28 14:54:37.000000000","message":"If  a project wants a UUID field to actually validate it is getting a UUID, they have to copy and paste this section of code?\nIf they want to store arbitrary string data - there is a field type for that.\n\nall other projects should not be forced to carry additional patches because some of the \"special\" projects implemented the library wrong.\n\nSo I am clear - all olso libraries should support all current supported branches of all projects that support them?\n\n@Michal - I did this, so I would have a snowballs chance in hell of getting it merged this year. It is a breaking API change, so we should have a deprication period - which is what these 2 patches would have given us.","commit_id":"a9609fa16cef914186fa168e8ed20ee512f01253"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"c0fbc9225c65cfc4b4ac0ab46a16bc836455a8d8","unresolved":false,"context_lines":[{"line_number":305,"context_line":""},{"line_number":306,"context_line":"class UUID(FieldType):"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    def __init__(self, validate\u003dFalse, **kwargs):"},{"line_number":309,"context_line":"        self.validate \u003d validate"},{"line_number":310,"context_line":"        super(UUID, self).__init__(**kwargs)"},{"line_number":311,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7a5de9d1_c9428a3e","line":308,"in_reply_to":"7a5de9d1_6b782ef3","updated":"2016-01-28 14:43:01.000000000","message":"I agree. I think that if a project wants that level of enforcement it needs to land the project, not in the library. Libraries ideally should support all supported branches of OpenStack.","commit_id":"a9609fa16cef914186fa168e8ed20ee512f01253"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9944443ce0b92e4c7cb6365ce429e781ddac4c40","unresolved":false,"context_lines":[{"line_number":305,"context_line":""},{"line_number":306,"context_line":"class UUID(FieldType):"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"    def __init__(self, validate\u003dFalse, **kwargs):"},{"line_number":309,"context_line":"        self.validate \u003d validate"},{"line_number":310,"context_line":"        super(UUID, self).__init__(**kwargs)"},{"line_number":311,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"7a5de9d1_6b782ef3","line":308,"in_reply_to":"ba63e191_ccfd983b","updated":"2016-01-28 14:27:08.000000000","message":"I don\u0027t like the idea of making this a flag thing, even if disabled by default. I know that it would enable other people to have enforcement, but...\n\nSince we insist on running older releases against new libraries, even for just unit tests, we\u0027ll break everyone\u0027s liberty releases with a change that doesn\u0027t have the flag.\n\nSo I think we pretty much can\u0027t do this at all for the moment.\n\nYou should probably just implement this field in your own project with the enforcement for now, move forward, and we\u0027ll plan to roll this in when the timing works out for our projects that use this. Nova has a bunch of custom fields, so there is precedent for this.","commit_id":"a9609fa16cef914186fa168e8ed20ee512f01253"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"354d155f4f3f23ea5347fc6a8c41546a3e277413","unresolved":false,"context_lines":[{"line_number":777,"context_line":""},{"line_number":778,"context_line":""},{"line_number":779,"context_line":"class UUIDField(AutoTypedField):"},{"line_number":780,"context_line":"    def __init__(self, validate\u003dNone, **kwargs):"},{"line_number":781,"context_line":"        self.AUTO_TYPE \u003d UUID(validate\u003dvalidate)"},{"line_number":782,"context_line":"        super(UUIDField, self).__init__(**kwargs)"},{"line_number":783,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"dab17558_98ef8b86","line":780,"range":{"start_line":780,"start_character":32,"end_line":780,"end_character":36},"updated":"2016-05-16 10:27:19.000000000","message":"s/None/False ?","commit_id":"d82d933b48b38afa84b95bbbcd5b25d19999b5e6"}]}
