)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"b493563ab3f5133eb12f5cb7c6aa03ac06c129ef","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I1ac68ad1acfa116c09e0adfa119db0b2cad125d4"},{"line_number":13,"context_line":"Partially-Implements: blueprint adopt-oslo-versioned-objects-for-db"},{"line_number":14,"context_line":"Partial-Bug: #1541928"},{"line_number":15,"context_line":"Depends-On: I74402153267cac79a530c4f4f5bb7fd7df247e78"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"1ac06dbe_ac63c240","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":21},"updated":"2016-08-24 13:51:57.000000000","message":"This line is not required","commit_id":"792d28b1a4149f5a3c95650892a1129c2555d77d"}],"neutron/objects/provisioning_blocks.py":[{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"552c89bcff4c9905d9f7761f7c3fe022469dbc1c","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    primary_keys \u003d [\u0027standard_attr_id\u0027, \u0027entity\u0027]"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @classmethod"},{"line_number":35,"context_line":"    def modify_fields_to_db(cls, fields):"},{"line_number":36,"context_line":"        result \u003d super(ProvisioningBlock, cls).modify_fields_to_db(fields)"},{"line_number":37,"context_line":"        if \u0027entity\u0027 in result:"},{"line_number":38,"context_line":"            result[\u0027entity\u0027] \u003d cls.filter_to_str(result[\u0027entity\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ac06dbe_45668f51","line":35,"range":{"start_line":35,"start_character":8,"end_line":35,"end_character":27},"updated":"2016-08-23 22:10:17.000000000","message":"I thought this is needed when there is translation of field name from db to object. \"Entity\" is used in both object and model. Pls correct me if I am wrong.","commit_id":"c0fef590d1950212915b7b61428ba5d6a2f3965f"},{"author":{"_account_id":22774,"name":"Shashank Kumar Shankar","email":"shashank.kumar.shankar@intel.com","username":"skshankar"},"change_message_id":"a5d19a9204d57782aefd2e8f617f795b4b82b606","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    primary_keys \u003d [\u0027standard_attr_id\u0027, \u0027entity\u0027]"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    @classmethod"},{"line_number":35,"context_line":"    def modify_fields_to_db(cls, fields):"},{"line_number":36,"context_line":"        result \u003d super(ProvisioningBlock, cls).modify_fields_to_db(fields)"},{"line_number":37,"context_line":"        if \u0027entity\u0027 in result:"},{"line_number":38,"context_line":"            result[\u0027entity\u0027] \u003d cls.filter_to_str(result[\u0027entity\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"1ac06dbe_6b3d502a","line":35,"range":{"start_line":35,"start_character":8,"end_line":35,"end_character":27},"in_reply_to":"1ac06dbe_45668f51","updated":"2016-08-24 03:57:52.000000000","message":"Removed this method.","commit_id":"c0fef590d1950212915b7b61428ba5d6a2f3965f"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"b493563ab3f5133eb12f5cb7c6aa03ac06c129ef","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    db_model \u003d pb_model.ProvisioningBlock"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    fields \u003d {"},{"line_number":27,"context_line":"        \u0027standard_attr_id\u0027: obj_fields.IntegerField(),"},{"line_number":28,"context_line":"        \u0027entity\u0027: obj_fields.StringField()"},{"line_number":29,"context_line":"    }"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1ac06dbe_cf4b905e","line":27,"range":{"start_line":27,"start_character":39,"end_line":27,"end_character":51},"updated":"2016-08-24 13:51:57.000000000","message":"More likely, this will require the creation of an additional field","commit_id":"792d28b1a4149f5a3c95650892a1129c2555d77d"},{"author":{"_account_id":20246,"name":"Aradhana Singh","email":"aradhanamailbox@gmail.com","username":"asingh"},"change_message_id":"15974e689d0e1a740159c27b9b1dbb0c740e00eb","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    primary_keys \u003d [\u0027standard_attr_id\u0027, \u0027entity\u0027]"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    foreign_keys \u003d {\u0027StandardAttribute\u0027: {\u0027standard_attr_id\u0027: \u0027id\u0027}}"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa7ab95a_49942e42","line":33,"range":{"start_line":33,"start_character":19,"end_line":33,"end_character":68},"updated":"2016-08-29 20:51:17.000000000","message":"it should be {\u0027StandardAttribute\u0027: {\u0027id\u0027 : \u0027standard_attr_id\u0027}}\nid attribute exists in standardattributes and standard_attr_id exists in provisioningblocks","commit_id":"c48c736eab8ca31575f01e8f68a8cb2be51b0cc5"},{"author":{"_account_id":22774,"name":"Shashank Kumar Shankar","email":"shashank.kumar.shankar@intel.com","username":"skshankar"},"change_message_id":"7dc2ac06cecf3d1c254766b8eed209d0baae359c","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    primary_keys \u003d [\u0027standard_attr_id\u0027, \u0027entity\u0027]"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    foreign_keys \u003d {\u0027StandardAttribute\u0027: {\u0027standard_attr_id\u0027: \u0027id\u0027}}"}],"source_content_type":"text/x-python","patch_set":7,"id":"fa7ab95a_64f03792","line":33,"range":{"start_line":33,"start_character":19,"end_line":33,"end_character":68},"in_reply_to":"fa7ab95a_49942e42","updated":"2016-08-29 21:14:27.000000000","message":"I was following the Security Group object [1]. In that, it is seen SecurityGroupRule object has \u0027security_group_id\u0027 Foreign Key pointing to SecurityGroup object \u0027id\u0027 Primary Key.  This is shown as \" foreign_keys \u003d {\u0027SecurityGroup\u0027: {\u0027security_group_id\u0027: \u0027id\u0027}}  \". \n\nSo the format I used is, foreign_keys \u003d {\u0027Other Class\u0027: {\u0027this class foreign key\u0027: \u0027other class primary key\u0027}} \n\n[1] - https://github.com/openstack/neutron/blob/master/neutron/objects/securitygroup.py","commit_id":"c48c736eab8ca31575f01e8f68a8cb2be51b0cc5"},{"author":{"_account_id":8726,"name":"Victor Morales","email":"chipahuac@hotmail.com","username":"electrocucaracha"},"change_message_id":"9ddc92e4c9319d10c0cceb980fa48273c46e6528","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    primary_keys \u003d [\u0027standard_attr_id\u0027, \u0027entity\u0027]"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    foreign_keys \u003d {\u0027StandardAttribute\u0027: {\u0027standard_attr_id\u0027: \u0027id\u0027}}"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a95cdbc_d8a8108f","line":34,"range":{"start_line":34,"start_character":4,"end_line":34,"end_character":68},"updated":"2016-10-07 14:51:20.000000000","message":"I noticed that we haven\u0027t considered StandardAttribute OVO in our list. Even though, this field is not required.  Foreign keys in OVO are used to populate synthetic fields the don\u0027t represent db foreign keys.","commit_id":"8461cdf1674a0632d97daef95e80954b150a0346"},{"author":{"_account_id":22774,"name":"Shashank Kumar Shankar","email":"shashank.kumar.shankar@intel.com","username":"skshankar"},"change_message_id":"8bcc6ece6fd583e929d9a6862bedbf0c2a55addd","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    primary_keys \u003d [\u0027standard_attr_id\u0027, \u0027entity\u0027]"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    foreign_keys \u003d {\u0027StandardAttribute\u0027: {\u0027standard_attr_id\u0027: \u0027id\u0027}}"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa6399be_fd0d6338","line":34,"range":{"start_line":34,"start_character":4,"end_line":34,"end_character":68},"in_reply_to":"1a95cdbc_500e5e8c","updated":"2016-10-10 19:20:40.000000000","message":"Done. Removed it.","commit_id":"8461cdf1674a0632d97daef95e80954b150a0346"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"f7145c53bc4f4e6c9ebe90304267f46241b30a1c","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    primary_keys \u003d [\u0027standard_attr_id\u0027, \u0027entity\u0027]"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    foreign_keys \u003d {\u0027StandardAttribute\u0027: {\u0027standard_attr_id\u0027: \u0027id\u0027}}"}],"source_content_type":"text/x-python","patch_set":17,"id":"1a95cdbc_500e5e8c","line":34,"range":{"start_line":34,"start_character":4,"end_line":34,"end_character":68},"in_reply_to":"1a95cdbc_d8a8108f","updated":"2016-10-10 12:05:05.000000000","message":"StandardAttribute is a special case, because the attributes are automagically loaded with DeclarativeObject and the standard attrs are declared and handled by neutron/db/standard_attr.py as declarative extensions. So here we need the standard_attr_id field as it reflects the relationship in DB, but it would not be used in OVO integration.\n\nIt can be removed.","commit_id":"8461cdf1674a0632d97daef95e80954b150a0346"}],"neutron/tests/unit/objects/test_base.py":[{"author":{"_account_id":22218,"name":"Sindhu Devale","email":"sindhu.devale@intel.com","username":"sindhudevale"},"change_message_id":"ecd1f3c4e27ed981449d9ce7085cf12a595b6d09","unresolved":false,"context_lines":[{"line_number":1217,"context_line":"            \u0027resource_type\u0027: tools.get_random_string(4),"},{"line_number":1218,"context_line":"            \u0027revision_number\u0027: tools.get_random_integer()"},{"line_number":1219,"context_line":"        }"},{"line_number":1220,"context_line":"        self._standard_attribute \u003d obj_db_api.create_object("},{"line_number":1221,"context_line":"            self.context,"},{"line_number":1222,"context_line":"            standard_attr.StandardAttribute,"},{"line_number":1223,"context_line":"            attrs)"}],"source_content_type":"text/x-python","patch_set":24,"id":"7a77a97e_b22977e8","line":1220,"updated":"2016-11-18 17:46:53.000000000","message":"Won\u0027t this be replaced by Standard attribute object in future?","commit_id":"bc8f9aa45ea467e8f1d2256f0cb34bd740e04fe4"},{"author":{"_account_id":22774,"name":"Shashank Kumar Shankar","email":"shashank.kumar.shankar@intel.com","username":"skshankar"},"change_message_id":"ee0f87030ea873192976ccfc825017562e76251e","unresolved":false,"context_lines":[{"line_number":1217,"context_line":"            \u0027resource_type\u0027: tools.get_random_string(4),"},{"line_number":1218,"context_line":"            \u0027revision_number\u0027: tools.get_random_integer()"},{"line_number":1219,"context_line":"        }"},{"line_number":1220,"context_line":"        self._standard_attribute \u003d obj_db_api.create_object("},{"line_number":1221,"context_line":"            self.context,"},{"line_number":1222,"context_line":"            standard_attr.StandardAttribute,"},{"line_number":1223,"context_line":"            attrs)"}],"source_content_type":"text/x-python","patch_set":24,"id":"7a77a97e_7fcdaa85","line":1220,"in_reply_to":"7a77a97e_b22977e8","updated":"2016-11-21 17:10:35.000000000","message":"The introduction of standard attribute object is still under discussion.","commit_id":"bc8f9aa45ea467e8f1d2256f0cb34bd740e04fe4"}],"neutron/tests/unit/objects/test_objects.py":[{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"fc77de86931c694c015d8f82ba6806685a18a35d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    \u0027QosMinimumBandwidthRule\u0027: \u00271.2-314c3419f4799067cc31cc319080adff\u0027,"},{"line_number":49,"context_line":"    \u0027QosRuleType\u0027: \u00271.2-e6fd08fcca152c339cbd5e9b94b1b8e7\u0027,"},{"line_number":50,"context_line":"    \u0027QosPolicy\u0027: \u00271.3-2eb3494f990acae59cb51381e7f99443\u0027,"},{"line_number":51,"context_line":"    \u0027ProvisioningBlock\u0027: \u00271.0-c19d6d05bfa8143533471c1296066125\u0027,"},{"line_number":52,"context_line":"    \u0027Route\u0027: \u00271.0-a9883a63b416126f9e345523ec09483b\u0027,"},{"line_number":53,"context_line":"    \u0027SecurityGroup\u0027: \u00271.0-e26b90c409b31fd2e3c6fcec402ac0b9\u0027,"},{"line_number":54,"context_line":"    \u0027SecurityGroupRule\u0027: \u00271.0-e9b8dace9d48b936c62ad40fe1f339d5\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a629dbe_8d74b568","line":51,"updated":"2016-11-09 16:18:56.000000000","message":"This should be moved to one line below PortSecurity so that it is in alphabetical order.","commit_id":"6c5c06da4e7596dbdc4339d806e9e85c3d061c74"},{"author":{"_account_id":22774,"name":"Shashank Kumar Shankar","email":"shashank.kumar.shankar@intel.com","username":"skshankar"},"change_message_id":"8081d047194a6c2ed324e9274a14162679184e65","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    \u0027QosMinimumBandwidthRule\u0027: \u00271.2-314c3419f4799067cc31cc319080adff\u0027,"},{"line_number":49,"context_line":"    \u0027QosRuleType\u0027: \u00271.2-e6fd08fcca152c339cbd5e9b94b1b8e7\u0027,"},{"line_number":50,"context_line":"    \u0027QosPolicy\u0027: \u00271.3-2eb3494f990acae59cb51381e7f99443\u0027,"},{"line_number":51,"context_line":"    \u0027ProvisioningBlock\u0027: \u00271.0-c19d6d05bfa8143533471c1296066125\u0027,"},{"line_number":52,"context_line":"    \u0027Route\u0027: \u00271.0-a9883a63b416126f9e345523ec09483b\u0027,"},{"line_number":53,"context_line":"    \u0027SecurityGroup\u0027: \u00271.0-e26b90c409b31fd2e3c6fcec402ac0b9\u0027,"},{"line_number":54,"context_line":"    \u0027SecurityGroupRule\u0027: \u00271.0-e9b8dace9d48b936c62ad40fe1f339d5\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a629dbe_e44aa325","line":51,"in_reply_to":"9a629dbe_8d74b568","updated":"2016-11-09 19:47:02.000000000","message":"Done","commit_id":"6c5c06da4e7596dbdc4339d806e9e85c3d061c74"},{"author":{"_account_id":15518,"name":"Artur Korzeniewski","email":"artur.korzen@wp.pl","username":"akorzeni"},"change_message_id":"1549715b9fcf8483a0f2a6eec1f815b0be8086d6","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    \u0027QosMinimumBandwidthRule\u0027: \u00271.2-314c3419f4799067cc31cc319080adff\u0027,"},{"line_number":49,"context_line":"    \u0027QosRuleType\u0027: \u00271.2-e6fd08fcca152c339cbd5e9b94b1b8e7\u0027,"},{"line_number":50,"context_line":"    \u0027QosPolicy\u0027: \u00271.3-2eb3494f990acae59cb51381e7f99443\u0027,"},{"line_number":51,"context_line":"    \u0027ProvisioningBlock\u0027: \u00271.0-c19d6d05bfa8143533471c1296066125\u0027,"},{"line_number":52,"context_line":"    \u0027Route\u0027: \u00271.0-a9883a63b416126f9e345523ec09483b\u0027,"},{"line_number":53,"context_line":"    \u0027RouterExtraAttributes\u0027: \u00271.0-ef8d61ae2864f0ec9af0ab7939cab318\u0027,"},{"line_number":54,"context_line":"    \u0027RouterRoute\u0027: \u00271.0-07fc5337c801fb8c6ccfbcc5afb45907\u0027,"}],"source_content_type":"text/x-python","patch_set":20,"id":"9a629dbe_2979bdc8","line":51,"range":{"start_line":51,"start_character":4,"end_line":51,"end_character":23},"updated":"2016-11-10 09:31:49.000000000","message":"It should be after PortSecurity.","commit_id":"e82e41eb04395af89be79df76c1db6015f133d12"}]}
