)]}'
{"nova/tests/virt/baremetal/test_pxe.py":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"8f6246bc89e4759c3f5aa2026e2a128c47ff4635","unresolved":false,"context_lines":[{"line_number":480,"context_line":"                    {\u0027opt_name\u0027: \u0027tftp-server\u0027, \u0027opt_value\u0027: CONF.my_ip}]"},{"line_number":481,"context_line":"        res \u003d self.driver.dhcp_options_for_instance(self.instance)"},{"line_number":482,"context_line":"        self.assertEqual(expected.sort(), res.sort())"},{"line_number":483,"context_line":"        self.mox.VerifyAll()"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"    def test_activate_bootloader_passes_details(self):"},{"line_number":486,"context_line":"        self._create_node()"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9UGE%3D","line":483,"updated":"2013-12-12 18:38:06.000000000","message":"As an FYI, new tests being added should be written with mock rather than mox.","commit_id":"da2454acc992f771c92495b05e37d67ddb1c976c"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"f03c22faea6d2675ffeec51b11873f714010801a","unresolved":false,"context_lines":[{"line_number":480,"context_line":"                    {\u0027opt_name\u0027: \u0027tftp-server\u0027, \u0027opt_value\u0027: CONF.my_ip}]"},{"line_number":481,"context_line":"        res \u003d self.driver.dhcp_options_for_instance(self.instance)"},{"line_number":482,"context_line":"        self.assertEqual(expected.sort(), res.sort())"},{"line_number":483,"context_line":"        self.mox.VerifyAll()"},{"line_number":484,"context_line":""},{"line_number":485,"context_line":"    def test_activate_bootloader_passes_details(self):"},{"line_number":486,"context_line":"        self._create_node()"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9Sqg%3D","line":483,"in_reply_to":"AAAATn%2F9UGE%3D","updated":"2013-12-12 23:42:19.000000000","message":"given the date when this was originally written mox was it, but  noted.","commit_id":"da2454acc992f771c92495b05e37d67ddb1c976c"}],"nova/virt/baremetal/base.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"a963bedd5f45ef2e1f9a03f4329bd86f2c416916","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        raise NotImplementedError()"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def dhcp_options_for_instance(self, instance):"},{"line_number":51,"context_line":"        \"\"\"Optional override to return the DHCP options to use for instance."},{"line_number":52,"context_line":"        If no DHCP options are needed, this should not be overridden or None"},{"line_number":53,"context_line":"        should be returned."},{"line_number":54,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2Fy38%3D","line":51,"updated":"2013-10-28 22:45:56.000000000","message":"Needs a blank line after the summary line per PEP-257.","commit_id":"18e1954528c73927fd449b78d7d24497821dc878"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"6b213769ddded4bc9c0210ed07b09e5e850be551","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        raise NotImplementedError()"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def dhcp_options_for_instance(self, instance):"},{"line_number":51,"context_line":"        \"\"\"Optional override to return the DHCP options to use for instance."},{"line_number":52,"context_line":"        If no DHCP options are needed, this should not be overridden or None"},{"line_number":53,"context_line":"        should be returned."},{"line_number":54,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2Fysc%3D","line":51,"in_reply_to":"AAAATn%2F%2Fy38%3D","updated":"2013-10-28 23:59:50.000000000","message":"ok, will add one blank line","commit_id":"18e1954528c73927fd449b78d7d24497821dc878"},{"author":{"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},"change_message_id":"5202a8696217ec69c34d1dc99e6aad9144a2e6a1","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        should be returned."},{"line_number":55,"context_line":"        \"\"\""},{"line_number":56,"context_line":"        return None"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"class PowerManager(object):"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BQrM%3D","line":57,"updated":"2013-11-28 08:33:58.000000000","message":"Do we have a unit test anywhere that verifies that returning None here (rather than a list of settings) doesn\u0027t cause problems elsewhere?","commit_id":"ac1c46f540b7d30a8bf623bd65206dad10b84d68"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"65274723eda116d5e71439fb81438d387ea4e0eb","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        should be returned."},{"line_number":55,"context_line":"        \"\"\""},{"line_number":56,"context_line":"        return None"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"class PowerManager(object):"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BEGs%3D","line":57,"in_reply_to":"AAAATn%2F%2BQrM%3D","updated":"2013-12-02 22:18:48.000000000","message":"The expectation is that you would provide a class using this as an inheritance. There are test provide in Neutron API, which is where the error is going to come from.","commit_id":"ac1c46f540b7d30a8bf623bd65206dad10b84d68"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"bcfec2985f0732942f719203533beb7e866e2dd6","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        If no DHCP options are needed, this should not be overridden or None"},{"line_number":54,"context_line":"        should be returned."},{"line_number":55,"context_line":"        \"\"\""},{"line_number":56,"context_line":"        return None"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"class PowerManager(object):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9WKA%3D","line":56,"updated":"2013-12-12 12:52:59.000000000","message":"by default None is returned. The None here is unnecessary","commit_id":"da2454acc992f771c92495b05e37d67ddb1c976c"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"e105c112235e2f9eb9ecfe904a96a37ab01d1bf7","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        If no DHCP options are needed, this should not be overridden or None"},{"line_number":54,"context_line":"        should be returned."},{"line_number":55,"context_line":"        \"\"\""},{"line_number":56,"context_line":"        return None"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"class PowerManager(object):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9Rrs%3D","line":56,"in_reply_to":"AAAATn%2F9WKA%3D","updated":"2013-12-13 06:37:31.000000000","message":"It is however explicit, and explicit is often better than implicit. Some drivers will want to return None (only the PXE one needs to override this), so having a clear base implementation is a good thing IMO.","commit_id":"da2454acc992f771c92495b05e37d67ddb1c976c"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"f03c22faea6d2675ffeec51b11873f714010801a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        If no DHCP options are needed, this should not be overridden or None"},{"line_number":54,"context_line":"        should be returned."},{"line_number":55,"context_line":"        \"\"\""},{"line_number":56,"context_line":"        return None"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"class PowerManager(object):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F9SqI%3D","line":56,"in_reply_to":"AAAATn%2F9WKA%3D","updated":"2013-12-12 23:42:19.000000000","message":"Understand, but given its going to be overloaded.","commit_id":"da2454acc992f771c92495b05e37d67ddb1c976c"}],"nova/virt/baremetal/pxe.py":[{"author":{"_account_id":518,"name":"Soren Hansen","email":"soren@linux2go.dk","username":"soren"},"change_message_id":"5202a8696217ec69c34d1dc99e6aad9144a2e6a1","unresolved":false,"context_lines":[{"line_number":355,"context_line":"                  \u0027opt_value\u0027: CONF.my_ip},"},{"line_number":356,"context_line":"                 {\u0027opt_name\u0027: \u0027tftp-server\u0027,"},{"line_number":357,"context_line":"                  \u0027opt_value\u0027: CONF.my_ip}"},{"line_number":358,"context_line":"                 ]"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"    def activate_bootloader(self, context, node, instance, network_info):"},{"line_number":361,"context_line":"        \"\"\"Configure PXE boot loader for an instance"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BQsE%3D","line":358,"updated":"2013-11-28 08:33:58.000000000","message":"If the order of these don\u0027t matter (which the corresponding unit test suggests), why use a list() rather than a set()?","commit_id":"ac1c46f540b7d30a8bf623bd65206dad10b84d68"},{"author":{"_account_id":5572,"name":"Don Kehn","display_name":"DEKehn","email":"dekehn@gmail.com","username":"dekehn"},"change_message_id":"65274723eda116d5e71439fb81438d387ea4e0eb","unresolved":false,"context_lines":[{"line_number":355,"context_line":"                  \u0027opt_value\u0027: CONF.my_ip},"},{"line_number":356,"context_line":"                 {\u0027opt_name\u0027: \u0027tftp-server\u0027,"},{"line_number":357,"context_line":"                  \u0027opt_value\u0027: CONF.my_ip}"},{"line_number":358,"context_line":"                 ]"},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"    def activate_bootloader(self, context, node, instance, network_info):"},{"line_number":361,"context_line":"        \"\"\"Configure PXE boot loader for an instance"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BEHo%3D","line":358,"in_reply_to":"AAAATn%2F%2BQsE%3D","updated":"2013-12-02 22:18:48.000000000","message":"Because throughout the Neutron API expects a list of dicts. It was done as to not mix it up with what Neutron expects.","commit_id":"ac1c46f540b7d30a8bf623bd65206dad10b84d68"}]}
