)]}'
{"dragonflow/db/api_nb.py":[{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"ac1633136b1e14ca389d7c3217f66a6ac07e781d","unresolved":false,"context_lines":[{"line_number":490,"context_line":""},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":493,"context_line":"class DatabaseObject(object):"},{"line_number":494,"context_line":"    @abc.abstractmethod"},{"line_number":495,"context_line":"    def get_id(self):"},{"line_number":496,"context_line":"        \"\"\"Return the ID of this object.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_e3b846e8","line":493,"range":{"start_line":493,"start_character":6,"end_line":493,"end_character":20},"updated":"2016-03-07 07:58:00.000000000","message":"Is DbStoreObject more appropriate?","commit_id":"ab4c3e17c5e89b15fb22a4c57e536a0a20c918af"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"40de73600764afcfa6893d89aab2e61652128ecc","unresolved":false,"context_lines":[{"line_number":490,"context_line":""},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"@six.add_metaclass(abc.ABCMeta)"},{"line_number":493,"context_line":"class DatabaseObject(object):"},{"line_number":494,"context_line":"    @abc.abstractmethod"},{"line_number":495,"context_line":"    def get_id(self):"},{"line_number":496,"context_line":"        \"\"\"Return the ID of this object.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_c6e8b819","line":493,"range":{"start_line":493,"start_character":6,"end_line":493,"end_character":20},"in_reply_to":"5aef4532_e3b846e8","updated":"2016-03-07 11:56:55.000000000","message":"Will change.","commit_id":"ab4c3e17c5e89b15fb22a4c57e536a0a20c918af"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"ac1633136b1e14ca389d7c3217f66a6ac07e781d","unresolved":false,"context_lines":[{"line_number":779,"context_line":"    def __init__(self, value):"},{"line_number":780,"context_line":"        self.floatingip \u003d jsonutils.loads(value)"},{"line_number":781,"context_line":""},{"line_number":782,"context_line":"    def get_id(self):"},{"line_number":783,"context_line":"        return self.floatingip.get(\u0027id\u0027)"},{"line_number":784,"context_line":""},{"line_number":785,"context_line":"    def get_topic(self):"},{"line_number":786,"context_line":"        return self.floatingip.get(\u0027topic\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_43f81a7d","line":783,"range":{"start_line":782,"start_character":4,"end_line":783,"end_character":40},"updated":"2016-03-07 07:58:00.000000000","message":"Currently, in nb-api, the name of each object means \u0027its neutron id\u0027. So, what does this id mean?","commit_id":"ab4c3e17c5e89b15fb22a4c57e536a0a20c918af"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"40de73600764afcfa6893d89aab2e61652128ecc","unresolved":false,"context_lines":[{"line_number":779,"context_line":"    def __init__(self, value):"},{"line_number":780,"context_line":"        self.floatingip \u003d jsonutils.loads(value)"},{"line_number":781,"context_line":""},{"line_number":782,"context_line":"    def get_id(self):"},{"line_number":783,"context_line":"        return self.floatingip.get(\u0027id\u0027)"},{"line_number":784,"context_line":""},{"line_number":785,"context_line":"    def get_topic(self):"},{"line_number":786,"context_line":"        return self.floatingip.get(\u0027topic\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_c65d58ee","line":783,"range":{"start_line":782,"start_character":4,"end_line":783,"end_character":40},"in_reply_to":"5aef4532_43f81a7d","updated":"2016-03-07 11:56:55.000000000","message":"I wanted a unified method to get a unique identifier for each object. That\u0027s the ID. It is possible that it\u0027s the same as name, or the Neutron id (I didn\u0027t define it).\n\nI can change it to get_name in the abstract class, if that is preferred.","commit_id":"ab4c3e17c5e89b15fb22a4c57e536a0a20c918af"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"83cf6b4bf2cf3611eea889652efa31800e1f9d4b","unresolved":false,"context_lines":[{"line_number":779,"context_line":"    def __init__(self, value):"},{"line_number":780,"context_line":"        self.floatingip \u003d jsonutils.loads(value)"},{"line_number":781,"context_line":""},{"line_number":782,"context_line":"    def get_id(self):"},{"line_number":783,"context_line":"        return self.floatingip.get(\u0027id\u0027)"},{"line_number":784,"context_line":""},{"line_number":785,"context_line":"    def get_topic(self):"},{"line_number":786,"context_line":"        return self.floatingip.get(\u0027topic\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_652268bb","line":783,"range":{"start_line":782,"start_character":4,"end_line":783,"end_character":40},"in_reply_to":"5aef4532_c65d58ee","updated":"2016-03-07 14:34:33.000000000","message":"I reviewed this again. Some objects have a name (e.g. chassis, subnet), and some don\u0027t. Those that don\u0027t, name \u003d\u003d id, and those that do have a Neutron ID in addition to name. I wanted the ID, since I know it is unique across tenants, projects, etc.\n\nI think I prefer to leave this part as-is.","commit_id":"ab4c3e17c5e89b15fb22a4c57e536a0a20c918af"}],"dragonflow/db/db_store.py":[{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"ac1633136b1e14ca389d7c3217f66a6ac07e781d","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    # This is a mapping between global logical data path id (network/lswitch)"},{"line_number":33,"context_line":"    # And a local assigned if for this controller"},{"line_number":34,"context_line":"    def get_network_id(self, ldp, topic):"},{"line_number":35,"context_line":"        with self.lock:"},{"line_number":36,"context_line":"            return self.networks.get(ldp)"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_e35cc6ef","line":34,"updated":"2016-03-07 07:58:00.000000000","message":"Why not set to topic\u003dNone?","commit_id":"ab4c3e17c5e89b15fb22a4c57e536a0a20c918af"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"40de73600764afcfa6893d89aab2e61652128ecc","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    # This is a mapping between global logical data path id (network/lswitch)"},{"line_number":33,"context_line":"    # And a local assigned if for this controller"},{"line_number":34,"context_line":"    def get_network_id(self, ldp, topic):"},{"line_number":35,"context_line":"        with self.lock:"},{"line_number":36,"context_line":"            return self.networks.get(ldp)"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_43893aca","line":34,"in_reply_to":"5aef4532_e35cc6ef","updated":"2016-03-07 11:56:55.000000000","message":"network_id is just the UUID of the network. I can\u0027t infer the topic from the key (ldp). In the other (non network_id) methods I could, so I allowed topic to be None.","commit_id":"ab4c3e17c5e89b15fb22a4c57e536a0a20c918af"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"ac1633136b1e14ca389d7c3217f66a6ac07e781d","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        with self.lock:"},{"line_number":36,"context_line":"            return self.networks.get(ldp)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def set_network_id(self, ldp, net_id, topic):"},{"line_number":39,"context_line":"        with self.lock:"},{"line_number":40,"context_line":"            self.networks[ldp] \u003d net_id"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_836ce29d","line":38,"updated":"2016-03-07 07:58:00.000000000","message":"ditto","commit_id":"ab4c3e17c5e89b15fb22a4c57e536a0a20c918af"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"40de73600764afcfa6893d89aab2e61652128ecc","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        with self.lock:"},{"line_number":36,"context_line":"            return self.networks.get(ldp)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    def set_network_id(self, ldp, net_id, topic):"},{"line_number":39,"context_line":"        with self.lock:"},{"line_number":40,"context_line":"            self.networks[ldp] \u003d net_id"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_2386aeb9","line":38,"in_reply_to":"5aef4532_836ce29d","updated":"2016-03-07 11:56:55.000000000","message":"See above.","commit_id":"ab4c3e17c5e89b15fb22a4c57e536a0a20c918af"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"ac1633136b1e14ca389d7c3217f66a6ac07e781d","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        with self.lock:"},{"line_number":40,"context_line":"            self.networks[ldp] \u003d net_id"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def del_network_id(self, ldp, topic):"},{"line_number":43,"context_line":"        with self.lock:"},{"line_number":44,"context_line":"            del self.networks[ldp]"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_23f6aed7","line":42,"updated":"2016-03-07 07:58:00.000000000","message":"ditto","commit_id":"ab4c3e17c5e89b15fb22a4c57e536a0a20c918af"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"40de73600764afcfa6893d89aab2e61652128ecc","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        with self.lock:"},{"line_number":40,"context_line":"            self.networks[ldp] \u003d net_id"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def del_network_id(self, ldp, topic):"},{"line_number":43,"context_line":"        with self.lock:"},{"line_number":44,"context_line":"            del self.networks[ldp]"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5aef4532_839342fa","line":42,"in_reply_to":"5aef4532_23f6aed7","updated":"2016-03-07 11:56:55.000000000","message":"See above.","commit_id":"ab4c3e17c5e89b15fb22a4c57e536a0a20c918af"}]}
