)]}'
{"os_resource_classes/__init__.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"87dca6f200a83f88358dd13fbaeaaec680068723","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    \u0027IPV4_ADDRESS\u0027,"},{"line_number":54,"context_line":"    \u0027VGPU\u0027,"},{"line_number":55,"context_line":"    \u0027VGPU_DISPLAY_HEAD\u0027,"},{"line_number":56,"context_line":"    # Standard resource class for network bandwidth egress measured in"},{"line_number":57,"context_line":"    # kilobits per second."},{"line_number":58,"context_line":"    \u0027NET_BW_EGR_KILOBIT_PER_SEC\u0027,"},{"line_number":59,"context_line":"    # Standard resource class for network bandwidth ingress measured in"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_8e16b6a1","line":56,"updated":"2018-12-11 18:58:05.000000000","message":"Yup:\n\nhttps://github.com/openstack/nova/blob/b93b40c6c01a1161f40592d29353c3461669de19/nova/rc_fields.py#L44-L49","commit_id":"41f00a5fecdf1afa90433d982599a260ea8d223a"}],"os_resource_classes/tests/test_os_resource_classes.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"87dca6f200a83f88358dd13fbaeaaec680068723","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    def test_standards_tail(self):"},{"line_number":35,"context_line":"        \"\"\"A sanity check that developers are paying attention."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        When one more standard classes are added, change this to"},{"line_number":38,"context_line":"        the last one."},{"line_number":39,"context_line":"        \"\"\""},{"line_number":40,"context_line":"        self.assertEqual(rc.NET_BW_IGR_KILOBIT_PER_SEC, rc.STANDARDS[-1])"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_6e755afe","line":37,"range":{"start_line":37,"start_character":13,"end_line":37,"end_character":16},"updated":"2018-12-11 18:58:05.000000000","message":"s/one//?","commit_id":"41f00a5fecdf1afa90433d982599a260ea8d223a"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"127f0340806349999e36152585334289f01c279e","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    def test_standards_tail(self):"},{"line_number":35,"context_line":"        \"\"\"A sanity check that developers are paying attention."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        When one or more standard classes are added, change this to"},{"line_number":38,"context_line":"        the last one."},{"line_number":39,"context_line":"        \"\"\""},{"line_number":40,"context_line":"        self.assertEqual(rc.NET_BW_IGR_KILOBIT_PER_SEC, rc.STANDARDS[-1])"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_1a6c0b05","line":38,"range":{"start_line":37,"start_character":0,"end_line":38,"end_character":21},"updated":"2018-12-12 14:28:58.000000000","message":"I don\u0027t follow how this adds to sanity. It just seems that it makes the developer make the change in two places.","commit_id":"6474c0be0570ddf8c75ec4ec0fb91d1ebb22fcb5"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"d2386b9f5b7ed067e3d9ccd0cbc14e35b53ad689","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    def test_standards_tail(self):"},{"line_number":35,"context_line":"        \"\"\"A sanity check that developers are paying attention."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        When one or more standard classes are added, change this to"},{"line_number":38,"context_line":"        the last one."},{"line_number":39,"context_line":"        \"\"\""},{"line_number":40,"context_line":"        self.assertEqual(rc.NET_BW_IGR_KILOBIT_PER_SEC, rc.STANDARDS[-1])"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_f5bb60db","line":38,"range":{"start_line":37,"start_character":0,"end_line":38,"end_character":21},"in_reply_to":"3f79a3b5_1a6c0b05","updated":"2018-12-12 14:46:05.000000000","message":"The order of the STANDARDS is critical for maintaining the health of the resource classes database in placement (the ids come from the order), so this is helping with checking to make sure that when a new thing is added it is added on the end.\n\nThe fragility of the resource class ids comes from the db/not-db separation we had initially.","commit_id":"6474c0be0570ddf8c75ec4ec0fb91d1ebb22fcb5"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"e7f88ac45e05d843fadd535bfd160a64e1f076eb","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    def test_standards_tail(self):"},{"line_number":35,"context_line":"        \"\"\"A sanity check that developers are paying attention."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        When one or more standard classes are added, change this to"},{"line_number":38,"context_line":"        the last one."},{"line_number":39,"context_line":"        \"\"\""},{"line_number":40,"context_line":"        self.assertEqual(rc.NET_BW_IGR_KILOBIT_PER_SEC, rc.STANDARDS[-1])"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_10e947ab","line":38,"range":{"start_line":37,"start_character":0,"end_line":38,"end_character":21},"in_reply_to":"3f79a3b5_3b8a2966","updated":"2018-12-12 17:20:11.000000000","message":"As discussed on IRC, I don\u0027t think that tests like this add any confidence, as it doesn\u0027t ensure that the order of the class names is preserved. This is something that clearly falls under human review. But as these sorts of tests don\u0027t hurt anything, I don\u0027t feel that blocking on this is required.","commit_id":"6474c0be0570ddf8c75ec4ec0fb91d1ebb22fcb5"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"2195d98e353f29d3b1f1ec082ae926ae409870a6","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    def test_standards_tail(self):"},{"line_number":35,"context_line":"        \"\"\"A sanity check that developers are paying attention."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        When one or more standard classes are added, change this to"},{"line_number":38,"context_line":"        the last one."},{"line_number":39,"context_line":"        \"\"\""},{"line_number":40,"context_line":"        self.assertEqual(rc.NET_BW_IGR_KILOBIT_PER_SEC, rc.STANDARDS[-1])"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_3b8a2966","line":38,"range":{"start_line":37,"start_character":0,"end_line":38,"end_character":21},"in_reply_to":"3f79a3b5_80b2ec94","updated":"2018-12-12 15:40:40.000000000","message":"Indeed, clearly my brain is broken and I\u0027m not following through on all my thoughts. It needs a length checker too.\n\nUnless you have a better idea? Do please say so if you do?","commit_id":"6474c0be0570ddf8c75ec4ec0fb91d1ebb22fcb5"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"54bf494782f21acfd8cb0d6f40ae86ebe1eecec4","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    def test_standards_tail(self):"},{"line_number":35,"context_line":"        \"\"\"A sanity check that developers are paying attention."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        When one or more standard classes are added, change this to"},{"line_number":38,"context_line":"        the last one."},{"line_number":39,"context_line":"        \"\"\""},{"line_number":40,"context_line":"        self.assertEqual(rc.NET_BW_IGR_KILOBIT_PER_SEC, rc.STANDARDS[-1])"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_80b2ec94","line":38,"range":{"start_line":37,"start_character":0,"end_line":38,"end_character":21},"in_reply_to":"3f79a3b5_f5bb60db","updated":"2018-12-12 15:31:22.000000000","message":"So let\u0027s say some future dev adds a new resource to the top or middle of the list. This test will happily pass, right?","commit_id":"6474c0be0570ddf8c75ec4ec0fb91d1ebb22fcb5"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"06f13c987a6bf0da82fc0d059fe36e09a5dc1110","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        \"\"\"A sanity check that developers are paying attention."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        When one or more standard classes are added, change the expected"},{"line_number":38,"context_line":"        last class to the last one added and the length to the new lenght"},{"line_number":39,"context_line":"        of rc.STANDARDS."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        If you arrive here because you\u0027ve run the tests and they\u0027ve failed"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_1b32c3c0","line":38,"range":{"start_line":38,"start_character":67,"end_line":38,"end_character":73},"updated":"2018-12-12 23:12:31.000000000","message":"length","commit_id":"29190672620d2aed910813f9e2c66fc82fde1bd3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c6db9937a6d303823dcc61c4d113748041f5f15a","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        \"\"\"A sanity check that developers are paying attention."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"        When one or more standard classes are added, change the expected"},{"line_number":38,"context_line":"        last class to the last one added and the length to the new lenght"},{"line_number":39,"context_line":"        of rc.STANDARDS."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        If you arrive here because you\u0027ve run the tests and they\u0027ve failed"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_fb234759","line":38,"range":{"start_line":38,"start_character":67,"end_line":38,"end_character":73},"in_reply_to":"3f79a3b5_1b32c3c0","updated":"2018-12-12 23:15:57.000000000","message":"Done","commit_id":"29190672620d2aed910813f9e2c66fc82fde1bd3"}]}
