)]}'
{"doc/source/manual_deployment.rst":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"c02abdd5953eaf3ff8a73b427b0782013bb8b623","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    [df]"},{"line_number":140,"context_line":"    enable_df_pub_sub \u003d True"},{"line_number":141,"context_line":"    pub_sub_driver \u003d zmq_pubsub_driver"},{"line_number":142,"context_line":"    publisher_multiproc_socket \u003d /var/run/zmq_pubsub/zmq-publisher-socket"},{"line_number":143,"context_line":"    publisher_rate_limit_count \u003d 1"},{"line_number":144,"context_line":"    publisher_rate_limit_timeout \u003d 180"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_f0368b02","line":141,"range":{"start_line":141,"start_character":21,"end_line":141,"end_character":38},"updated":"2018-06-11 07:16:18.000000000","message":"Maybe change this to the etcd driver (maybe in a different patch)","commit_id":"596649b00ae4a4f0a39a841310ddf0b0a9ecbb0a"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"b63d56dddfc08245f58ebff2f33661ed459467a2","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    [df]"},{"line_number":140,"context_line":"    enable_df_pub_sub \u003d True"},{"line_number":141,"context_line":"    pub_sub_driver \u003d zmq_pubsub_driver"},{"line_number":142,"context_line":"    publisher_multiproc_socket \u003d /var/run/zmq_pubsub/zmq-publisher-socket"},{"line_number":143,"context_line":"    publisher_rate_limit_count \u003d 1"},{"line_number":144,"context_line":"    publisher_rate_limit_timeout \u003d 180"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_a6ae99e4","line":141,"range":{"start_line":141,"start_character":21,"end_line":141,"end_character":38},"in_reply_to":"5f7c97a3_f0368b02","updated":"2018-06-11 08:20:48.000000000","message":"Done","commit_id":"596649b00ae4a4f0a39a841310ddf0b0a9ecbb0a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"66f42e3f1b9ecf8dc2fd779aeaa9dadcfb4fb580","unresolved":false,"context_lines":[{"line_number":139,"context_line":"    [df]"},{"line_number":140,"context_line":"    enable_df_pub_sub \u003d True"},{"line_number":141,"context_line":"    pub_sub_driver \u003d zmq_pubsub_driver"},{"line_number":142,"context_line":"    publisher_multiproc_socket \u003d /var/run/zmq_pubsub/zmq-publisher-socket"},{"line_number":143,"context_line":"    publisher_rate_limit_count \u003d 1"},{"line_number":144,"context_line":"    publisher_rate_limit_timeout \u003d 180"},{"line_number":145,"context_line":"    monitor_table_poll_time \u003d 30"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_d57341e6","line":142,"range":{"start_line":142,"start_character":0,"end_line":142,"end_character":73},"updated":"2018-06-11 06:35:32.000000000","message":"What about this one?","commit_id":"596649b00ae4a4f0a39a841310ddf0b0a9ecbb0a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"c02abdd5953eaf3ff8a73b427b0782013bb8b623","unresolved":false,"context_lines":[{"line_number":139,"context_line":"    [df]"},{"line_number":140,"context_line":"    enable_df_pub_sub \u003d True"},{"line_number":141,"context_line":"    pub_sub_driver \u003d zmq_pubsub_driver"},{"line_number":142,"context_line":"    publisher_multiproc_socket \u003d /var/run/zmq_pubsub/zmq-publisher-socket"},{"line_number":143,"context_line":"    publisher_rate_limit_count \u003d 1"},{"line_number":144,"context_line":"    publisher_rate_limit_timeout \u003d 180"},{"line_number":145,"context_line":"    monitor_table_poll_time \u003d 30"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_50365f05","line":142,"range":{"start_line":142,"start_character":0,"end_line":142,"end_character":73},"in_reply_to":"5f7c97a3_50a65fc3","updated":"2018-06-11 07:16:18.000000000","message":"Good enough. I\u0027d move to a df_zmq section, and name it: ipc_socket .","commit_id":"596649b00ae4a4f0a39a841310ddf0b0a9ecbb0a"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"3725bf2f38b0c31709dca40324e16a7107dc24f4","unresolved":false,"context_lines":[{"line_number":139,"context_line":"    [df]"},{"line_number":140,"context_line":"    enable_df_pub_sub \u003d True"},{"line_number":141,"context_line":"    pub_sub_driver \u003d zmq_pubsub_driver"},{"line_number":142,"context_line":"    publisher_multiproc_socket \u003d /var/run/zmq_pubsub/zmq-publisher-socket"},{"line_number":143,"context_line":"    publisher_rate_limit_count \u003d 1"},{"line_number":144,"context_line":"    publisher_rate_limit_timeout \u003d 180"},{"line_number":145,"context_line":"    monitor_table_poll_time \u003d 30"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_50a65fc3","line":142,"range":{"start_line":142,"start_character":0,"end_line":142,"end_character":73},"in_reply_to":"5f7c97a3_d57341e6","updated":"2018-06-11 07:12:03.000000000","message":"The name should be changed, but this is the handle used for IPC","commit_id":"596649b00ae4a4f0a39a841310ddf0b0a9ecbb0a"}],"dragonflow/controller/df_publisher_service.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"66f42e3f1b9ecf8dc2fd779aeaa9dadcfb4fb580","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        return pub_sub_driver.get_subscriber()"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def initialize(self):"},{"line_number":66,"context_line":"        if self.subscriber:"},{"line_number":67,"context_line":"            self.subscriber.initialize(self._append_event_to_queue)"},{"line_number":68,"context_line":"        self.publisher.initialize()"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_f5419d64","line":66,"range":{"start_line":66,"start_character":0,"end_line":66,"end_character":27},"updated":"2018-06-11 06:35:32.000000000","message":"This is probably always True now.\n\nMaybe test instead on CONF.df.enable_pubsub ?","commit_id":"596649b00ae4a4f0a39a841310ddf0b0a9ecbb0a"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"3725bf2f38b0c31709dca40324e16a7107dc24f4","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        return pub_sub_driver.get_subscriber()"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def initialize(self):"},{"line_number":66,"context_line":"        if self.subscriber:"},{"line_number":67,"context_line":"            self.subscriber.initialize(self._append_event_to_queue)"},{"line_number":68,"context_line":"        self.publisher.initialize()"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_b0949345","line":66,"range":{"start_line":66,"start_character":0,"end_line":66,"end_character":27},"in_reply_to":"5f7c97a3_f5419d64","updated":"2018-06-11 07:12:03.000000000","message":"Can do (cfg.CONF.df.enable_df_pub_sub)","commit_id":"596649b00ae4a4f0a39a841310ddf0b0a9ecbb0a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"66f42e3f1b9ecf8dc2fd779aeaa9dadcfb4fb580","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        time.sleep(0)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def run(self):"},{"line_number":76,"context_line":"        if self.subscriber:"},{"line_number":77,"context_line":"            self.subscriber.daemonize()"},{"line_number":78,"context_line":"        self._register_as_publisher()"},{"line_number":79,"context_line":"        self._start_db_table_monitors()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_15477979","line":76,"range":{"start_line":76,"start_character":0,"end_line":76,"end_character":27},"updated":"2018-06-11 06:35:32.000000000","message":"Same as above.","commit_id":"596649b00ae4a4f0a39a841310ddf0b0a9ecbb0a"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"3725bf2f38b0c31709dca40324e16a7107dc24f4","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        time.sleep(0)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def run(self):"},{"line_number":76,"context_line":"        if self.subscriber:"},{"line_number":77,"context_line":"            self.subscriber.daemonize()"},{"line_number":78,"context_line":"        self._register_as_publisher()"},{"line_number":79,"context_line":"        self._start_db_table_monitors()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_50941f37","line":76,"range":{"start_line":76,"start_character":0,"end_line":76,"end_character":27},"in_reply_to":"5f7c97a3_15477979","updated":"2018-06-11 07:12:03.000000000","message":"OK","commit_id":"596649b00ae4a4f0a39a841310ddf0b0a9ecbb0a"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"c02abdd5953eaf3ff8a73b427b0782013bb8b623","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    def initialize(self):"},{"line_number":66,"context_line":"        if cfg.CONF.df.enable_df_pub_sub:"},{"line_number":67,"context_line":"            self.subscriber.initialize(self._append_event_to_queue)"},{"line_number":68,"context_line":"        self.publisher.initialize()"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def _append_event_to_queue(self, table, key, action, value, topic):"},{"line_number":71,"context_line":"        event \u003d db_common.DbUpdate(table, key, action, value, topic\u003dtopic)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_10154749","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":35},"updated":"2018-06-11 07:16:18.000000000","message":"This should also be in the then block","commit_id":"52d2b10c64dbb05751540f3a2132d8ff2c71bf98"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"b63d56dddfc08245f58ebff2f33661ed459467a2","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    def initialize(self):"},{"line_number":66,"context_line":"        if cfg.CONF.df.enable_df_pub_sub:"},{"line_number":67,"context_line":"            self.subscriber.initialize(self._append_event_to_queue)"},{"line_number":68,"context_line":"        self.publisher.initialize()"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def _append_event_to_queue(self, table, key, action, value, topic):"},{"line_number":71,"context_line":"        event \u003d db_common.DbUpdate(table, key, action, value, topic\u003dtopic)"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_c6ab95d3","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":35},"in_reply_to":"5f7c97a3_10154749","updated":"2018-06-11 08:20:48.000000000","message":"Done","commit_id":"52d2b10c64dbb05751540f3a2132d8ff2c71bf98"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"c02abdd5953eaf3ff8a73b427b0782013bb8b623","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    def run(self):"},{"line_number":76,"context_line":"        if cfg.CONF.df.enable_df_pub_sub:"},{"line_number":77,"context_line":"            self.subscriber.daemonize()"},{"line_number":78,"context_line":"        self._register_as_publisher()"},{"line_number":79,"context_line":"        self._start_db_table_monitors()"},{"line_number":80,"context_line":"        while True:"},{"line_number":81,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_d00a6f24","line":78,"range":{"start_line":78,"start_character":0,"end_line":78,"end_character":37},"updated":"2018-06-11 07:16:18.000000000","message":"Same here.","commit_id":"52d2b10c64dbb05751540f3a2132d8ff2c71bf98"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"b63d56dddfc08245f58ebff2f33661ed459467a2","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    def run(self):"},{"line_number":76,"context_line":"        if cfg.CONF.df.enable_df_pub_sub:"},{"line_number":77,"context_line":"            self.subscriber.daemonize()"},{"line_number":78,"context_line":"        self._register_as_publisher()"},{"line_number":79,"context_line":"        self._start_db_table_monitors()"},{"line_number":80,"context_line":"        while True:"},{"line_number":81,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_86b11d47","line":78,"range":{"start_line":78,"start_character":0,"end_line":78,"end_character":37},"in_reply_to":"5f7c97a3_d00a6f24","updated":"2018-06-11 08:20:48.000000000","message":"Done","commit_id":"52d2b10c64dbb05751540f3a2132d8ff2c71bf98"}],"dragonflow/db/db_api.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"66f42e3f1b9ecf8dc2fd779aeaa9dadcfb4fb580","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        \"\"\""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"    @abc.abstractmethod"},{"line_number":168,"context_line":"    def set_neutron_server(self, is_neutron_server):"},{"line_number":169,"context_line":"        \"\"\"Set neutron server flag"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        :returns:    None"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_551f316b","side":"PARENT","line":168,"range":{"start_line":168,"start_character":8,"end_line":168,"end_character":26},"updated":"2018-06-11 06:35:32.000000000","message":"Thank you!!!","commit_id":"450e29b4518423149b37aeac30bbc42c44d6606d"}],"dragonflow/db/pubsub_drivers/zmq_pubsub_driver.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"66f42e3f1b9ecf8dc2fd779aeaa9dadcfb4fb580","unresolved":false,"context_lines":[{"line_number":29,"context_line":"SUPPORTED_TRANSPORTS \u003d set([\u0027tcp\u0027, \u0027epgm\u0027])"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"# class ZMQPubSub(pub_sub_api.PubSubApi):"},{"line_number":33,"context_line":"#     \"\"\"ZMQ pubsub driver using TCP/PGM communication\"\"\""},{"line_number":34,"context_line":"#     def __init__(self):"},{"line_number":35,"context_line":"#         super(ZMQPubSub, self).__init__()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_b03b33cf","line":32,"updated":"2018-06-11 06:35:32.000000000","message":"Code should be deleted, not commented out.","commit_id":"596649b00ae4a4f0a39a841310ddf0b0a9ecbb0a"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"3725bf2f38b0c31709dca40324e16a7107dc24f4","unresolved":false,"context_lines":[{"line_number":29,"context_line":"SUPPORTED_TRANSPORTS \u003d set([\u0027tcp\u0027, \u0027epgm\u0027])"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"# class ZMQPubSub(pub_sub_api.PubSubApi):"},{"line_number":33,"context_line":"#     \"\"\"ZMQ pubsub driver using TCP/PGM communication\"\"\""},{"line_number":34,"context_line":"#     def __init__(self):"},{"line_number":35,"context_line":"#         super(ZMQPubSub, self).__init__()"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_10b307eb","line":32,"in_reply_to":"5f7c97a3_b03b33cf","updated":"2018-06-11 07:12:03.000000000","message":"I know, left it as a reference in case I miss something :)","commit_id":"596649b00ae4a4f0a39a841310ddf0b0a9ecbb0a"}],"dragonflow/tests/fullstack/test_pub_sub.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"66f42e3f1b9ecf8dc2fd779aeaa9dadcfb4fb580","unresolved":false,"context_lines":[{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    def setUp(self):"},{"line_number":308,"context_line":"        super(TestMultiprocPubSub, self).setUp()"},{"line_number":309,"context_line":"        self.do_test \u003d cfg.CONF.df.pub_sub_use_multiproc"},{"line_number":310,"context_line":"        self.key \u003d \u0027key-{}\u0027.format(random.random())"},{"line_number":311,"context_line":"        self.event \u003d db_common.DbUpdate("},{"line_number":312,"context_line":"            \u0027info\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_b04a5324","side":"PARENT","line":309,"updated":"2018-06-11 06:35:32.000000000","message":"I think, for now, you can just test if we\u0027re using zmq pubsub.\n\ne.g., self.do_test \u003d (cfg.CONF.df.pub_sub_driver \u003d\u003d \u0027zmq_pubsub_driver\u0027)","commit_id":"450e29b4518423149b37aeac30bbc42c44d6606d"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"3725bf2f38b0c31709dca40324e16a7107dc24f4","unresolved":false,"context_lines":[{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    def setUp(self):"},{"line_number":308,"context_line":"        super(TestMultiprocPubSub, self).setUp()"},{"line_number":309,"context_line":"        self.do_test \u003d cfg.CONF.df.pub_sub_use_multiproc"},{"line_number":310,"context_line":"        self.key \u003d \u0027key-{}\u0027.format(random.random())"},{"line_number":311,"context_line":"        self.event \u003d db_common.DbUpdate("},{"line_number":312,"context_line":"            \u0027info\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_b0d013f9","side":"PARENT","line":309,"in_reply_to":"5f7c97a3_b04a5324","updated":"2018-06-11 07:12:03.000000000","message":"Done","commit_id":"450e29b4518423149b37aeac30bbc42c44d6606d"},{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"9b0bc8d4aa684015f5ddf9d709073cc1963fd051","unresolved":false,"context_lines":[{"line_number":301,"context_line":"        self.assertEqual(ns.events_action, action)"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"class TestMultiprocPubSub(PubSubTestBase):"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"    def setUp(self):"},{"line_number":307,"context_line":"        super(TestMultiprocPubSub, self).setUp()"},{"line_number":308,"context_line":"        self.do_test \u003d (cfg.CONF.df.pub_sub_driver \u003d\u003d \u0027zmq_pubsub_driver\u0027)"},{"line_number":309,"context_line":"        self.key \u003d \u0027key-{}\u0027.format(random.random())"},{"line_number":310,"context_line":"        self.event \u003d db_common.DbUpdate("},{"line_number":311,"context_line":"            \u0027info\u0027,"},{"line_number":312,"context_line":"            None,"},{"line_number":313,"context_line":"            \"log\","},{"line_number":314,"context_line":"            \"TestMultiprocPubSub value\","},{"line_number":315,"context_line":"            topic\u003ddb_common.SEND_ALL_TOPIC,"},{"line_number":316,"context_line":"        )"},{"line_number":317,"context_line":"        self.publisher \u003d None"},{"line_number":318,"context_line":"        self.subscriber \u003d None"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    def tearDown(self):"},{"line_number":321,"context_line":"        if self.subscriber:"},{"line_number":322,"context_line":"            self.subscriber.close()"},{"line_number":323,"context_line":"        self._stop_publisher(self.publisher)"},{"line_number":324,"context_line":"        super(TestMultiprocPubSub, self).tearDown()"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    def _handle_received_event(self, table, key, action, value, topic):"},{"line_number":327,"context_line":"        self.event_received_info \u003d db_common.DbUpdate("},{"line_number":328,"context_line":"            table,"},{"line_number":329,"context_line":"            key,"},{"line_number":330,"context_line":"            action,"},{"line_number":331,"context_line":"            value,"},{"line_number":332,"context_line":"            topic\u003dtopic)"},{"line_number":333,"context_line":"        self.event_received \u003d True"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"class TestDbTableMonitors(PubSubTestBase):"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_50faba42","line":333,"range":{"start_line":304,"start_character":0,"end_line":333,"end_character":34},"updated":"2018-06-12 13:01:30.000000000","message":"Why keep this test class that is without tests?","commit_id":"c7258d668dd92dafdf9e19e50240b64bc183f2b4"},{"author":{"_account_id":17880,"name":"Shachar Snapiri","email":"shachar.snapiri@toganetworks.com","username":"snapiri"},"change_message_id":"05642776515a5c41e25dac08d7fefed85e501455","unresolved":false,"context_lines":[{"line_number":301,"context_line":"        self.assertEqual(ns.events_action, action)"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":""},{"line_number":304,"context_line":"class TestMultiprocPubSub(PubSubTestBase):"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"    def setUp(self):"},{"line_number":307,"context_line":"        super(TestMultiprocPubSub, self).setUp()"},{"line_number":308,"context_line":"        self.do_test \u003d (cfg.CONF.df.pub_sub_driver \u003d\u003d \u0027zmq_pubsub_driver\u0027)"},{"line_number":309,"context_line":"        self.key \u003d \u0027key-{}\u0027.format(random.random())"},{"line_number":310,"context_line":"        self.event \u003d db_common.DbUpdate("},{"line_number":311,"context_line":"            \u0027info\u0027,"},{"line_number":312,"context_line":"            None,"},{"line_number":313,"context_line":"            \"log\","},{"line_number":314,"context_line":"            \"TestMultiprocPubSub value\","},{"line_number":315,"context_line":"            topic\u003ddb_common.SEND_ALL_TOPIC,"},{"line_number":316,"context_line":"        )"},{"line_number":317,"context_line":"        self.publisher \u003d None"},{"line_number":318,"context_line":"        self.subscriber \u003d None"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    def tearDown(self):"},{"line_number":321,"context_line":"        if self.subscriber:"},{"line_number":322,"context_line":"            self.subscriber.close()"},{"line_number":323,"context_line":"        self._stop_publisher(self.publisher)"},{"line_number":324,"context_line":"        super(TestMultiprocPubSub, self).tearDown()"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"    def _handle_received_event(self, table, key, action, value, topic):"},{"line_number":327,"context_line":"        self.event_received_info \u003d db_common.DbUpdate("},{"line_number":328,"context_line":"            table,"},{"line_number":329,"context_line":"            key,"},{"line_number":330,"context_line":"            action,"},{"line_number":331,"context_line":"            value,"},{"line_number":332,"context_line":"            topic\u003dtopic)"},{"line_number":333,"context_line":"        self.event_received \u003d True"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"class TestDbTableMonitors(PubSubTestBase):"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_568e3279","line":333,"range":{"start_line":304,"start_character":0,"end_line":333,"end_character":34},"in_reply_to":"5f7c97a3_50faba42","updated":"2018-06-12 13:48:18.000000000","message":"My bad...","commit_id":"c7258d668dd92dafdf9e19e50240b64bc183f2b4"}],"dragonflow/tests/unit/test_api_nb.py":[{"author":{"_account_id":20229,"name":"Omer Anson","email":"omer.anson@toganetworks.com","username":"oanson"},"change_message_id":"66f42e3f1b9ecf8dc2fd779aeaa9dadcfb4fb580","unresolved":false,"context_lines":[{"line_number":40,"context_line":"class TestNbApi(tests_base.BaseTestCase):"},{"line_number":41,"context_line":"    def setUp(self):"},{"line_number":42,"context_line":"        super(TestNbApi, self).setUp()"},{"line_number":43,"context_line":"        self.api_nb \u003d api_nb.NbApi(db_driver\u003dmock.Mock())"},{"line_number":44,"context_line":"        self.api_nb.publisher \u003d mock.Mock()"},{"line_number":45,"context_line":"        self.api_nb.enable_selective_topo_dist \u003d True"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_d094af8d","line":43,"updated":"2018-06-11 06:35:32.000000000","message":"You may need to override the relevant configuration (e.g. enable pubsub) before creating an NbApi.","commit_id":"596649b00ae4a4f0a39a841310ddf0b0a9ecbb0a"}]}
