)]}'
{"ironic/api/controllers/v1/node.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"350ff7c1f2061e41943739a51672e1f9a97981aa","unresolved":false,"context_lines":[{"line_number":475,"context_line":"        setattr(self, \u0027chassis_uuid\u0027, kwargs.get(\u0027chassis_id\u0027))"},{"line_number":476,"context_line":""},{"line_number":477,"context_line":"        self.fields.append(\u0027conductor_id\u0027)"},{"line_number":478,"context_line":"        setattr(self, \u0027conductor_hostname\u0027, kwargs.get(\u0027conductor_id\u0027))"},{"line_number":479,"context_line":""},{"line_number":480,"context_line":"    @classmethod"},{"line_number":481,"context_line":"    def _convert_with_links(cls, node, url, expand\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1abeadc6_b3d31d37","line":478,"updated":"2014-08-27 15:13:24.000000000","message":"Do you really mean to set hostname to the id?","commit_id":"d78c7000f244b54166526d4f91fce760d3f1e339"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"fa50afb162bca4864c038f764cc7042bd7ce9058","unresolved":false,"context_lines":[{"line_number":785,"context_line":"            raise e"},{"line_number":786,"context_line":""},{"line_number":787,"context_line":"        node_dict \u003d node.as_dict()"},{"line_number":788,"context_line":""},{"line_number":789,"context_line":"        new_node \u003d objects.Node(context\u003dpecan.request.context, **node_dict)"},{"line_number":790,"context_line":"        new_node.create()"},{"line_number":791,"context_line":"        # Set the HTTP Location Header"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa98f980_d72a927d","line":788,"updated":"2014-09-08 14:47:16.000000000","message":"I don\u0027t think this change is needed. No value add here.","commit_id":"f7aeea2d10b4567de82c0a2f4302da2a47a5c882"},{"author":{"_account_id":7882,"name":"Yuiko Takada Mori","email":"yuiko-mori@nec.com","username":"YuikoTakada"},"change_message_id":"f55086b8048e29f9a410f9a0dc97aec654ecebb1","unresolved":false,"context_lines":[{"line_number":33,"context_line":"from ironic.common import hash_ring"},{"line_number":34,"context_line":"from ironic.common import states as ir_states"},{"line_number":35,"context_line":"from ironic.common import utils"},{"line_number":36,"context_line":"from ironic.common.i18n import _"},{"line_number":37,"context_line":"from ironic import objects"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"fa98f980_93e5faa5","line":36,"updated":"2014-09-12 02:00:14.000000000","message":"Unnecessary to change the order, because imports should be in alphabetical order.","commit_id":"738b82ad63054e5feab84aa81635188c2f5a3eb1"}],"ironic/db/api.py":[{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"799521b3da09c7a41938ff7d1644e18e2c7cb8e5","unresolved":false,"context_lines":[{"line_number":59,"context_line":"                        \u0027provision_state\u0027: provision state of node"},{"line_number":60,"context_line":"                        \u0027provisioned_before\u0027: nodes with provision_updated_at"},{"line_number":61,"context_line":"                         field before this interval in seconds"},{"line_number":62,"context_line":"                        \u0027conductor_id\u0027: ID of the conductor the node belongs to"},{"line_number":63,"context_line":"        :param limit: Maximum number of nodes to return."},{"line_number":64,"context_line":"        :param marker: the last item of the previous page; we return the next"},{"line_number":65,"context_line":"                       result set."}],"source_content_type":"text/x-python","patch_set":12,"id":"fa98f980_b2ad9c9d","line":62,"updated":"2014-09-11 23:00:42.000000000","message":"s/the node belongs to/the node currently maps to/","commit_id":"738b82ad63054e5feab84aa81635188c2f5a3eb1"},{"author":{"_account_id":2889,"name":"Aeva Black","email":"aeva.online@gmail.com","username":"tenbrae"},"change_message_id":"799521b3da09c7a41938ff7d1644e18e2c7cb8e5","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                        \u0027provision_state\u0027: provision state of node"},{"line_number":84,"context_line":"                        \u0027provisioned_before\u0027: nodes with provision_updated_at"},{"line_number":85,"context_line":"                         field before this interval in seconds"},{"line_number":86,"context_line":"                        \u0027conductor_id\u0027: ID of the conductor the node belongs to"},{"line_number":87,"context_line":"        :param limit: Maximum number of nodes to return."},{"line_number":88,"context_line":"        :param marker: the last item of the previous page; we return the next"},{"line_number":89,"context_line":"                       result set."}],"source_content_type":"text/x-python","patch_set":12,"id":"fa98f980_d295c040","line":86,"updated":"2014-09-11 23:00:42.000000000","message":"ditto","commit_id":"738b82ad63054e5feab84aa81635188c2f5a3eb1"}],"ironic/db/sqlalchemy/alembic/versions/14d174ce8796_add_conductor_id_to_nodes.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"fa50afb162bca4864c038f764cc7042bd7ce9058","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def upgrade():"},{"line_number":31,"context_line":"    op.add_column(\u0027nodes\u0027, sa.Column(\u0027conductor_id\u0027, sa.Integer(),"},{"line_number":32,"context_line":"                  nullable\u003dTrue))"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"def downgrade():"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa98f980_f4aa3484","line":32,"updated":"2014-09-08 14:47:16.000000000","message":"This doesn\u0027t add the FK reference to the conductors table.","commit_id":"f7aeea2d10b4567de82c0a2f4302da2a47a5c882"}],"ironic/db/sqlalchemy/api.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"350ff7c1f2061e41943739a51672e1f9a97981aa","unresolved":false,"context_lines":[{"line_number":525,"context_line":"        except NoResultFound:"},{"line_number":526,"context_line":"            raise exception.ConductorNotFound(conductor\u003dhostname)"},{"line_number":527,"context_line":""},{"line_number":528,"context_line":"    @objects.objectify(objects.Conductor)"},{"line_number":529,"context_line":"    def get_conductor_by_id(self, conductor_id):"},{"line_number":530,"context_line":"        try:"},{"line_number":531,"context_line":"            query \u003d model_query(models.Conductor)"}],"source_content_type":"text/x-python","patch_set":8,"id":"1abeadc6_33dd4d71","line":528,"updated":"2014-08-27 15:13:24.000000000","message":"I don\u0027t believe you want this decorator here since you use the Conductor._from_db_object() call elsewhere. This is also contrary to Lucas\u0027 work for bug 1314732.","commit_id":"d78c7000f244b54166526d4f91fce760d3f1e339"}],"ironic/objects/conductor.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"d97e1ad54c8a25a2006746f11316a2f0d5d1e42b","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from ironic.objects import utils"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"class Conductor(base.IronicObject):"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    dbapi \u003d db_api.get_instance()"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da9df570_48f883e5","line":23,"updated":"2014-09-24 10:17:09.000000000","message":"By adding new methods we have to bump the version of the object\n\n # Version 1.1: Added register() and get_by_id()\n VERSION \u003d \u00271.1\u0027","commit_id":"3a4075a1d4b7ae0272710cee13c0ad09b861d36b"}],"ironic/tests/api/test_acl.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"fa50afb162bca4864c038f764cc7042bd7ce9058","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        with mock.patch.object(self.dbapi, \u0027get_node_by_uuid\u0027,"},{"line_number":62,"context_line":"                               autospec\u003dTrue) as mock_get_node:"},{"line_number":63,"context_line":"            with mock.patch.object(self.dbapi, \u0027get_conductor_by_id\u0027,"},{"line_number":64,"context_line":"                                   autospec\u003dTrue) as mock_get_conductor:"},{"line_number":65,"context_line":"                mock_get_node.return_value \u003d self.fake_db_node"},{"line_number":66,"context_line":"                mock_get_conductor.return_value \u003d self.fake_conductor"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"fa98f980_f725d65c","line":64,"updated":"2014-09-08 14:47:16.000000000","message":"We\u0027ve been trying to replace the \"with\" sections with the @mock.patch decorators.","commit_id":"f7aeea2d10b4567de82c0a2f4302da2a47a5c882"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"6fb2855ae5951946f268c39dd684eb4ef1ef9d5d","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        with mock.patch.object(self.dbapi, \u0027get_node_by_uuid\u0027,"},{"line_number":62,"context_line":"                               autospec\u003dTrue) as mock_get_node:"},{"line_number":63,"context_line":"            with mock.patch.object(self.dbapi, \u0027get_conductor_by_id\u0027,"},{"line_number":64,"context_line":"                                   autospec\u003dTrue) as mock_get_conductor:"},{"line_number":65,"context_line":"                mock_get_node.return_value \u003d self.fake_db_node"},{"line_number":66,"context_line":"                mock_get_conductor.return_value \u003d self.fake_conductor"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"fa98f980_7c3e1f2b","line":64,"in_reply_to":"fa98f980_f725d65c","updated":"2014-09-08 20:25:23.000000000","message":"I see now that using the decorator isn\u0027t going to work. Not sure why yet, but using the context manager is acceptable in light of that.","commit_id":"f7aeea2d10b4567de82c0a2f4302da2a47a5c882"}]}
