)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"85f4a4908f364858424188f390bf5bd46e117ce2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Reedip \u003creedip.banerjee@nectechnologies.in\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-03-30 07:15:56 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add name and desc to ml2_network_segments table"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Note: Name and Description do not have the check for Nullable"},{"line_number":10,"context_line":"as by default, they would have a value of \u0027\u0027 , if no information"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ba0121b8_26bb0310","line":7,"range":{"start_line":7,"start_character":21,"end_line":7,"end_character":41},"updated":"2016-03-30 11:13:30.000000000","message":"The table is now named networksegments. See https://review.openstack.org/242393","commit_id":"3780933d33c4a82e48b4aec4a1e94d0636468f1a"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"2cb62fdb994320c083ae1e879a0297357c12c32a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Reedip \u003creedip.banerjee@nectechnologies.in\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-03-30 07:15:56 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add name and desc to ml2_network_segments table"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Note: Name and Description do not have the check for Nullable"},{"line_number":10,"context_line":"as by default, they would have a value of \u0027\u0027 , if no information"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ba0121b8_c49c915f","line":7,"range":{"start_line":7,"start_character":21,"end_line":7,"end_character":41},"in_reply_to":"ba0121b8_26bb0310","updated":"2016-03-31 00:42:54.000000000","message":"okay.......","commit_id":"3780933d33c4a82e48b4aec4a1e94d0636468f1a"},{"author":{"_account_id":20863,"name":"Sharat Sharma","email":"sharat.sharma@in.ibm.com","username":"sharat.sharma"},"change_message_id":"926d3df5b7b7ce839e1ac58cf9e655e01ebf4c70","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     reedip \u003creedip.banerjee@nectechnologies.in\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-03-31 11:11:50 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add name and desc to networksegments table"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Note: Name and Description do not have the check for Nullable"},{"line_number":10,"context_line":"as by default, they would have a value of \u0027\u0027 , if no information"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"ba0121b8_5072e511","line":7,"range":{"start_line":7,"start_character":21,"end_line":7,"end_character":36},"updated":"2016-03-31 12:12:57.000000000","message":"space between network and segments","commit_id":"cc3b553d61792f1ea16de07ba82065b458d87973"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"244651b86b809a16a43e1e75c1d63e9b9d2716c2","unresolved":false,"context_lines":[{"line_number":11,"context_line":"is passed to them. Need some discussion here, to avoid changing 1063"},{"line_number":12,"context_line":"test cases failing because of the NOT NULL condition for name and desc"},{"line_number":13,"context_line":"in the networksegments table."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I7edc224e25e604dfd7613b945a4ca16d9e385760"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9a061dce_9ccd1c60","line":14,"updated":"2016-04-05 12:50:26.000000000","message":"Please add blueprint routed-networks to the commit message.","commit_id":"cc3b553d61792f1ea16de07ba82065b458d87973"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"00a8fbb903a4af643b59ef9387f692ea742b8465","unresolved":false,"context_lines":[{"line_number":11,"context_line":"is passed to them. Need some discussion here, to avoid changing 1063"},{"line_number":12,"context_line":"test cases failing because of the NOT NULL condition for name and desc"},{"line_number":13,"context_line":"in the networksegments table."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I7edc224e25e604dfd7613b945a4ca16d9e385760"},{"line_number":16,"context_line":"Implements: blueprint routed-networks"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9a061dce_3d27a065","line":14,"updated":"2016-04-05 15:33:19.000000000","message":"Please add DocImpact and APIImpact\n\nDue to the fact that this is a user facing API change we at least need a release note","commit_id":"551faa6df65c6edaa2baf664fc774862e2a26b1c"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"2028a8c19fb1a43f597b1ae7db593c0e090cb81e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"DocImpact"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I7edc224e25e604dfd7613b945a4ca16d9e385760"},{"line_number":19,"context_line":"Implements: blueprint routed-networks"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":25,"id":"3aaa91ec_0dde9810","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":10},"updated":"2016-06-30 11:59:14.000000000","message":"Partially-Implements","commit_id":"4461aba77ac37ae4150d5e4d3754254170c6f715"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"74fb1d0e8ccdedd1c0a6863689eb62b6f774bc5c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add name and desc to networksegments table"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Note: Name and Description do not have the check for Nullable"},{"line_number":10,"context_line":"as by default, they would have a value of \u0027\u0027 , if no information"},{"line_number":11,"context_line":"is passed to them. Need some discussion here, to avoid changing 1063"},{"line_number":12,"context_line":"test cases failing because of the NOT NULL condition for name and desc"},{"line_number":13,"context_line":"in the networksegments table."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":36,"id":"1ac06dbe_9ca95493","line":10,"range":{"start_line":9,"start_character":6,"end_line":10,"end_character":13},"updated":"2016-08-22 20:40:21.000000000","message":"I don\u0027t understand this statement. As far as I know, it should be fine for a segment to have a null name and description and I\u0027d rather \u0027\u0027 (empty string) not be the default for new segments. I\u0027d prefer it have no default and use null in the database if it isn\u0027t specified.","commit_id":"7e3b1fa8ab61104833e9539370ca5d6944b8c7f2"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"3c39b0fd9371cebea5573936c47e2c3afe77a118","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add name and desc to networksegments table"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Note: Name and Description do not have the check for Nullable"},{"line_number":10,"context_line":"as by default, they would have a value of \u0027\u0027 , if no information"},{"line_number":11,"context_line":"is passed to them. Need some discussion here, to avoid changing 1063"},{"line_number":12,"context_line":"test cases failing because of the NOT NULL condition for name and desc"},{"line_number":13,"context_line":"in the networksegments table."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":36,"id":"1ac06dbe_b128a987","line":10,"range":{"start_line":9,"start_character":6,"end_line":10,"end_character":13},"in_reply_to":"1ac06dbe_9ca95493","updated":"2016-08-23 04:06:58.000000000","message":"I found it troubling in the migrations. Let me check it once again.","commit_id":"7e3b1fa8ab61104833e9539370ca5d6944b8c7f2"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"eeb03c2b228d032dc57087054d294b25ec6be0ce","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch adds the name and description column to the"},{"line_number":10,"context_line":"networksegments table."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"APIImpact"},{"line_number":13,"context_line":"DocImpact"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I7edc224e25e604dfd7613b945a4ca16d9e385760"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":45,"id":"fa7ab95a_0571d4e0","line":12,"updated":"2016-08-30 23:46:55.000000000","message":"If this is not being released what\u0027s the point of the APIImpact?","commit_id":"f244b85a59b9ccf1919a49b91254eb1465f5f4e7"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"eeb03c2b228d032dc57087054d294b25ec6be0ce","unresolved":false,"context_lines":[{"line_number":10,"context_line":"networksegments table."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"APIImpact"},{"line_number":13,"context_line":"DocImpact"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I7edc224e25e604dfd7613b945a4ca16d9e385760"},{"line_number":16,"context_line":"Partially-Implements: blueprint routed-networks"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":45,"id":"fa7ab95a_a5610814","line":13,"updated":"2016-08-30 23:46:55.000000000","message":"DocImpact tag take a one line explaination.","commit_id":"f244b85a59b9ccf1919a49b91254eb1465f5f4e7"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"4b5cf5d8e4f44ea6c95bd94c63cf8f83469aa61a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"networksegments table."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"APIImpact"},{"line_number":13,"context_line":"DocImpact"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I7edc224e25e604dfd7613b945a4ca16d9e385760"},{"line_number":16,"context_line":"Partially-Implements: blueprint routed-networks"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":45,"id":"fa7ab95a_0548f486","line":13,"in_reply_to":"fa7ab95a_a5610814","updated":"2016-08-30 23:47:40.000000000","message":"Though I am argue the value for this. If we need to document this new API why do we trigger the creation of yet another doc bug, which might as well end up being duplicated?","commit_id":"f244b85a59b9ccf1919a49b91254eb1465f5f4e7"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"d79d9a16670c44e8be507f1a7515efe0eeaa2496","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch adds the name and description column to the"},{"line_number":10,"context_line":"networksegments table."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":"This patch adds the name and description to the networksegments"},{"line_number":14,"context_line":"table."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":47,"id":"fa7ab95a_023eedb7","line":12,"updated":"2016-08-31 17:50:33.000000000","message":"Per armando\u0027s comment, we need to take this out to avoid creating a doc bug.","commit_id":"d508c868c107930e16c8f5acc918b1515de5a2a7"}],"neutron/db/migration/alembic_migrations/versions/newton/contract/97c25b0d2353_add_name_desc.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"6fcd22e5b2d647f16071d46b79028d586cdeb384","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027description\u0027,"},{"line_number":39,"context_line":"                            sa.String(255),"},{"line_number":40,"context_line":"                            nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":28,"id":"1aa78d24_37698126","line":40,"updated":"2016-07-05 10:49:00.000000000","message":"As you have add_column in contract branch you need to add exception block:\n\n   def contract_creation_exceptions():\n       return {\n        sa.Column: [\u0027networksegments.name\u0027]\n        sa.Column: [\u0027networksegments.description\u0027]\n    }","commit_id":"f73d7da3550e044569b6a925f26823e784c718a4"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"32083c52cd383d3bf27cb57421b694dc1b7ff05c","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027description\u0027,"},{"line_number":39,"context_line":"                            sa.String(255),"},{"line_number":40,"context_line":"                            nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":28,"id":"1aa78d24_c9d97485","line":40,"in_reply_to":"1aa78d24_37698126","updated":"2016-07-05 15:24:01.000000000","message":"Ann, \nCan you explain to me why is this required?\nOr point me to the appropriate section in the doc?\nThis is something interesting to understand. Thanks for your continued support.","commit_id":"f73d7da3550e044569b6a925f26823e784c718a4"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"7df4615fa0d9c52896611858d9521d5e9dd44172","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027description\u0027,"},{"line_number":39,"context_line":"                            sa.String(255),"},{"line_number":40,"context_line":"                            nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":28,"id":"1aa78d24_0f54ee50","line":40,"in_reply_to":"1aa78d24_5c27fbb5","updated":"2016-07-06 11:17:08.000000000","message":"Yeah, that would be helpful.","commit_id":"f73d7da3550e044569b6a925f26823e784c718a4"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"f97da0f16d9232b761e0233b0ac231698af7bbd9","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027description\u0027,"},{"line_number":39,"context_line":"                            sa.String(255),"},{"line_number":40,"context_line":"                            nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":28,"id":"1aa78d24_5c27fbb5","line":40,"in_reply_to":"1aa78d24_c9d97485","updated":"2016-07-05 16:45:23.000000000","message":"This is just needed for testing, you can see test_branches failed on your change. We don\u0027t have this in doc yet, I will add info about it ASAP","commit_id":"f73d7da3550e044569b6a925f26823e784c718a4"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"ab752e185c2b9870a581eb5aab3f903c56bde187","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":29,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(255),"},{"line_number":30,"context_line":"                            nullable\u003dTrue))"},{"line_number":31,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":32,"context_line":"                  sa.Column(\u0027description\u0027,"},{"line_number":33,"context_line":"                            sa.String(255),"},{"line_number":34,"context_line":"                            nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":34,"id":"9ad45d7e_fd567d5a","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":36},"updated":"2016-08-10 15:23:26.000000000","message":"add this column in model as well","commit_id":"165c2a4c042211006305b21def468746258a4794"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"694b595b553ff871175c8af2037b269ec243255d","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":29,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(255),"},{"line_number":30,"context_line":"                            nullable\u003dTrue))"},{"line_number":31,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":32,"context_line":"                  sa.Column(\u0027description\u0027,"},{"line_number":33,"context_line":"                            sa.String(255),"},{"line_number":34,"context_line":"                            nullable\u003dTrue))"}],"source_content_type":"text/x-python","patch_set":34,"id":"9ad45d7e_3b70d3a3","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":36},"in_reply_to":"9ad45d7e_fd567d5a","updated":"2016-08-11 18:20:16.000000000","message":"This column is in the standard attributes. So, we just need to add that.","commit_id":"165c2a4c042211006305b21def468746258a4794"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"74fb1d0e8ccdedd1c0a6863689eb62b6f774bc5c","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":29,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(255),"},{"line_number":30,"context_line":"                            nullable\u003dTrue))"},{"line_number":31,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":32,"context_line":"                  sa.Column(\u0027standard_attr_id\u0027, sa.BigInteger(),"},{"line_number":33,"context_line":"                            nullable\u003dFalse))"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"1ac06dbe_7ccd78b6","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":36},"updated":"2016-08-22 20:40:21.000000000","message":"I just happened to talk about this with Kevin Benton at the mid-cycle last week. We talked through how to do this migration to add the standard attributes to this table. He also gave me an example of one other place where this is being done for qos [1]. It would be good if you could make this one look like that one to ensure that we get the migration correct.\n\n [1] https://review.openstack.org/#/c/357228","commit_id":"7e3b1fa8ab61104833e9539370ca5d6944b8c7f2"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9749be3992655b94ca7cc1dbd0fe89897f369f23","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":29,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(255),"},{"line_number":30,"context_line":"                            nullable\u003dTrue))"},{"line_number":31,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":32,"context_line":"                  sa.Column(\u0027standard_attr_id\u0027, sa.BigInteger(),"},{"line_number":33,"context_line":"                            nullable\u003dFalse))"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"1ac06dbe_711c716a","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":36},"in_reply_to":"1ac06dbe_6e577026","updated":"2016-08-23 04:12:46.000000000","message":"networksegments is not a new table in Newton. It will have pre-existing entries. It has been around for a while. It started as part of ML2 and then we moved it to the core DB model (see depends on migration) to make it available for any plugin.\n\nSegments existing in ML2 before we made them a first class API resource in Newton. So, unfortunately, we may already have records in the table.","commit_id":"7e3b1fa8ab61104833e9539370ca5d6944b8c7f2"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"2c2b25bba57be3fed4dd6be3d91e8802eaf416d4","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":29,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(255),"},{"line_number":30,"context_line":"                            nullable\u003dTrue))"},{"line_number":31,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":32,"context_line":"                  sa.Column(\u0027standard_attr_id\u0027, sa.BigInteger(),"},{"line_number":33,"context_line":"                            nullable\u003dFalse))"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"1ac06dbe_6e577026","line":31,"range":{"start_line":31,"start_character":4,"end_line":31,"end_character":36},"in_reply_to":"1ac06dbe_7ccd78b6","updated":"2016-08-23 04:04:00.000000000","message":"Hi Carl, \nCorrect me if I am wrong, but I guess the networksegments is a new table , so it would not have any pre-existing data in the tables.\nTherefore , I think I need to make it similar to https://review.openstack.org/#/c/357228/4/neutron/db/migration/alembic_migrations/versions/newton/expand/67daae611b6e_add_standard_attr_to_qos_policies.py\n\nIf so, then I guess this file is already similar ( except the addition of the name column)","commit_id":"7e3b1fa8ab61104833e9539370ca5d6944b8c7f2"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"74fb1d0e8ccdedd1c0a6863689eb62b6f774bc5c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                            nullable\u003dFalse))"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def contract_creation_exceptions():"},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":"    Return create exceptions."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"1ac06dbe_3c3e608c","line":36,"range":{"start_line":36,"start_character":4,"end_line":36,"end_character":32},"updated":"2016-08-22 20:40:21.000000000","message":"Why is this a contract migration in the first place? See Kevin\u0027s patch that I linked above.","commit_id":"7e3b1fa8ab61104833e9539370ca5d6944b8c7f2"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"2c2b25bba57be3fed4dd6be3d91e8802eaf416d4","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                            nullable\u003dFalse))"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def contract_creation_exceptions():"},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":"    Return create exceptions."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"1ac06dbe_6e2e50a6","line":36,"range":{"start_line":36,"start_character":4,"end_line":36,"end_character":32},"in_reply_to":"1ac06dbe_3c3e608c","updated":"2016-08-23 04:04:00.000000000","message":"This is contract migration because of the depedant migration. The same has been mentioned in some earlier comments in this patch.","commit_id":"7e3b1fa8ab61104833e9539370ca5d6944b8c7f2"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"9749be3992655b94ca7cc1dbd0fe89897f369f23","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                            nullable\u003dFalse))"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def contract_creation_exceptions():"},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":"    Return create exceptions."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":36,"id":"1ac06dbe_714ab156","line":36,"range":{"start_line":36,"start_character":4,"end_line":36,"end_character":32},"in_reply_to":"1ac06dbe_6e2e50a6","updated":"2016-08-23 04:12:46.000000000","message":"Sorry, I have too many things to keep in my head. I do remember this now. A comment to explain that right here would help me, other reviewers, and future code maintainers to know this and not forget.","commit_id":"7e3b1fa8ab61104833e9539370ca5d6944b8c7f2"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"37c1f80641f40ff0e0b91f1f5b386dbf34c694ed","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"TBL_MODEL \u003d sa.Table(TBL, sa.MetaData(),"},{"line_number":36,"context_line":"                     sa.Column(\u0027id\u0027, sa.String(length\u003d36), nullable\u003dFalse),"},{"line_number":37,"context_line":"                     sa.Column(\u0027description\u0027, sa.String(length\u003d255),"},{"line_number":38,"context_line":"                               nullable\u003dTrue),"},{"line_number":39,"context_line":"                     sa.Column(\u0027standard_attr_id\u0027, sa.BigInteger(),"},{"line_number":40,"context_line":"                               nullable\u003dTrue))"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":40,"id":"fa7ab95a_c2614caa","line":38,"range":{"start_line":37,"start_character":0,"end_line":38,"end_character":46},"updated":"2016-08-29 23:28:02.000000000","message":"I don\u0027t think you need this.","commit_id":"6947762dc286c7dc6397ce523c7bf6285098d96a"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"37c1f80641f40ff0e0b91f1f5b386dbf34c694ed","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    op.add_column(TBL,"},{"line_number":75,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(255),"},{"line_number":76,"context_line":"                            nullable\u003dTrue))"},{"line_number":77,"context_line":"    op.add_column(TBL,"},{"line_number":78,"context_line":"                  sa.Column(\u0027description\u0027, sa.String(255),"},{"line_number":79,"context_line":"                            nullable\u003dTrue))"},{"line_number":80,"context_line":"    update_existing_records()"},{"line_number":81,"context_line":"    # add the constraint now that everything is populated on that table"},{"line_number":82,"context_line":"    op.create_foreign_key("}],"source_content_type":"text/x-python","patch_set":40,"id":"fa7ab95a_02ced4b3","line":79,"range":{"start_line":77,"start_character":0,"end_line":79,"end_character":43},"updated":"2016-08-29 23:28:02.000000000","message":"I don\u0027t think you need this.","commit_id":"6947762dc286c7dc6397ce523c7bf6285098d96a"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"37c1f80641f40ff0e0b91f1f5b386dbf34c694ed","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    op.create_unique_constraint("},{"line_number":91,"context_line":"        constraint_name\u003d\u0027uniq_%s0standard_attr_id\u0027 % TBL,"},{"line_number":92,"context_line":"        table_name\u003dTBL, columns\u003d[\u0027standard_attr_id\u0027])"},{"line_number":93,"context_line":"    op.drop_column(TBL, \u0027description\u0027)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"def contract_creation_exceptions():"}],"source_content_type":"text/x-python","patch_set":40,"id":"fa7ab95a_42c0dc7c","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":38},"updated":"2016-08-29 23:28:02.000000000","message":"I don\u0027t think you need this.","commit_id":"6947762dc286c7dc6397ce523c7bf6285098d96a"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"37c1f80641f40ff0e0b91f1f5b386dbf34c694ed","unresolved":false,"context_lines":[{"line_number":102,"context_line":"    \"\"\""},{"line_number":103,"context_line":"    return {"},{"line_number":104,"context_line":"        sa.Column: [\u0027networksegments.name\u0027],"},{"line_number":105,"context_line":"        sa.Column: [\u0027networksegments.description\u0027]"},{"line_number":106,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":40,"id":"fa7ab95a_42f53cc9","line":105,"range":{"start_line":105,"start_character":0,"end_line":105,"end_character":50},"updated":"2016-08-29 23:28:02.000000000","message":"I don\u0027t think you need this.","commit_id":"6947762dc286c7dc6397ce523c7bf6285098d96a"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"7344e1af700cdcbf660a8c842e2e7d0d10841551","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            #pylint: disable\u003dno-value-for-parameter"},{"line_number":55,"context_line":"            res \u003d session.execute("},{"line_number":56,"context_line":"                standardattrs.insert().values(resource_type\u003dTBL,"},{"line_number":57,"context_line":"                                              description\u003drow[1])"},{"line_number":58,"context_line":"            )"},{"line_number":59,"context_line":"            session.execute("},{"line_number":60,"context_line":"                TBL_MODEL.update().values("}],"source_content_type":"text/x-python","patch_set":43,"id":"fa7ab95a_97be0cac","line":57,"range":{"start_line":57,"start_character":46,"end_line":57,"end_character":57},"updated":"2016-08-30 18:08:11.000000000","message":"I think this is the problem. it is saying that the *existing* description can be found in row of the result. But, we don\u0027t have an existing description. So, I think we can just remove this argument.","commit_id":"b540ffcc9b437a210f0f6d8b29d63713f42ef889"}],"neutron/db/migration/alembic_migrations/versions/newton/expand/97c25b0d2353_add-name-desc-ml2.py":[{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"3a9f8c7d791d0249dcad04e590421407489c402c","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def upgrade():"},{"line_number":33,"context_line":"    op.add_column(\u0027ml2_network_segments\u0027,"},{"line_number":34,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(), nullable\u003dFalse))"},{"line_number":35,"context_line":"    op.add_column(\u0027ml2_network_segments\u0027,"},{"line_number":36,"context_line":"                  sa.Column(\u0027description\u0027, sa.String(), nullable\u003dFalse))"}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_bb2cfe02","line":34,"range":{"start_line":34,"start_character":45,"end_line":34,"end_character":48},"updated":"2016-03-18 00:21:30.000000000","message":"need to specify the length here","commit_id":"43afcafed6a7c6716d2b5f0654102ea7116deb66"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"3a9f8c7d791d0249dcad04e590421407489c402c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    op.add_column(\u0027ml2_network_segments\u0027,"},{"line_number":34,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(), nullable\u003dFalse))"},{"line_number":35,"context_line":"    op.add_column(\u0027ml2_network_segments\u0027,"},{"line_number":36,"context_line":"                  sa.Column(\u0027description\u0027, sa.String(), nullable\u003dFalse))"}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_fb32065d","line":36,"range":{"start_line":36,"start_character":52,"end_line":36,"end_character":55},"updated":"2016-03-18 00:21:30.000000000","message":"ditto","commit_id":"43afcafed6a7c6716d2b5f0654102ea7116deb66"}],"neutron/db/migration/alembic_migrations/versions/newton/expand/97c25b0d2353_add_name_desc.py":[{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"f474fb6a2265e49578703d8829f410eabe3dfb22","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def upgrade():"},{"line_number":33,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":34,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(255),"},{"line_number":35,"context_line":"                  server_default\u003d\u0027\u0027))"},{"line_number":36,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":37,"context_line":"                  sa.Column(\u0027description\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_65b30dea","line":34,"range":{"start_line":34,"start_character":46,"end_line":34,"end_character":49},"updated":"2016-04-19 14:33:26.000000000","message":"Shouldn\u0027t we use attributes.NAME_MAX_LEN here instead?","commit_id":"9e4195d9f3a6b956f39b6489bd34d725a6c88300"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"767292c234beb07aa6e6b064a3693f05c2f827de","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def upgrade():"},{"line_number":33,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":34,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(255),"},{"line_number":35,"context_line":"                  server_default\u003d\u0027\u0027))"},{"line_number":36,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":37,"context_line":"                  sa.Column(\u0027description\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_e0742b69","line":34,"range":{"start_line":34,"start_character":46,"end_line":34,"end_character":49},"in_reply_to":"1a122d0e_65b30dea","updated":"2016-04-19 14:37:03.000000000","message":"Can be done...","commit_id":"9e4195d9f3a6b956f39b6489bd34d725a6c88300"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"f474fb6a2265e49578703d8829f410eabe3dfb22","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                  server_default\u003d\u0027\u0027))"},{"line_number":36,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":37,"context_line":"                  sa.Column(\u0027description\u0027,"},{"line_number":38,"context_line":"                  sa.String(255),"},{"line_number":39,"context_line":"                  server_default\u003d\u0027\u0027))"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_e5bf1da8","line":38,"range":{"start_line":38,"start_character":28,"end_line":38,"end_character":31},"updated":"2016-04-19 14:33:26.000000000","message":"Shouldn\u0027t we use attributes.DESCRIPTION_MAX_LEN here?","commit_id":"9e4195d9f3a6b956f39b6489bd34d725a6c88300"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"7661084544a0e10077c95f04e11fd06e6c93cf1f","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# revision identifiers, used by Alembic."},{"line_number":25,"context_line":"revision \u003d \u002797c25b0d2353\u0027"},{"line_number":26,"context_line":"down_revision \u003d \u002730107ab6a3ee\u0027"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"from alembic import op"},{"line_number":29,"context_line":"import sqlalchemy as sa"}],"source_content_type":"text/x-python","patch_set":16,"id":"7aa08908_c5efeee7","line":26,"range":{"start_line":26,"start_character":17,"end_line":26,"end_character":29},"updated":"2016-06-15 13:25:10.000000000","message":"This needs updating to the previous expand head (currently c415aab1c048).","commit_id":"83556b28cbda568dc923ea5706a2835d6d8ff1cc"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"1f7388477b44f12b0a620b4864612f212cf3d59e","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade():"},{"line_number":34,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":35,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(attrs.NAME_MAX_LEN),"},{"line_number":36,"context_line":"                  server_default\u003d\u0027\u0027))"},{"line_number":37,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027description\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"5a9d85d2_0f2705cb","line":35,"range":{"start_line":35,"start_character":52,"end_line":35,"end_character":64},"updated":"2016-06-21 14:36:54.000000000","message":"I would suggest you to use number, as if by accident this constant changed this migration will work differently and we will have inconsistency.","commit_id":"845010e7e4144f1b8e522c69f9c071edb3e8373d"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"b69fcd6bd5fade35406dd1a6dd95ec6c849fd54d","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade():"},{"line_number":34,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":35,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(attrs.NAME_MAX_LEN),"},{"line_number":36,"context_line":"                  server_default\u003d\u0027\u0027))"},{"line_number":37,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027description\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"3aaa91ec_dff7ab8a","line":35,"range":{"start_line":35,"start_character":52,"end_line":35,"end_character":64},"in_reply_to":"3aaa91ec_c99292f5","updated":"2016-06-27 23:27:36.000000000","message":"Short answer: I suggest you follow Ann\u0027s advice.\n\nLong answer: The \"constants\" in neutron.api.v2.attributes are not clearly designated as fixed constants for DB field sizes. I plan to add fixed, permanent constants for field sizes to neutron-lib in the near future. Until that is available, let\u0027s use numbers in alembic scripts.","commit_id":"845010e7e4144f1b8e522c69f9c071edb3e8373d"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"f4360c8991c404e5c241afdb4a406628768665bd","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade():"},{"line_number":34,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":35,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(attrs.NAME_MAX_LEN),"},{"line_number":36,"context_line":"                  server_default\u003d\u0027\u0027))"},{"line_number":37,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027description\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"3aaa91ec_c99292f5","line":35,"range":{"start_line":35,"start_character":52,"end_line":35,"end_character":64},"in_reply_to":"5a9d85d2_0f2705cb","updated":"2016-06-27 09:26:50.000000000","message":"Wont it affect all the columns using this constant, equally?","commit_id":"845010e7e4144f1b8e522c69f9c071edb3e8373d"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"2028a8c19fb1a43f597b1ae7db593c0e090cb81e","unresolved":false,"context_lines":[{"line_number":24,"context_line":"# revision identifiers, used by Alembic."},{"line_number":25,"context_line":"revision \u003d \u002797c25b0d2353\u0027"},{"line_number":26,"context_line":"down_revision \u003d \u0027c415aab1c048\u0027"},{"line_number":27,"context_line":"depends_on \u003d (\u002789ab9a816d70\u0027,)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from alembic import op"},{"line_number":30,"context_line":"import sqlalchemy as sa"}],"source_content_type":"text/x-python","patch_set":25,"id":"3aaa91ec_cd1770ec","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":30},"updated":"2016-06-30 11:59:14.000000000","message":"Is this necessary? The docs seem to suggest this is only needed for a contract that depends on an expand http://docs.openstack.org/developer/neutron/devref/alembic_migrations.html#expand-and-contract-scripts","commit_id":"4461aba77ac37ae4150d5e4d3754254170c6f715"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"457fa9849bf224565180ee5cd4bda7ec9adc3d36","unresolved":false,"context_lines":[{"line_number":24,"context_line":"# revision identifiers, used by Alembic."},{"line_number":25,"context_line":"revision \u003d \u002797c25b0d2353\u0027"},{"line_number":26,"context_line":"down_revision \u003d \u0027c415aab1c048\u0027"},{"line_number":27,"context_line":"depends_on \u003d (\u002789ab9a816d70\u0027,)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from alembic import op"},{"line_number":30,"context_line":"import sqlalchemy as sa"}],"source_content_type":"text/x-python","patch_set":25,"id":"3aaa91ec_ede321a2","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":30},"in_reply_to":"3aaa91ec_cd1770ec","updated":"2016-07-05 04:52:40.000000000","message":"As expand scripts work before contract, therefore , the guide mentions it that way.\nHowever, in our case, the contract script made the changes related to the table name, before the expand script was created.\n\nThis resulted in this script depending on the contract script which performs renaming.\n\nI hope Ihar or other Upgrade-related Wizards can help me out in this case","commit_id":"4461aba77ac37ae4150d5e4d3754254170c6f715"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"2028a8c19fb1a43f597b1ae7db593c0e090cb81e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"def upgrade():"},{"line_number":34,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":35,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(255),"},{"line_number":36,"context_line":"                  server_default\u003d\u0027\u0027))"},{"line_number":37,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027description\u0027,"},{"line_number":39,"context_line":"                  sa.String(255),"}],"source_content_type":"text/x-python","patch_set":25,"id":"3aaa91ec_edeeac20","line":36,"updated":"2016-06-30 11:59:14.000000000","message":"This line should be indented to line up with \u0027name\u0027 on the line above","commit_id":"4461aba77ac37ae4150d5e4d3754254170c6f715"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"2028a8c19fb1a43f597b1ae7db593c0e090cb81e","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                  server_default\u003d\u0027\u0027))"},{"line_number":37,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027description\u0027,"},{"line_number":39,"context_line":"                  sa.String(255),"},{"line_number":40,"context_line":"                  server_default\u003d\u0027\u0027))"}],"source_content_type":"text/x-python","patch_set":25,"id":"3aaa91ec_4dc70098","line":39,"updated":"2016-06-30 11:59:14.000000000","message":"This line should be indented to line up with \u0027description\u0027 on the line above","commit_id":"4461aba77ac37ae4150d5e4d3754254170c6f715"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"2028a8c19fb1a43f597b1ae7db593c0e090cb81e","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027description\u0027,"},{"line_number":39,"context_line":"                  sa.String(255),"},{"line_number":40,"context_line":"                  server_default\u003d\u0027\u0027))"}],"source_content_type":"text/x-python","patch_set":25,"id":"3aaa91ec_2dcc34ba","line":40,"updated":"2016-06-30 11:59:14.000000000","message":"ditto","commit_id":"4461aba77ac37ae4150d5e4d3754254170c6f715"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"92cf030b611025d8a69c2438ab01750bf2d621e1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"1aa78d24_23d96722","updated":"2016-07-04 15:56:00.000000000","message":"This migration must go in the contract branch because it depends on networksegments, which was renamed in the contract branch (see migration 89ab9a816d70).\n\nNote: The same reason affected migrations 8fd3918ef6f4 and c879c5e1ee90.","commit_id":"583a21e18fe650628d3923a6f81407f4607de69d"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"b0f38a6449912bf700fba85d008bc9a9d4c39f4a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"1aa78d24_9e1b321b","in_reply_to":"1aa78d24_23d96722","updated":"2016-07-05 09:40:17.000000000","message":"Done","commit_id":"583a21e18fe650628d3923a6f81407f4607de69d"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"3de38e53e5305f59491b83cc523b0c28c518674d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"def upgrade():"},{"line_number":34,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":35,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(255),"},{"line_number":36,"context_line":"                            server_default\u003d\u0027\u0027))"},{"line_number":37,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027description\u0027,"},{"line_number":39,"context_line":"                            sa.String(255),"}],"source_content_type":"text/x-python","patch_set":26,"id":"3aaa91ec_f1d129cd","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":47},"updated":"2016-07-01 10:59:47.000000000","message":"Why are we using server_default\u003d\u0027\u0027 instead of nullable\u003dTrue as with names of other models? I don\u0027t see a reason why a segment would be required to have a name/description.","commit_id":"583a21e18fe650628d3923a6f81407f4607de69d"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"b0f38a6449912bf700fba85d008bc9a9d4c39f4a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"def upgrade():"},{"line_number":34,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":35,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(255),"},{"line_number":36,"context_line":"                            server_default\u003d\u0027\u0027))"},{"line_number":37,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027description\u0027,"},{"line_number":39,"context_line":"                            sa.String(255),"}],"source_content_type":"text/x-python","patch_set":26,"id":"1aa78d24_7e1646f2","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":47},"in_reply_to":"3aaa91ec_f1d129cd","updated":"2016-07-05 09:40:17.000000000","message":"Done","commit_id":"583a21e18fe650628d3923a6f81407f4607de69d"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"3de38e53e5305f59491b83cc523b0c28c518674d","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027description\u0027,"},{"line_number":39,"context_line":"                            sa.String(255),"},{"line_number":40,"context_line":"                            server_default\u003d\u0027\u0027))"}],"source_content_type":"text/x-python","patch_set":26,"id":"3aaa91ec_f1e8097d","line":40,"range":{"start_line":40,"start_character":28,"end_line":40,"end_character":42},"updated":"2016-07-01 10:59:47.000000000","message":"ditto","commit_id":"583a21e18fe650628d3923a6f81407f4607de69d"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"b0f38a6449912bf700fba85d008bc9a9d4c39f4a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027description\u0027,"},{"line_number":39,"context_line":"                            sa.String(255),"},{"line_number":40,"context_line":"                            server_default\u003d\u0027\u0027))"}],"source_content_type":"text/x-python","patch_set":26,"id":"1aa78d24_ded3fa36","line":40,"range":{"start_line":40,"start_character":28,"end_line":40,"end_character":42},"in_reply_to":"3aaa91ec_f1e8097d","updated":"2016-07-05 09:40:17.000000000","message":"Done","commit_id":"583a21e18fe650628d3923a6f81407f4607de69d"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"6fcd22e5b2d647f16071d46b79028d586cdeb384","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2016 NEC Technologies Limited"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":28,"id":"1aa78d24_77e1499a","line":1,"updated":"2016-07-05 10:49:00.000000000","message":"you don\u0027t need this migration","commit_id":"f73d7da3550e044569b6a925f26823e784c718a4"}],"neutron/db/migration/alembic_migrations/versions/newton/expand/97c25b0d2353_add_name_desc_ml2.py":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"400a433eadc52041f0f430d77c4fe1657d7c7c85","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ba0121b8_5f8b1868","updated":"2016-03-31 11:14:26.000000000","message":"Nit: rename this file so it does not contain \"ml2\".","commit_id":"cc3b553d61792f1ea16de07ba82065b458d87973"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"f7a1615bf8ee41bcf281ff1dea77bb1062529ac0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"9a061dce_3cd4a745","in_reply_to":"ba0121b8_5f8b1868","updated":"2016-04-06 04:35:25.000000000","message":"Yeah... got it\nThanks Henry","commit_id":"cc3b553d61792f1ea16de07ba82065b458d87973"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"00f8c47570664f67affdec027110c69f12252065","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def upgrade():"},{"line_number":33,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":34,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(255),"},{"line_number":35,"context_line":"                  nullable\u003dFalse))"},{"line_number":36,"context_line":"    op.add_column(\u0027networksegments\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba0121b8_7f741c35","line":33,"updated":"2016-03-31 11:19:51.000000000","message":"What about setting server_default\u003d\u0027\u0027?","commit_id":"cc3b553d61792f1ea16de07ba82065b458d87973"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"f7a1615bf8ee41bcf281ff1dea77bb1062529ac0","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def upgrade():"},{"line_number":33,"context_line":"    op.add_column(\u0027networksegments\u0027,"},{"line_number":34,"context_line":"                  sa.Column(\u0027name\u0027, sa.String(255),"},{"line_number":35,"context_line":"                  nullable\u003dFalse))"},{"line_number":36,"context_line":"    op.add_column(\u0027networksegments\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a061dce_5cd19b56","line":33,"in_reply_to":"ba0121b8_7f741c35","updated":"2016-04-06 04:35:25.000000000","message":"Didnt have a clue about this until I read https://github.com/openstack/neutron/blob/dd4f1253c951d78a5b497680dfb31317ba469a58/doc/source/devref/db_layer.rst\n\nThanks Ann...","commit_id":"cc3b553d61792f1ea16de07ba82065b458d87973"}],"neutron/db/providernet_db.py":[{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"3a9f8c7d791d0249dcad04e590421407489c402c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    is_dynamic \u003d sa.Column(sa.Boolean, default\u003dFalse, nullable\u003dFalse,"},{"line_number":55,"context_line":"                           server_default\u003dsa.sql.false())"},{"line_number":56,"context_line":"    segment_index \u003d sa.Column(sa.Integer, nullable\u003dFalse, server_default\u003d\u00270\u0027)"},{"line_number":57,"context_line":"    name \u003d sa.Column(sa.String(attributes.NAME_MAX_LEN))"},{"line_number":58,"context_line":"    description \u003d sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN))"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_db374a4b","line":57,"range":{"start_line":57,"start_character":54,"end_line":57,"end_character":56},"updated":"2016-03-18 00:21:30.000000000","message":"nullable\u003dFalse","commit_id":"43afcafed6a7c6716d2b5f0654102ea7116deb66"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"3a9f8c7d791d0249dcad04e590421407489c402c","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                           server_default\u003dsa.sql.false())"},{"line_number":56,"context_line":"    segment_index \u003d sa.Column(sa.Integer, nullable\u003dFalse, server_default\u003d\u00270\u0027)"},{"line_number":57,"context_line":"    name \u003d sa.Column(sa.String(attributes.NAME_MAX_LEN))"},{"line_number":58,"context_line":"    description \u003d sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN))"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_3b410eaa","line":58,"range":{"start_line":58,"start_character":68,"end_line":58,"end_character":70},"updated":"2016-03-18 00:21:30.000000000","message":"ditto","commit_id":"43afcafed6a7c6716d2b5f0654102ea7116deb66"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"7d757726bbde17adcdea25b5caf66b9be0919f19","unresolved":false,"context_lines":[{"line_number":169,"context_line":"               \u0027segmentation_id\u0027: segment_db[SEGMENTATION_ID],"},{"line_number":170,"context_line":"               \u0027name\u0027: segment_db[\u0027name\u0027],"},{"line_number":171,"context_line":"               \u0027description\u0027: segment_db[\u0027description\u0027]"},{"line_number":172,"context_line":"              }"},{"line_number":173,"context_line":"        return self._fields(res, fields)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def _get_segment(self, context, id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_e45f0ce3","line":172,"updated":"2016-03-17 22:52:23.000000000","message":"This is a PEP 8 violation. You can fix it moving moving this closing bracket to the end of line 171","commit_id":"43afcafed6a7c6716d2b5f0654102ea7116deb66"},{"author":{"_account_id":7018,"name":"Abhishek Raut","email":"rauta@vmware.com","username":"abhiraut"},"change_message_id":"3a9f8c7d791d0249dcad04e590421407489c402c","unresolved":false,"context_lines":[{"line_number":169,"context_line":"               \u0027segmentation_id\u0027: segment_db[SEGMENTATION_ID],"},{"line_number":170,"context_line":"               \u0027name\u0027: segment_db[\u0027name\u0027],"},{"line_number":171,"context_line":"               \u0027description\u0027: segment_db[\u0027description\u0027]"},{"line_number":172,"context_line":"              }"},{"line_number":173,"context_line":"        return self._fields(res, fields)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def _get_segment(self, context, id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1af94dfe_5b44dab5","line":172,"in_reply_to":"1af94dfe_e45f0ce3","updated":"2016-03-18 00:21:30.000000000","message":"+1","commit_id":"43afcafed6a7c6716d2b5f0654102ea7116deb66"}],"neutron/db/segments_db.py":[{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"e2de2b2f60d058028f15994a9f9fb11c26911933","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                           server_default\u003dsa.sql.false())"},{"line_number":48,"context_line":"    segment_index \u003d sa.Column(sa.Integer, nullable\u003dFalse, server_default\u003d\u00270\u0027)"},{"line_number":49,"context_line":"    name \u003d sa.Column(sa.String(attributes.NAME_MAX_LEN),"},{"line_number":50,"context_line":"                     default\u003d\u0027\u0027)"},{"line_number":51,"context_line":"    description \u003d sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN),"},{"line_number":52,"context_line":"                            default\u003d\u0027\u0027)"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"7aa08908_0ce3b634","line":50,"range":{"start_line":50,"start_character":21,"end_line":50,"end_character":32},"updated":"2016-06-16 08:38:17.000000000","message":"I think the default value can be avoid here.","commit_id":"83556b28cbda568dc923ea5706a2835d6d8ff1cc"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"4f57e6b6487c979c9802b2a59f877c393daebfa3","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                           server_default\u003dsa.sql.false())"},{"line_number":48,"context_line":"    segment_index \u003d sa.Column(sa.Integer, nullable\u003dFalse, server_default\u003d\u00270\u0027)"},{"line_number":49,"context_line":"    name \u003d sa.Column(sa.String(attributes.NAME_MAX_LEN),"},{"line_number":50,"context_line":"                     default\u003d\u0027\u0027)"},{"line_number":51,"context_line":"    description \u003d sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN),"},{"line_number":52,"context_line":"                            default\u003d\u0027\u0027)"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"5a9d85d2_3fb7af87","line":50,"range":{"start_line":50,"start_character":21,"end_line":50,"end_character":32},"in_reply_to":"5a9d85d2_14a9fadf","updated":"2016-06-21 05:55:31.000000000","message":"There is a default value at [1]. And I think null is ok for name, that will do no harm. I just don\u0027t see other DB model has \u0027\u0027 as default value for name.\n\n[1] https://review.openstack.org/#/c/293305/16/neutron/extensions/segment.py@72","commit_id":"83556b28cbda568dc923ea5706a2835d6d8ff1cc"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"a354e310e7a893e67da9ea4f10d92a23a301a5bc","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                           server_default\u003dsa.sql.false())"},{"line_number":48,"context_line":"    segment_index \u003d sa.Column(sa.Integer, nullable\u003dFalse, server_default\u003d\u00270\u0027)"},{"line_number":49,"context_line":"    name \u003d sa.Column(sa.String(attributes.NAME_MAX_LEN),"},{"line_number":50,"context_line":"                     default\u003d\u0027\u0027)"},{"line_number":51,"context_line":"    description \u003d sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN),"},{"line_number":52,"context_line":"                            default\u003d\u0027\u0027)"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"5a9d85d2_14a9fadf","line":50,"range":{"start_line":50,"start_character":21,"end_line":50,"end_character":32},"in_reply_to":"7aa08908_0ce3b634","updated":"2016-06-21 04:54:16.000000000","message":"I think it is required.\nIf name is not defined, it wont be Null in the DB , isnt it?","commit_id":"83556b28cbda568dc923ea5706a2835d6d8ff1cc"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"e2de2b2f60d058028f15994a9f9fb11c26911933","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    name \u003d sa.Column(sa.String(attributes.NAME_MAX_LEN),"},{"line_number":50,"context_line":"                     default\u003d\u0027\u0027)"},{"line_number":51,"context_line":"    description \u003d sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN),"},{"line_number":52,"context_line":"                            default\u003d\u0027\u0027)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"NETWORK_TYPE \u003d NetworkSegment.network_type.name"}],"source_content_type":"text/x-python","patch_set":16,"id":"7aa08908_ccbfeefa","line":52,"range":{"start_line":52,"start_character":27,"end_line":52,"end_character":38},"updated":"2016-06-16 08:38:17.000000000","message":"ditto","commit_id":"83556b28cbda568dc923ea5706a2835d6d8ff1cc"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"1f7388477b44f12b0a620b4864612f212cf3d59e","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                           server_default\u003dsa.sql.false())"},{"line_number":48,"context_line":"    segment_index \u003d sa.Column(sa.Integer, nullable\u003dFalse, server_default\u003d\u00270\u0027)"},{"line_number":49,"context_line":"    name \u003d sa.Column(sa.String(attributes.NAME_MAX_LEN),"},{"line_number":50,"context_line":"                     default\u003d\u0027\u0027)"},{"line_number":51,"context_line":"    description \u003d sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN),"},{"line_number":52,"context_line":"                            default\u003d\u0027\u0027)"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"5a9d85d2_8f61353c","line":50,"updated":"2016-06-21 14:36:54.000000000","message":"Please, add server_default here as well for synchronization with migration.","commit_id":"845010e7e4144f1b8e522c69f9c071edb3e8373d"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"1f7388477b44f12b0a620b4864612f212cf3d59e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    name \u003d sa.Column(sa.String(attributes.NAME_MAX_LEN),"},{"line_number":50,"context_line":"                     default\u003d\u0027\u0027)"},{"line_number":51,"context_line":"    description \u003d sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN),"},{"line_number":52,"context_line":"                            default\u003d\u0027\u0027)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"NETWORK_TYPE \u003d NetworkSegment.network_type.name"}],"source_content_type":"text/x-python","patch_set":17,"id":"5a9d85d2_af5eb173","line":52,"updated":"2016-06-21 14:36:54.000000000","message":"the same","commit_id":"845010e7e4144f1b8e522c69f9c071edb3e8373d"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"c761be4c9659a0e070d5de53fe9b54205110dc49","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                           server_default\u003dsa.sql.false())"},{"line_number":49,"context_line":"    segment_index \u003d sa.Column(sa.Integer, nullable\u003dFalse, server_default\u003d\u00270\u0027)"},{"line_number":50,"context_line":"    name \u003d sa.Column(sa.String(attributes.NAME_MAX_LEN),"},{"line_number":51,"context_line":"                     nullable\u003dTrue)"},{"line_number":52,"context_line":"    description \u003d sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN),"},{"line_number":53,"context_line":"                            nullable\u003dTrue)"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1aa78d24_2385c3ac","line":51,"range":{"start_line":51,"start_character":21,"end_line":51,"end_character":29},"updated":"2016-07-05 12:19:21.000000000","message":"Looking at other models I\u0027m not sure this is necessary here, you should just be able to use:\n\nname \u003d sa.Column(sa.String(attributes.NAME_MAX_LEN))\n\nBut I\u0027m open to being corrected on this.","commit_id":"f73d7da3550e044569b6a925f26823e784c718a4"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"617ad711312ddb829df41c16606e050ec09870ca","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                           server_default\u003dsa.sql.false())"},{"line_number":49,"context_line":"    segment_index \u003d sa.Column(sa.Integer, nullable\u003dFalse, server_default\u003d\u00270\u0027)"},{"line_number":50,"context_line":"    name \u003d sa.Column(sa.String(attributes.NAME_MAX_LEN),"},{"line_number":51,"context_line":"                     nullable\u003dTrue)"},{"line_number":52,"context_line":"    description \u003d sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN),"},{"line_number":53,"context_line":"                            nullable\u003dTrue)"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":28,"id":"1aa78d24_013cfa2d","line":51,"range":{"start_line":51,"start_character":21,"end_line":51,"end_character":29},"in_reply_to":"1aa78d24_2385c3ac","updated":"2016-07-05 14:17:28.000000000","message":"I can remove it or be explicit, I do not think its a problem though","commit_id":"f73d7da3550e044569b6a925f26823e784c718a4"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"c761be4c9659a0e070d5de53fe9b54205110dc49","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    name \u003d sa.Column(sa.String(attributes.NAME_MAX_LEN),"},{"line_number":51,"context_line":"                     nullable\u003dTrue)"},{"line_number":52,"context_line":"    description \u003d sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN),"},{"line_number":53,"context_line":"                            nullable\u003dTrue)"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"NETWORK_TYPE \u003d NetworkSegment.network_type.name"}],"source_content_type":"text/x-python","patch_set":28,"id":"1aa78d24_c3bcbf6e","line":53,"range":{"start_line":53,"start_character":28,"end_line":53,"end_character":41},"updated":"2016-07-05 12:19:21.000000000","message":"ditto","commit_id":"f73d7da3550e044569b6a925f26823e784c718a4"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"bc5c296c21005d09042ef0445581c69662afe5bb","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from neutron._i18n import _LI"},{"line_number":19,"context_line":"from neutron.api.v2 import attributes"},{"line_number":20,"context_line":"from neutron.db import model_base"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"1aa78d24_5f93205b","line":21,"updated":"2016-07-12 17:11:55.000000000","message":"nit:  avoid adding unrelated whitespace, even if it is \"more correct\".  It isn\u0027t related to this patch set.","commit_id":"72589f315c819cf09bb578a5649796aa9346c2bf"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"bc5c296c21005d09042ef0445581c69662afe5bb","unresolved":false,"context_lines":[{"line_number":30,"context_line":"\"\"\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class NetworkSegment(model_base.HasStandardAttributes,"},{"line_number":34,"context_line":"                     model_base.BASEV2, model_base.HasId):"},{"line_number":35,"context_line":"    \"\"\"Represent persistent state of a network segment."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"1aa78d24_5f7a0025","line":33,"range":{"start_line":33,"start_character":32,"end_line":33,"end_character":53},"updated":"2016-07-12 17:11:55.000000000","message":"I probably should\u0027ve thought of this from the beginning.","commit_id":"72589f315c819cf09bb578a5649796aa9346c2bf"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"bc5c296c21005d09042ef0445581c69662afe5bb","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    segment_index \u003d sa.Column(sa.Integer, nullable\u003dFalse, server_default\u003d\u00270\u0027)"},{"line_number":51,"context_line":"    name \u003d sa.Column(sa.String(attributes.NAME_MAX_LEN),"},{"line_number":52,"context_line":"                     nullable\u003dTrue)"},{"line_number":53,"context_line":"    description \u003d sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN),"},{"line_number":54,"context_line":"                            nullable\u003dTrue)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"1aa78d24_7ff9bc7f","line":53,"range":{"start_line":53,"start_character":4,"end_line":53,"end_character":70},"updated":"2016-07-12 17:11:55.000000000","message":"This is included in the standard attributes table.","commit_id":"72589f315c819cf09bb578a5649796aa9346c2bf"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"d12e7fb2212c3dd4463302e8113b6def38b0fa5d","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    segment_index \u003d sa.Column(sa.Integer, nullable\u003dFalse, server_default\u003d\u00270\u0027)"},{"line_number":51,"context_line":"    name \u003d sa.Column(sa.String(attributes.NAME_MAX_LEN),"},{"line_number":52,"context_line":"                     nullable\u003dTrue)"},{"line_number":53,"context_line":"    description \u003d sa.Column(sa.String(attributes.DESCRIPTION_MAX_LEN),"},{"line_number":54,"context_line":"                            nullable\u003dTrue)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"1aa78d24_dabc1d08","line":53,"range":{"start_line":53,"start_character":4,"end_line":53,"end_character":70},"in_reply_to":"1aa78d24_7ff9bc7f","updated":"2016-07-13 08:57:34.000000000","message":"Got it from https://github.com/openstack/neutron/blob/ed58510023d7bbeb2daf61bb1cbdb4e5e4537c0a/neutron/db/model_base.py#L124 ( Keeping it here for reference)","commit_id":"72589f315c819cf09bb578a5649796aa9346c2bf"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"ab752e185c2b9870a581eb5aab3f903c56bde187","unresolved":false,"context_lines":[{"line_number":32,"context_line":"\"\"\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class NetworkSegment(model_base.HasStandardAttributes,"},{"line_number":36,"context_line":"                     model_base.BASEV2, model_base.HasId):"},{"line_number":37,"context_line":"    \"\"\"Represent persistent state of a network segment."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":34,"id":"9ad45d7e_fd279dc7","line":35,"range":{"start_line":35,"start_character":32,"end_line":35,"end_character":53},"updated":"2016-08-10 15:23:26.000000000","message":"I assume this requires to add standard_attr_id in migration.","commit_id":"165c2a4c042211006305b21def468746258a4794"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"75349c71eb661d2614da89e43c0919f7744d8af2","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from neutron.callbacks import events"},{"line_number":22,"context_line":"from neutron.callbacks import registry"},{"line_number":23,"context_line":"from neutron.callbacks import resources"},{"line_number":24,"context_line":"from neutron.db import model_base"},{"line_number":25,"context_line":"from neutron.db import standard_attr"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":52,"id":"fa7ab95a_abafa4e1","line":24,"updated":"2016-09-01 14:26:43.000000000","message":"pep8 is failing here because of the conflict with L13","commit_id":"b453d2214842cf8c78380f2698146c02076fdc9d"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"3aeb99353217ef75baaac753c1c9326bea5e998b","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from neutron.callbacks import events"},{"line_number":22,"context_line":"from neutron.callbacks import registry"},{"line_number":23,"context_line":"from neutron.callbacks import resources"},{"line_number":24,"context_line":"from neutron.db import model_base"},{"line_number":25,"context_line":"from neutron.db import standard_attr"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":52,"id":"fa7ab95a_3a2f5c3f","line":24,"in_reply_to":"fa7ab95a_abafa4e1","updated":"2016-09-01 15:45:45.000000000","message":"I\u0027ll take care of it since redeep seems to be out.","commit_id":"b453d2214842cf8c78380f2698146c02076fdc9d"}],"neutron/extensions/segment.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"f24aa6794222d1827b5b6fb8adaa4b1a2e534473","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                          \u0027is_visible\u0027: True},"},{"line_number":73,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True,"},{"line_number":74,"context_line":"                 \u0027allow_put\u0027: True,"},{"line_number":75,"context_line":"                 \u0027default\u0027: \u0027\u0027,"},{"line_number":76,"context_line":"                 \u0027validate\u0027: {\u0027type:string\u0027: NAME_LEN},"},{"line_number":77,"context_line":"                 \u0027is_visible\u0027: True},"},{"line_number":78,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a061dce_d77f01de","line":75,"updated":"2016-04-07 07:40:35.000000000","message":"Do we really need the default value?","commit_id":"8ed89e00364fc8c727f8ab615e470925d6ec3615"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"67926c2385f18206ea86b798eb1d462b437b3dc0","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                          \u0027is_visible\u0027: True},"},{"line_number":73,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True,"},{"line_number":74,"context_line":"                 \u0027allow_put\u0027: True,"},{"line_number":75,"context_line":"                 \u0027default\u0027: \u0027\u0027,"},{"line_number":76,"context_line":"                 \u0027validate\u0027: {\u0027type:string\u0027: NAME_LEN},"},{"line_number":77,"context_line":"                 \u0027is_visible\u0027: True},"},{"line_number":78,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a061dce_52f77f8a","line":75,"in_reply_to":"9a061dce_d77f01de","updated":"2016-04-07 08:00:07.000000000","message":"yup, follows the Name and Description policy of other resources!","commit_id":"8ed89e00364fc8c727f8ab615e470925d6ec3615"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"139d8698e584d034b146c2e0a44cc916e0f13ff0","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True,"},{"line_number":74,"context_line":"                 \u0027allow_put\u0027: True,"},{"line_number":75,"context_line":"                 \u0027default\u0027: \u0027\u0027,"},{"line_number":76,"context_line":"                 \u0027validate\u0027: {\u0027type:string\u0027: NAME_LEN},"},{"line_number":77,"context_line":"                 \u0027is_visible\u0027: True},"},{"line_number":78,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True,"},{"line_number":79,"context_line":"                        \u0027allow_put\u0027: True,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a061dce_d7954133","line":76,"updated":"2016-04-07 07:37:56.000000000","message":"Suggest not to use MACRO. We can direct use the value and try to be consistent with other attribute definitions.","commit_id":"8ed89e00364fc8c727f8ab615e470925d6ec3615"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"f24aa6794222d1827b5b6fb8adaa4b1a2e534473","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                 \u0027is_visible\u0027: True},"},{"line_number":78,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True,"},{"line_number":79,"context_line":"                        \u0027allow_put\u0027: True,"},{"line_number":80,"context_line":"                        \u0027default\u0027: \u0027\u0027,"},{"line_number":81,"context_line":"                        \u0027validate\u0027: {\u0027type:string\u0027: DESC_LEN},"},{"line_number":82,"context_line":"                        \u0027is_visible\u0027: True},"},{"line_number":83,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a061dce_178699da","line":80,"updated":"2016-04-07 07:40:35.000000000","message":"same.","commit_id":"8ed89e00364fc8c727f8ab615e470925d6ec3615"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"67926c2385f18206ea86b798eb1d462b437b3dc0","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                 \u0027is_visible\u0027: True},"},{"line_number":78,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True,"},{"line_number":79,"context_line":"                        \u0027allow_put\u0027: True,"},{"line_number":80,"context_line":"                        \u0027default\u0027: \u0027\u0027,"},{"line_number":81,"context_line":"                        \u0027validate\u0027: {\u0027type:string\u0027: DESC_LEN},"},{"line_number":82,"context_line":"                        \u0027is_visible\u0027: True},"},{"line_number":83,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a061dce_320acb79","line":80,"in_reply_to":"9a061dce_178699da","updated":"2016-04-07 08:00:07.000000000","message":"same","commit_id":"8ed89e00364fc8c727f8ab615e470925d6ec3615"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"139d8698e584d034b146c2e0a44cc916e0f13ff0","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True,"},{"line_number":79,"context_line":"                        \u0027allow_put\u0027: True,"},{"line_number":80,"context_line":"                        \u0027default\u0027: \u0027\u0027,"},{"line_number":81,"context_line":"                        \u0027validate\u0027: {\u0027type:string\u0027: DESC_LEN},"},{"line_number":82,"context_line":"                        \u0027is_visible\u0027: True},"},{"line_number":83,"context_line":"    },"},{"line_number":84,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a061dce_77a555a0","line":81,"updated":"2016-04-07 07:37:56.000000000","message":"ditto","commit_id":"8ed89e00364fc8c727f8ab615e470925d6ec3615"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"7661084544a0e10077c95f04e11fd06e6c93cf1f","unresolved":false,"context_lines":[{"line_number":32,"context_line":"PHYSICAL_NETWORK \u003d \u0027physical_network\u0027"},{"line_number":33,"context_line":"SEGMENTATION_ID \u003d \u0027segmentation_id\u0027"},{"line_number":34,"context_line":"NAME_LEN \u003d attributes.NAME_MAX_LEN"},{"line_number":35,"context_line":"DESC_LEN \u003d attributes.DESCRIPTION_MAX_LEN"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# Attribute Map"},{"line_number":38,"context_line":"RESOURCE_ATTRIBUTE_MAP \u003d {"}],"source_content_type":"text/x-python","patch_set":16,"id":"7aa08908_0261ec11","line":35,"updated":"2016-06-15 13:25:10.000000000","message":"Is there an advantage to defining these here rather than just using the attribute values on L73 \u0026 L78?","commit_id":"83556b28cbda568dc923ea5706a2835d6d8ff1cc"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"ad04d52b5fc307551d65bbfe30ea33094bdb5e92","unresolved":false,"context_lines":[{"line_number":32,"context_line":"PHYSICAL_NETWORK \u003d \u0027physical_network\u0027"},{"line_number":33,"context_line":"SEGMENTATION_ID \u003d \u0027segmentation_id\u0027"},{"line_number":34,"context_line":"NAME_LEN \u003d attributes.NAME_MAX_LEN"},{"line_number":35,"context_line":"DESC_LEN \u003d attributes.DESCRIPTION_MAX_LEN"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"# Attribute Map"},{"line_number":38,"context_line":"RESOURCE_ATTRIBUTE_MAP \u003d {"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a9d85d2_d429328b","line":35,"in_reply_to":"7aa08908_0261ec11","updated":"2016-06-21 04:53:03.000000000","message":"No disadvantage as well, macros wont hurt, but yes we can define it in L73 and L78 as well.","commit_id":"83556b28cbda568dc923ea5706a2835d6d8ff1cc"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"c761be4c9659a0e070d5de53fe9b54205110dc49","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                          \u0027is_visible\u0027: True},"},{"line_number":70,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True,"},{"line_number":71,"context_line":"                 \u0027allow_put\u0027: True,"},{"line_number":72,"context_line":"                 \u0027default\u0027: None,"},{"line_number":73,"context_line":"                 \u0027validate\u0027: {\u0027type:string\u0027: NAME_LEN},"},{"line_number":74,"context_line":"                 \u0027is_visible\u0027: True},"},{"line_number":75,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True,"}],"source_content_type":"text/x-python","patch_set":28,"id":"1aa78d24_23f4a385","line":72,"range":{"start_line":72,"start_character":28,"end_line":72,"end_character":32},"updated":"2016-07-05 12:19:21.000000000","message":"I believe this still needs to be \u0027\u0027, even when using nullable\u003dTrue in the db.","commit_id":"f73d7da3550e044569b6a925f26823e784c718a4"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"617ad711312ddb829df41c16606e050ec09870ca","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                          \u0027is_visible\u0027: True},"},{"line_number":70,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True,"},{"line_number":71,"context_line":"                 \u0027allow_put\u0027: True,"},{"line_number":72,"context_line":"                 \u0027default\u0027: None,"},{"line_number":73,"context_line":"                 \u0027validate\u0027: {\u0027type:string\u0027: NAME_LEN},"},{"line_number":74,"context_line":"                 \u0027is_visible\u0027: True},"},{"line_number":75,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True,"}],"source_content_type":"text/x-python","patch_set":28,"id":"1aa78d24_7c03e10d","line":72,"range":{"start_line":72,"start_character":28,"end_line":72,"end_character":32},"in_reply_to":"1aa78d24_23f4a385","updated":"2016-07-05 14:17:28.000000000","message":"This being None would be translated to Null in DB, right?\nElse it would be \"\" in the DB as well.\nIf so, then except migration, there is no requirement for nullable\u003dTrue.\n\nI feel we can keep this as None","commit_id":"f73d7da3550e044569b6a925f26823e784c718a4"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"c761be4c9659a0e070d5de53fe9b54205110dc49","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                 \u0027is_visible\u0027: True},"},{"line_number":75,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True,"},{"line_number":76,"context_line":"                        \u0027allow_put\u0027: True,"},{"line_number":77,"context_line":"                        \u0027default\u0027: None,"},{"line_number":78,"context_line":"                        \u0027validate\u0027: {\u0027type:string\u0027: DESC_LEN},"},{"line_number":79,"context_line":"                        \u0027is_visible\u0027: True},"},{"line_number":80,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":28,"id":"1aa78d24_63eeabb5","line":77,"range":{"start_line":77,"start_character":35,"end_line":77,"end_character":39},"updated":"2016-07-05 12:19:21.000000000","message":"ditto","commit_id":"f73d7da3550e044569b6a925f26823e784c718a4"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"74fb1d0e8ccdedd1c0a6863689eb62b6f774bc5c","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                          \u0027is_visible\u0027: True},"},{"line_number":70,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True,"},{"line_number":71,"context_line":"                 \u0027allow_put\u0027: True,"},{"line_number":72,"context_line":"                 \u0027default\u0027: \u0027\u0027,"},{"line_number":73,"context_line":"                 \u0027validate\u0027: {\u0027type:string\u0027: NAME_LEN},"},{"line_number":74,"context_line":"                 \u0027is_visible\u0027: True},"},{"line_number":75,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True,"}],"source_content_type":"text/x-python","patch_set":36,"id":"1ac06dbe_5cd51c1a","line":72,"range":{"start_line":72,"start_character":28,"end_line":72,"end_character":30},"updated":"2016-08-22 20:40:21.000000000","message":"Why is \u0027\u0027 the default? Why not null? I\u0027d prefer that a segment without a name have null here than \u0027\u0027.","commit_id":"7e3b1fa8ab61104833e9539370ca5d6944b8c7f2"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"3c39b0fd9371cebea5573936c47e2c3afe77a118","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                          \u0027is_visible\u0027: True},"},{"line_number":70,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True,"},{"line_number":71,"context_line":"                 \u0027allow_put\u0027: True,"},{"line_number":72,"context_line":"                 \u0027default\u0027: \u0027\u0027,"},{"line_number":73,"context_line":"                 \u0027validate\u0027: {\u0027type:string\u0027: NAME_LEN},"},{"line_number":74,"context_line":"                 \u0027is_visible\u0027: True},"},{"line_number":75,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True,"}],"source_content_type":"text/x-python","patch_set":36,"id":"1ac06dbe_513055e8","line":72,"range":{"start_line":72,"start_character":28,"end_line":72,"end_character":30},"in_reply_to":"1ac06dbe_5cd51c1a","updated":"2016-08-23 04:06:58.000000000","message":"As mentioned in the earlier comment, I found it raising an error during migration. Maybe something was amiss from my end. Let me recheck it .","commit_id":"7e3b1fa8ab61104833e9539370ca5d6944b8c7f2"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"1905735ceceb3f57e09c1eb5278625539d3ca03c","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        \u0027name\u0027: {\u0027allow_post\u0027: True,"},{"line_number":71,"context_line":"                 \u0027allow_put\u0027: True,"},{"line_number":72,"context_line":"                 \u0027default\u0027: constants.ATTR_NOT_SPECIFIED,"},{"line_number":73,"context_line":"                 \u0027validate\u0027: {\u0027type:string\u0027: NAME_LEN},"},{"line_number":74,"context_line":"                 \u0027is_visible\u0027: True},"},{"line_number":75,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True,"},{"line_number":76,"context_line":"                        \u0027allow_put\u0027: True,"}],"source_content_type":"text/x-python","patch_set":44,"id":"fa7ab95a_7e1a3cc7","line":73,"updated":"2016-08-30 20:29:05.000000000","message":"string_or_none","commit_id":"fb5dcbf8e2143fe9eab7fc46581c276b3951d79a"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"1905735ceceb3f57e09c1eb5278625539d3ca03c","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True,"},{"line_number":76,"context_line":"                        \u0027allow_put\u0027: True,"},{"line_number":77,"context_line":"                        \u0027default\u0027: constants.ATTR_NOT_SPECIFIED,"},{"line_number":78,"context_line":"                        \u0027validate\u0027: {\u0027type:string\u0027: DESC_LEN},"},{"line_number":79,"context_line":"                        \u0027is_visible\u0027: True},"},{"line_number":80,"context_line":"    },"},{"line_number":81,"context_line":"    attributes.SUBNETS: {"}],"source_content_type":"text/x-python","patch_set":44,"id":"fa7ab95a_de8188c4","line":78,"updated":"2016-08-30 20:29:05.000000000","message":"ditto","commit_id":"fb5dcbf8e2143fe9eab7fc46581c276b3951d79a"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"55ae1b87dc6ed2b929b237d55b88f906e64f5681","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                 \u0027default\u0027: constants.ATTR_NOT_SPECIFIED,"},{"line_number":73,"context_line":"                 \u0027validate\u0027: {\u0027type:string_or_none\u0027: NAME_LEN},"},{"line_number":74,"context_line":"                 \u0027is_visible\u0027: True},"},{"line_number":75,"context_line":"        \u0027description\u0027: {\u0027allow_post\u0027: True,"},{"line_number":76,"context_line":"                        \u0027allow_put\u0027: True,"},{"line_number":77,"context_line":"                        \u0027default\u0027: constants.ATTR_NOT_SPECIFIED,"},{"line_number":78,"context_line":"                        \u0027validate\u0027: {\u0027type:string_or_none\u0027: DESC_LEN},"}],"source_content_type":"text/x-python","patch_set":45,"id":"fa7ab95a_a5bae86f","line":75,"updated":"2016-08-30 23:45:47.000000000","message":"Talked to Kevin about consolidating the exposure of standardattr attributes in one place. I ended up adding a TODO here:\n\nhttps://review.openstack.org/#/c/362612/\nhttps://review.openstack.org/#/c/362636/","commit_id":"f244b85a59b9ccf1919a49b91254eb1465f5f4e7"}],"neutron/objects/network/network_segment.py":[{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"782aa3459b00b92ea3802520be5c6b01ead93090","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        \u0027segmentation_id\u0027: obj_fields.IntegerField(nullable\u003dTrue),"},{"line_number":34,"context_line":"        \u0027is_dynamic\u0027: obj_fields.BooleanField(default\u003dFalse),"},{"line_number":35,"context_line":"        \u0027segment_index\u0027: obj_fields.IntegerField(default\u003d0)"},{"line_number":36,"context_line":"    }"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    foreign_keys \u003d {\u0027Network\u0027: {\u0027network_id\u0027: \u0027id\u0027}}"}],"source_content_type":"text/x-python","patch_set":44,"id":"fa7ab95a_3ad1a723","line":36,"updated":"2016-08-30 18:22:19.000000000","message":"There is new \"standard_attr_id\" column added. Shouldn\u0027t it be included in OVO? Maybe as synthetic_field?","commit_id":"fb5dcbf8e2143fe9eab7fc46581c276b3951d79a"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"942bc1bb3cd54420f1ec24798b8e8f97f2adc62c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        \u0027segmentation_id\u0027: obj_fields.IntegerField(nullable\u003dTrue),"},{"line_number":34,"context_line":"        \u0027is_dynamic\u0027: obj_fields.BooleanField(default\u003dFalse),"},{"line_number":35,"context_line":"        \u0027segment_index\u0027: obj_fields.IntegerField(default\u003d0)"},{"line_number":36,"context_line":"    }"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    foreign_keys \u003d {\u0027Network\u0027: {\u0027network_id\u0027: \u0027id\u0027}}"}],"source_content_type":"text/x-python","patch_set":44,"id":"fa7ab95a_7dac098c","line":36,"in_reply_to":"fa7ab95a_3ad1a723","updated":"2016-08-30 18:43:13.000000000","message":"None of the OVO\u0027s mention standard attributes explicitly because of this [1].\n\n [1]https://github.com/openstack/neutron/blob/7f89ec1640e25fa8fb31864eb9c70ecd227e237b/neutron/objects/base.py#L252-L256","commit_id":"fb5dcbf8e2143fe9eab7fc46581c276b3951d79a"},{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"417bb1848e3615e69249768633de079b79a922e5","unresolved":false,"context_lines":[{"line_number":20,"context_line":"@obj_base.VersionedObjectRegistry.register"},{"line_number":21,"context_line":"class NetworkSegment(base.NeutronDbObject):"},{"line_number":22,"context_line":"    # Version 1.0: Initial version"},{"line_number":23,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    db_model \u003d segment_model.NetworkSegment"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":50,"id":"fa7ab95a_dac6ad15","line":23,"updated":"2016-08-31 18:57:18.000000000","message":"Could you add comment with info, what\u0027s changed in V 1.1?","commit_id":"37b01ef525b1e33d1fc9211fc4a0b5db3b765159"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"f4bdbd415fe05322f4337d5ff4b274e38ddb53ed","unresolved":false,"context_lines":[{"line_number":20,"context_line":"@obj_base.VersionedObjectRegistry.register"},{"line_number":21,"context_line":"class NetworkSegment(base.NeutronDbObject):"},{"line_number":22,"context_line":"    # Version 1.0: Initial version"},{"line_number":23,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    db_model \u003d segment_model.NetworkSegment"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":52,"id":"fa7ab95a_965a1582","line":23,"updated":"2016-09-01 12:06:42.000000000","message":"this was never released, i don\u0027t think a version bump is necessary.","commit_id":"b453d2214842cf8c78380f2698146c02076fdc9d"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"3aeb99353217ef75baaac753c1c9326bea5e998b","unresolved":false,"context_lines":[{"line_number":20,"context_line":"@obj_base.VersionedObjectRegistry.register"},{"line_number":21,"context_line":"class NetworkSegment(base.NeutronDbObject):"},{"line_number":22,"context_line":"    # Version 1.0: Initial version"},{"line_number":23,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    db_model \u003d segment_model.NetworkSegment"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":52,"id":"fa7ab95a_ba1b6c1b","line":23,"in_reply_to":"fa7ab95a_0c699425","updated":"2016-09-01 15:45:45.000000000","message":"I\u0027ll take care of this too.","commit_id":"b453d2214842cf8c78380f2698146c02076fdc9d"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"04b7a215151b44a5085a8a6f784bff21379dc5e7","unresolved":false,"context_lines":[{"line_number":20,"context_line":"@obj_base.VersionedObjectRegistry.register"},{"line_number":21,"context_line":"class NetworkSegment(base.NeutronDbObject):"},{"line_number":22,"context_line":"    # Version 1.0: Initial version"},{"line_number":23,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    db_model \u003d segment_model.NetworkSegment"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":52,"id":"fa7ab95a_0c699425","line":23,"in_reply_to":"fa7ab95a_965a1582","updated":"2016-09-01 12:18:02.000000000","message":"Agreed.","commit_id":"b453d2214842cf8c78380f2698146c02076fdc9d"}],"neutron/tests/unit/extensions/test_segment.py":[{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"f474fb6a2265e49578703d8829f410eabe3dfb22","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                            \u0027physical_network\u0027: \u0027phys_net\u0027,"},{"line_number":103,"context_line":"                            \u0027network_type\u0027: \u0027net_type\u0027,"},{"line_number":104,"context_line":"                            \u0027segmentation_id\u0027: 200,"},{"line_number":105,"context_line":"                            \u0027name\u0027: \u0027\u0027,"},{"line_number":106,"context_line":"                            \u0027description\u0027: \u0027\u0027}"},{"line_number":107,"context_line":"        self._test_create_segment(network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":108,"context_line":"                                  expected\u003dexpected_segment)"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_a58885c6","line":105,"updated":"2016-04-19 14:33:26.000000000","message":"Shouldn\u0027t we also have a test to ensure the name and description can be set to something other than the default of \u0027\u0027?","commit_id":"9e4195d9f3a6b956f39b6489bd34d725a6c88300"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"767292c234beb07aa6e6b064a3693f05c2f827de","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                            \u0027physical_network\u0027: \u0027phys_net\u0027,"},{"line_number":103,"context_line":"                            \u0027network_type\u0027: \u0027net_type\u0027,"},{"line_number":104,"context_line":"                            \u0027segmentation_id\u0027: 200,"},{"line_number":105,"context_line":"                            \u0027name\u0027: \u0027\u0027,"},{"line_number":106,"context_line":"                            \u0027description\u0027: \u0027\u0027}"},{"line_number":107,"context_line":"        self._test_create_segment(network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":108,"context_line":"                                  expected\u003dexpected_segment)"}],"source_content_type":"text/x-python","patch_set":13,"id":"1a122d0e_c04acf25","line":105,"in_reply_to":"1a122d0e_a58885c6","updated":"2016-04-19 14:37:03.000000000","message":"I can add it... wont hurt anything except the keys of the keyboard...","commit_id":"9e4195d9f3a6b956f39b6489bd34d725a6c88300"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"7661084544a0e10077c95f04e11fd06e6c93cf1f","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        segment_req \u003d self.new_create_request("},{"line_number":75,"context_line":"            \u0027segments\u0027, segment, fmt)"},{"line_number":76,"context_line":"        segment_res \u003d segment_req.get_response(self.ext_api)"},{"line_number":77,"context_line":"        if expected_res_status:"},{"line_number":78,"context_line":"            self.assertEqual(segment_res.status_int, expected_res_status)"},{"line_number":79,"context_line":"        return segment_res"}],"source_content_type":"text/x-python","patch_set":16,"id":"7aa08908_a5d622ef","line":76,"updated":"2016-06-15 13:25:10.000000000","message":"Why remove the whitespace?","commit_id":"83556b28cbda568dc923ea5706a2835d6d8ff1cc"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"7661084544a0e10077c95f04e11fd06e6c93cf1f","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        expected_segment \u003d {\u0027network_id\u0027: network[\u0027id\u0027],"},{"line_number":130,"context_line":"                            \u0027physical_network\u0027: \u0027phys_net\u0027,"},{"line_number":131,"context_line":"                            \u0027network_type\u0027: \u0027net_type\u0027,"},{"line_number":132,"context_line":"                            \u0027segmentation_id\u0027: 200,}"},{"line_number":133,"context_line":"        self._test_create_segment(expected\u003dexpected_segment,"},{"line_number":134,"context_line":"                                  network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":135,"context_line":"                                  physical_network\u003d\u0027phys_net\u0027,"}],"source_content_type":"text/x-python","patch_set":16,"id":"7aa08908_255a322b","line":132,"range":{"start_line":132,"start_character":50,"end_line":132,"end_character":51},"updated":"2016-06-15 13:25:10.000000000","message":"Unnecessary comma?","commit_id":"83556b28cbda568dc923ea5706a2835d6d8ff1cc"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"ad04d52b5fc307551d65bbfe30ea33094bdb5e92","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        expected_segment \u003d {\u0027network_id\u0027: network[\u0027id\u0027],"},{"line_number":130,"context_line":"                            \u0027physical_network\u0027: \u0027phys_net\u0027,"},{"line_number":131,"context_line":"                            \u0027network_type\u0027: \u0027net_type\u0027,"},{"line_number":132,"context_line":"                            \u0027segmentation_id\u0027: 200,}"},{"line_number":133,"context_line":"        self._test_create_segment(expected\u003dexpected_segment,"},{"line_number":134,"context_line":"                                  network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":135,"context_line":"                                  physical_network\u003d\u0027phys_net\u0027,"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a9d85d2_14729aad","line":132,"range":{"start_line":132,"start_character":50,"end_line":132,"end_character":51},"in_reply_to":"7aa08908_255a322b","updated":"2016-06-21 04:53:03.000000000","message":"http://docs.openstack.org/developer/hacking/#dictionaries-lists :)","commit_id":"83556b28cbda568dc923ea5706a2835d6d8ff1cc"},{"author":{"_account_id":6635,"name":"John Davidge","email":"john.davidge@rackspace.com","username":"john-davidge"},"change_message_id":"7661084544a0e10077c95f04e11fd06e6c93cf1f","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                            \u0027physical_network\u0027: \u0027phys_net\u0027,"},{"line_number":131,"context_line":"                            \u0027network_type\u0027: \u0027net_type\u0027,"},{"line_number":132,"context_line":"                            \u0027segmentation_id\u0027: 200,}"},{"line_number":133,"context_line":"        self._test_create_segment(expected\u003dexpected_segment,"},{"line_number":134,"context_line":"                                  network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":135,"context_line":"                                  physical_network\u003d\u0027phys_net\u0027,"},{"line_number":136,"context_line":"                                  segmentation_id\u003d200)"}],"source_content_type":"text/x-python","patch_set":16,"id":"7aa08908_e5766aa2","line":133,"range":{"start_line":133,"start_character":34,"end_line":133,"end_character":59},"updated":"2016-06-15 13:25:10.000000000","message":"Is there a reason for re-ordering this?","commit_id":"83556b28cbda568dc923ea5706a2835d6d8ff1cc"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"ad04d52b5fc307551d65bbfe30ea33094bdb5e92","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                            \u0027physical_network\u0027: \u0027phys_net\u0027,"},{"line_number":131,"context_line":"                            \u0027network_type\u0027: \u0027net_type\u0027,"},{"line_number":132,"context_line":"                            \u0027segmentation_id\u0027: 200,}"},{"line_number":133,"context_line":"        self._test_create_segment(expected\u003dexpected_segment,"},{"line_number":134,"context_line":"                                  network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":135,"context_line":"                                  physical_network\u003d\u0027phys_net\u0027,"},{"line_number":136,"context_line":"                                  segmentation_id\u003d200)"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a9d85d2_9447aa4a","line":133,"range":{"start_line":133,"start_character":34,"end_line":133,"end_character":59},"in_reply_to":"7aa08908_e5766aa2","updated":"2016-06-21 04:53:03.000000000","message":"L69 has all the kwargs after the expected output. \nThis is not related to the change I am putting here, but this basically makes the function signature similar to the one where it is defined.","commit_id":"83556b28cbda568dc923ea5706a2835d6d8ff1cc"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"250dde6fba614d70b5e06907ad8e82744aeac8ae","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        expected_segment \u003d {\u0027network_id\u0027: network[\u0027id\u0027],"},{"line_number":131,"context_line":"                            \u0027physical_network\u0027: \u0027phys_net\u0027,"},{"line_number":132,"context_line":"                            \u0027network_type\u0027: \u0027net_type\u0027,"},{"line_number":133,"context_line":"                            \u0027segmentation_id\u0027: 200, }"},{"line_number":134,"context_line":"        self._test_create_segment(expected\u003dexpected_segment,"},{"line_number":135,"context_line":"                                  network_id\u003dnetwork[\u0027id\u0027],"},{"line_number":136,"context_line":"                                  physical_network\u003d\u0027phys_net\u0027,"},{"line_number":137,"context_line":"                                  segmentation_id\u003d200)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def test_create_segment_no_phys_net(self):"},{"line_number":140,"context_line":"        with self.network() as network:"}],"source_content_type":"text/x-python","patch_set":19,"id":"3aaa91ec_8db89312","line":137,"range":{"start_line":133,"start_character":0,"end_line":137,"end_character":54},"updated":"2016-06-27 06:58:32.000000000","message":"I think it is unnecessary change, right?","commit_id":"ddc2f5cf7996828d24e82f489d44adafad583285"}],"neutron/tests/unit/plugins/ml2/test_db.py":[{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"d15fdb51259ac3380f3705169fe3f73f8f568348","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                                                    vif_type\u003dvif_type,"},{"line_number":62,"context_line":"                                                    host\u003dhost))"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    @staticmethod"},{"line_number":65,"context_line":"    def _sort_segments(segments):"},{"line_number":66,"context_line":"        return sorted(segments, key\u003dlambda d: d[\u0027segmentation_id\u0027])"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":50,"id":"fa7ab95a_1a41f50b","line":64,"updated":"2016-08-31 18:48:27.000000000","message":"Note to reviewers. I think the addition of either name or standard attributes in this patch tickles the reordering of the segments in get_network_segments. This seems to happen with py34 in the check queue (but not on my workstation). Anyway, this test shouldn\u0027t depend on the order being deterministic anyway.","commit_id":"37b01ef525b1e33d1fc9211fc4a0b5db3b765159"},{"author":{"_account_id":14611,"name":"dasm","display_name":"dasm","email":"dsmigiel@redhat.com","username":"dasm"},"change_message_id":"417bb1848e3615e69249768633de079b79a922e5","unresolved":false,"context_lines":[{"line_number":61,"context_line":"                                                    vif_type\u003dvif_type,"},{"line_number":62,"context_line":"                                                    host\u003dhost))"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    @staticmethod"},{"line_number":65,"context_line":"    def _sort_segments(segments):"},{"line_number":66,"context_line":"        return sorted(segments, key\u003dlambda d: d[\u0027segmentation_id\u0027])"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":50,"id":"fa7ab95a_3a38793d","line":64,"in_reply_to":"fa7ab95a_1a41f50b","updated":"2016-08-31 18:57:18.000000000","message":"Thanks for finding this.","commit_id":"37b01ef525b1e33d1fc9211fc4a0b5db3b765159"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"f4bdbd415fe05322f4337d5ff4b274e38ddb53ed","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        net_segments \u003d segments_db.get_network_segments("},{"line_number":77,"context_line":"                           self.ctx.session, network_id,"},{"line_number":78,"context_line":"                           filter_dynamic\u003dis_seg_dynamic)"},{"line_number":79,"context_line":"        net_segments \u003d self._sort_segments(net_segments)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        for segment_index, segment in enumerate(segments):"},{"line_number":82,"context_line":"            self.assertEqual(segment, net_segments[segment_index])"}],"source_content_type":"text/x-python","patch_set":52,"id":"fa7ab95a_71311b0b","line":79,"updated":"2016-09-01 12:06:42.000000000","message":"It seems to me that we changed the sort behavior with the new records. Whether accidental or not, get_networks_segments appeared to implicitly sort by creation order and now it doesn\u0027t.\n\nI would rather you adjust the order_by in get_networks_segments to first sort by index as it does now, and then sort by standard_attr_id, which implicitly sorts by creation order due to the auto incremental generation of standard attr IDs.","commit_id":"b453d2214842cf8c78380f2698146c02076fdc9d"},{"author":{"_account_id":7787,"name":"Kevin Benton","email":"kevin@benton.pub","username":"blak111"},"change_message_id":"72aa0e6801986795efe02e2bee8744583c07a6fe","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        net_segments \u003d segments_db.get_network_segments("},{"line_number":77,"context_line":"                           self.ctx.session, network_id,"},{"line_number":78,"context_line":"                           filter_dynamic\u003dis_seg_dynamic)"},{"line_number":79,"context_line":"        net_segments \u003d self._sort_segments(net_segments)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        for segment_index, segment in enumerate(segments):"},{"line_number":82,"context_line":"            self.assertEqual(segment, net_segments[segment_index])"}],"source_content_type":"text/x-python","patch_set":52,"id":"fa7ab95a_955580c3","line":79,"in_reply_to":"fa7ab95a_5a9fc002","updated":"2016-09-02 02:27:13.000000000","message":"Because this function already does sort the results based on index. This sort call would trample over that if these tests leveraged different indexes.\n\nI would rather have completely undefined order in get_network_segments or make it consistent. I\u0027m concerned this passed into the mech drivers will sporadically change order now if a name/description changes because we can\u0027t tell what its based on.","commit_id":"b453d2214842cf8c78380f2698146c02076fdc9d"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"cc99afc299288196d74d9ebd9266876c15dfcf15","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        net_segments \u003d segments_db.get_network_segments("},{"line_number":77,"context_line":"                           self.ctx.session, network_id,"},{"line_number":78,"context_line":"                           filter_dynamic\u003dis_seg_dynamic)"},{"line_number":79,"context_line":"        net_segments \u003d self._sort_segments(net_segments)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        for segment_index, segment in enumerate(segments):"},{"line_number":82,"context_line":"            self.assertEqual(segment, net_segments[segment_index])"}],"source_content_type":"text/x-python","patch_set":52,"id":"fa7ab95a_47f43c5a","line":79,"in_reply_to":"fa7ab95a_5a9fc002","updated":"2016-09-01 18:24:28.000000000","message":"I tend to agree with Carl here. We use sorted quite a bit in the test base, this might as well turn out to be a test wrong assumption.","commit_id":"b453d2214842cf8c78380f2698146c02076fdc9d"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"3aeb99353217ef75baaac753c1c9326bea5e998b","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        net_segments \u003d segments_db.get_network_segments("},{"line_number":77,"context_line":"                           self.ctx.session, network_id,"},{"line_number":78,"context_line":"                           filter_dynamic\u003dis_seg_dynamic)"},{"line_number":79,"context_line":"        net_segments \u003d self._sort_segments(net_segments)"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        for segment_index, segment in enumerate(segments):"},{"line_number":82,"context_line":"            self.assertEqual(segment, net_segments[segment_index])"}],"source_content_type":"text/x-python","patch_set":52,"id":"fa7ab95a_5a9fc002","line":79,"in_reply_to":"fa7ab95a_71311b0b","updated":"2016-09-01 15:45:45.000000000","message":"Why? There was never any guarantee of any kind of ordering based on creation time. I don\u0027t think any of the other resources guarantee this.\n\nI always lean toward changing the tests to remove implicit assumptions on undocumented behavior rather than changing code to match the implicit assumptions made by the tests.","commit_id":"b453d2214842cf8c78380f2698146c02076fdc9d"}],"releasenotes/notes/add-name-desc-to-networksegments-4cd8c4e268eb63e0.yaml":[{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"420886c23c3a4eabf12dbb400cb42372daf98aaf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add name and description option to the networksegments table"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9a061dce_7f127a0a","line":4,"range":{"start_line":4,"start_character":29,"end_line":4,"end_character":35},"updated":"2016-04-06 13:07:31.000000000","message":"Nit: \u0027attributes\u0027 or \u0027optional attributes\u0027","commit_id":"000054865a20b9f1dd7179a44766c2f1e7be165f"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"139d8698e584d034b146c2e0a44cc916e0f13ff0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add name and description optional attributes to the networksegments table."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"9a061dce_b7c24d32","line":4,"updated":"2016-04-07 07:37:56.000000000","message":"IMO, this might not be required. We can have only one releasenotes after this feature is completed.","commit_id":"8ed89e00364fc8c727f8ab615e470925d6ec3615"},{"author":{"_account_id":11159,"name":"Hong Hui Xiao","email":"honghui_xiao@yeah.net","username":"HongHuiXiao"},"change_message_id":"250dde6fba614d70b5e06907ad8e82744aeac8ae","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add name and description optional attributes to the networksegments table."}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3aaa91ec_0d430314","line":3,"updated":"2016-06-27 06:58:32.000000000","message":"nit: I think we don\u0027t need new line here. according to \n\nhttp://docs.openstack.org/developer/reno/usage.html#creating-new-release-notes","commit_id":"ddc2f5cf7996828d24e82f489d44adafad583285"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"6f0ffce3ea7a1cf7f5586438a05650eb3f954412","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add name and description optional attributes to the networksegments table."}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3aaa91ec_5f42c9ae","line":3,"in_reply_to":"3aaa91ec_0d430314","updated":"2016-06-27 09:26:38.000000000","message":"http://docs.openstack.org/developer/reno/usage.html#formatting states that it can be done for a paragraph , and I guess for a single line, it wont hurt","commit_id":"ddc2f5cf7996828d24e82f489d44adafad583285"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"21a39c7e4f9ff611babffa15140634872d04b45c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add name and description optional attributes to the networksegments table."}],"source_content_type":"text/x-yaml","patch_set":21,"id":"3aaa91ec_7fd5d7b7","line":4,"updated":"2016-06-27 23:27:54.000000000","message":"Advice: Users read the release notes about a release that has been released, so you should talk about your change in the past tense.\n\n\"Optional name and description attributes have been added to the networksegments table.\"","commit_id":"f44eca1808227fdf3db38e4f7f9db7ba96b98019"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"862970a76bbfb99f5144e8e4f6699dfb540faefb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add name and description optional attributes to the networksegments table."}],"source_content_type":"text/x-yaml","patch_set":21,"id":"3aaa91ec_4df792f5","line":4,"in_reply_to":"3aaa91ec_7fd5d7b7","updated":"2016-07-05 04:52:47.000000000","message":"Hmm, nice point... agreed!","commit_id":"f44eca1808227fdf3db38e4f7f9db7ba96b98019"},{"author":{"_account_id":7448,"name":"Carl Baldwin","email":"carl@ecbaldwin.net","username":"carl-baldwin"},"change_message_id":"bc5c296c21005d09042ef0445581c69662afe5bb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    optional name and description attributes have been added to"},{"line_number":5,"context_line":"    the networksegments table."}],"source_content_type":"text/x-yaml","patch_set":30,"id":"1aa78d24_3f57345b","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":63},"updated":"2016-07-12 17:11:55.000000000","message":"I\u0027m not sure a release note makes sense.  We can just include this in the overall release note for the addition of segments.","commit_id":"72589f315c819cf09bb578a5649796aa9346c2bf"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"d12e7fb2212c3dd4463302e8113b6def38b0fa5d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    optional name and description attributes have been added to"},{"line_number":5,"context_line":"    the networksegments table."}],"source_content_type":"text/x-yaml","patch_set":30,"id":"1aa78d24_3a59e1fd","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":63},"in_reply_to":"1aa78d24_3f57345b","updated":"2016-07-13 08:57:34.000000000","message":"Hi Carl,\nI am not sure where to add this information, if not here.\nCan you add this information in the proper location , or redirect me to the patch which adds the releasenote for network segments , so that I can remove this information?","commit_id":"72589f315c819cf09bb578a5649796aa9346c2bf"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"eeb03c2b228d032dc57087054d294b25ec6be0ce","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    optional name and description attributes have been added to"},{"line_number":5,"context_line":"    the networksegments table."}],"source_content_type":"text/x-yaml","patch_set":45,"id":"fa7ab95a_65a9c024","line":5,"updated":"2016-08-30 23:46:55.000000000","message":"if this API is not released as such,  what\u0027s the point of the release note?","commit_id":"f244b85a59b9ccf1919a49b91254eb1465f5f4e7"}]}
