)]}'
{"oslo/messaging/_drivers/impl_zmq.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"34633a7e6b2fd64201bf49d7c130f38eb41f809f","unresolved":false,"context_lines":[{"line_number":87,"context_line":"]"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"CONF \u003d cfg.CONF"},{"line_number":90,"context_line":"CONF.register_opts(zmq_opts, group\u003d\u0027rpc_zmq\u0027)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"ZMQ_CTX \u003d None  # ZeroMQ Context, must be global."},{"line_number":93,"context_line":"matchmaker \u003d None  # memoized matchmaker object"}],"source_content_type":"text/x-python","patch_set":1,"id":"da9df570_eed77a21","line":90,"updated":"2014-09-24 14:52:19.000000000","message":"Options are already registered L901\n\nYou must add backward compatibility. \n\nAlso can you rename the group to oslo_messaging_zmq, I have already sent some reviews on that for rabbit and qpid and we have chosen oslo_messaging_\u003cdriver\u003e group name for driver options.","commit_id":"aa174a7fc66a1a884cac3fd2329cbf3d1933305a"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"f4d3f71c4b1bd13d66242cbd7c57c7083eea7280","unresolved":false,"context_lines":[{"line_number":87,"context_line":"]"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"CONF \u003d cfg.CONF"},{"line_number":90,"context_line":"CONF.register_opts(zmq_opts, group\u003d\u0027rpc_zmq\u0027)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"ZMQ_CTX \u003d None  # ZeroMQ Context, must be global."},{"line_number":93,"context_line":"matchmaker \u003d None  # memoized matchmaker object"}],"source_content_type":"text/x-python","patch_set":1,"id":"da9df570_b8b5b432","line":90,"in_reply_to":"da9df570_0459ff35","updated":"2014-09-24 17:41:15.000000000","message":"The options are currently registered in DEFAULT group, so if we change the group we must ensure it works when the item is in the DEFAULT section and the new section.\n\noslo.cfg proposes some helpers to do that easily.","commit_id":"aa174a7fc66a1a884cac3fd2329cbf3d1933305a"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"36eb9d38ae07d2422cf1af7bfd992e00c13fe2f3","unresolved":false,"context_lines":[{"line_number":87,"context_line":"]"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"CONF \u003d cfg.CONF"},{"line_number":90,"context_line":"CONF.register_opts(zmq_opts, group\u003d\u0027rpc_zmq\u0027)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"ZMQ_CTX \u003d None  # ZeroMQ Context, must be global."},{"line_number":93,"context_line":"matchmaker \u003d None  # memoized matchmaker object"}],"source_content_type":"text/x-python","patch_set":1,"id":"da9df570_41c92377","line":90,"in_reply_to":"da9df570_b8b5b432","updated":"2014-09-25 09:58:52.000000000","message":"Thanks!","commit_id":"aa174a7fc66a1a884cac3fd2329cbf3d1933305a"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"177578b4bfda3c5472a00f3a2c7aa2ae1fd0f8f2","unresolved":false,"context_lines":[{"line_number":87,"context_line":"]"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"CONF \u003d cfg.CONF"},{"line_number":90,"context_line":"CONF.register_opts(zmq_opts, group\u003d\u0027rpc_zmq\u0027)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"ZMQ_CTX \u003d None  # ZeroMQ Context, must be global."},{"line_number":93,"context_line":"matchmaker \u003d None  # memoized matchmaker object"}],"source_content_type":"text/x-python","patch_set":1,"id":"da9df570_0459ff35","line":90,"in_reply_to":"da9df570_eed77a21","updated":"2014-09-24 15:34:14.000000000","message":"\u003e\u003e\u003e You must add backward compatibility.\n\nPlease describe, what do you mean? What should be done?","commit_id":"aa174a7fc66a1a884cac3fd2329cbf3d1933305a"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"3e51097152c57db01d91e9cec61602e43c1e0ff6","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    return f"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"def register_zmq_opts(f):"},{"line_number":116,"context_line":"    @functools.wraps(f)"},{"line_number":117,"context_line":"    def wrap(*args, **kwargs):"},{"line_number":118,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"baa201ad_feb5ffec","line":115,"updated":"2014-10-17 10:36:09.000000000","message":"We don\u0027t need to create decorator to register options, they must be register into __init__ of ZmqDriver.","commit_id":"fb800a3b48fbb848949a9989cf3fad39e7e559e2"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"8a07fdbbe6dac98a7769b2997758d1dff9cfa127","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    return f"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"def register_zmq_opts(f):"},{"line_number":116,"context_line":"    @functools.wraps(f)"},{"line_number":117,"context_line":"    def wrap(*args, **kwargs):"},{"line_number":118,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a8c0949_af5cb1ee","line":115,"in_reply_to":"9aa7fdbe_39e33ca5","updated":"2014-11-05 11:22:50.000000000","message":"I\u0027m not sure will it work with registration only in ZmqDriver __init__. Anyway done.","commit_id":"fb800a3b48fbb848949a9989cf3fad39e7e559e2"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"4424c7158329c75657b5fe78099833f8e983aa42","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    return f"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"def register_zmq_opts(f):"},{"line_number":116,"context_line":"    @functools.wraps(f)"},{"line_number":117,"context_line":"    def wrap(*args, **kwargs):"},{"line_number":118,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"9aa7fdbe_39e33ca5","line":115,"in_reply_to":"baa201ad_feb5ffec","updated":"2014-10-25 13:05:57.000000000","message":"+1 it\u0027s straightforward to register options in __init__.","commit_id":"fb800a3b48fbb848949a9989cf3fad39e7e559e2"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"3e51097152c57db01d91e9cec61602e43c1e0ff6","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    @functools.wraps(f)"},{"line_number":117,"context_line":"    def wrap(*args, **kwargs):"},{"line_number":118,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":119,"context_line":"        eventlet_group_name \u003d \u0027oslo_messaging_eventlet\u0027"},{"line_number":120,"context_line":"        for arg in args:"},{"line_number":121,"context_line":"            if isinstance(arg, cfg.ConfigOpts):"},{"line_number":122,"context_line":"                if not hasattr(arg, zmq_group_name):"}],"source_content_type":"text/x-python","patch_set":8,"id":"baa201ad_7eeaefd8","line":119,"updated":"2014-10-17 10:36:09.000000000","message":"Why do you register the option into the oslo_messaging_eventlet section ?","commit_id":"fb800a3b48fbb848949a9989cf3fad39e7e559e2"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"8a07fdbbe6dac98a7769b2997758d1dff9cfa127","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    @functools.wraps(f)"},{"line_number":117,"context_line":"    def wrap(*args, **kwargs):"},{"line_number":118,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":119,"context_line":"        eventlet_group_name \u003d \u0027oslo_messaging_eventlet\u0027"},{"line_number":120,"context_line":"        for arg in args:"},{"line_number":121,"context_line":"            if isinstance(arg, cfg.ConfigOpts):"},{"line_number":122,"context_line":"                if not hasattr(arg, zmq_group_name):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a8c0949_2f68c186","line":119,"in_reply_to":"baa201ad_7eeaefd8","updated":"2014-11-05 11:22:50.000000000","message":"If we don\u0027t need separated group for eventlet opts I\u0027m ok with this option in the default group.","commit_id":"fb800a3b48fbb848949a9989cf3fad39e7e559e2"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"b59e685836a8aa309f95f086d49be3a0fedb38a0","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    @functools.wraps(f)"},{"line_number":117,"context_line":"    def wrap(*args, **kwargs):"},{"line_number":118,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":119,"context_line":"        eventlet_group_name \u003d \u0027oslo_messaging_eventlet\u0027"},{"line_number":120,"context_line":"        for arg in args:"},{"line_number":121,"context_line":"            if isinstance(arg, cfg.ConfigOpts):"},{"line_number":122,"context_line":"                if not hasattr(arg, zmq_group_name):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a8c0949_f2edd98c","line":119,"in_reply_to":"baa201ad_7eeaefd8","updated":"2014-10-31 14:23:03.000000000","message":"good question","commit_id":"fb800a3b48fbb848949a9989cf3fad39e7e559e2"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"3e51097152c57db01d91e9cec61602e43c1e0ff6","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":119,"context_line":"        eventlet_group_name \u003d \u0027oslo_messaging_eventlet\u0027"},{"line_number":120,"context_line":"        for arg in args:"},{"line_number":121,"context_line":"            if isinstance(arg, cfg.ConfigOpts):"},{"line_number":122,"context_line":"                if not hasattr(arg, zmq_group_name):"},{"line_number":123,"context_line":"                    opt_group \u003d cfg.OptGroup(name\u003dzmq_group_name)"},{"line_number":124,"context_line":"                    arg.register_group(opt_group)"}],"source_content_type":"text/x-python","patch_set":8,"id":"baa201ad_5ec60b69","line":121,"updated":"2014-10-17 10:36:09.000000000","message":"Unnecessary check","commit_id":"fb800a3b48fbb848949a9989cf3fad39e7e559e2"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"8a07fdbbe6dac98a7769b2997758d1dff9cfa127","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":119,"context_line":"        eventlet_group_name \u003d \u0027oslo_messaging_eventlet\u0027"},{"line_number":120,"context_line":"        for arg in args:"},{"line_number":121,"context_line":"            if isinstance(arg, cfg.ConfigOpts):"},{"line_number":122,"context_line":"                if not hasattr(arg, zmq_group_name):"},{"line_number":123,"context_line":"                    opt_group \u003d cfg.OptGroup(name\u003dzmq_group_name)"},{"line_number":124,"context_line":"                    arg.register_group(opt_group)"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a8c0949_6f09e9dc","line":121,"in_reply_to":"baa201ad_5ec60b69","updated":"2014-11-05 11:22:50.000000000","message":"Nop, I register options only if it is config. Other type have no register_* api so attribute error will be raised. But if we don\u0027t need the decorator it doesn\u0027t matter.","commit_id":"fb800a3b48fbb848949a9989cf3fad39e7e559e2"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"55cd6e8bedc33c7e654accc3893e9e2609755346","unresolved":false,"context_lines":[{"line_number":383,"context_line":""},{"line_number":384,"context_line":"    def __init__(self, conf):"},{"line_number":385,"context_line":"        super(ZmqBaseReactor, self).__init__(conf)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":388,"context_line":"        opt_group \u003d cfg.OptGroup(name\u003dzmq_group_name)"},{"line_number":389,"context_line":"        conf.register_group(opt_group)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_18b2ff93","line":386,"updated":"2014-11-15 05:43:18.000000000","message":"suggest to make it in an individual function, for example:\n\nZMQ_OPT_GROUP_NAME \u003d \u0027oslo_messaging_zmq\u0027\n\ndef register_zmq_ops(conf):\n   opt_group \u003d cfg.OptGroup(name\u003dZMQ_OPT_GROUP_NAME)\n   conf.register_group(opt_group)\n   conf.register_opts(zmq_opts, group\u003dZMQ_OPT_GROUP_NAME)\n   conf.register_opts(impl_eventlet._eventlet_opts)","commit_id":"9287ef3d2601bd6ae8ef8f740c1ac20c99653a14"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"fdd14f43f8239459ce9f1f17b01f4bcc3da1f197","unresolved":false,"context_lines":[{"line_number":383,"context_line":""},{"line_number":384,"context_line":"    def __init__(self, conf):"},{"line_number":385,"context_line":"        super(ZmqBaseReactor, self).__init__(conf)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":388,"context_line":"        opt_group \u003d cfg.OptGroup(name\u003dzmq_group_name)"},{"line_number":389,"context_line":"        conf.register_group(opt_group)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_54580b56","line":386,"in_reply_to":"5a890539_18b2ff93","updated":"2014-12-01 11:31:12.000000000","message":"Done","commit_id":"9287ef3d2601bd6ae8ef8f740c1ac20c99653a14"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"ed78d4caa35d2791f897604e502f53895598f76e","unresolved":false,"context_lines":[{"line_number":384,"context_line":"    def __init__(self, conf):"},{"line_number":385,"context_line":"        super(ZmqBaseReactor, self).__init__(conf)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":388,"context_line":"        opt_group \u003d cfg.OptGroup(name\u003dzmq_group_name)"},{"line_number":389,"context_line":"        conf.register_group(opt_group)"},{"line_number":390,"context_line":"        conf.register_opts(zmq_opts, group\u003dzmq_group_name)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_94522565","line":387,"updated":"2014-11-17 11:23:49.000000000","message":"Registering the option here is not useful, they are already defined in ZmqDriver class","commit_id":"9287ef3d2601bd6ae8ef8f740c1ac20c99653a14"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"fdd14f43f8239459ce9f1f17b01f4bcc3da1f197","unresolved":false,"context_lines":[{"line_number":384,"context_line":"    def __init__(self, conf):"},{"line_number":385,"context_line":"        super(ZmqBaseReactor, self).__init__(conf)"},{"line_number":386,"context_line":""},{"line_number":387,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":388,"context_line":"        opt_group \u003d cfg.OptGroup(name\u003dzmq_group_name)"},{"line_number":389,"context_line":"        conf.register_group(opt_group)"},{"line_number":390,"context_line":"        conf.register_opts(zmq_opts, group\u003dzmq_group_name)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_2fd8867e","line":387,"in_reply_to":"5a890539_94522565","updated":"2014-12-01 11:31:12.000000000","message":"This is a problem. I believe it can be fake problem caused by my weak understanding of objects relation. If we can be sure that the consumer can\u0027t be used before the driver it is ok. But it still seems to me strange when **one object uses config options registered by another object**. This is implicit connectivity, isn\u0027t it? Please, describe to me, why is it good idea to use such of design?","commit_id":"9287ef3d2601bd6ae8ef8f740c1ac20c99653a14"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"ed78d4caa35d2791f897604e502f53895598f76e","unresolved":false,"context_lines":[{"line_number":604,"context_line":""},{"line_number":605,"context_line":"    def create_consumer(self, topic, proxy, fanout\u003dFalse):"},{"line_number":606,"context_line":"        # Register with matchmaker."},{"line_number":607,"context_line":"        _get_matchmaker().register(topic, self.conf.oslo_messaging_zmq.host)"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"        # Subscription scenarios"},{"line_number":610,"context_line":"        if fanout:"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_14f55556","line":607,"updated":"2014-11-17 11:23:49.000000000","message":"self.conf is missing in _get_matchmaker().","commit_id":"9287ef3d2601bd6ae8ef8f740c1ac20c99653a14"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"fdd14f43f8239459ce9f1f17b01f4bcc3da1f197","unresolved":false,"context_lines":[{"line_number":604,"context_line":""},{"line_number":605,"context_line":"    def create_consumer(self, topic, proxy, fanout\u003dFalse):"},{"line_number":606,"context_line":"        # Register with matchmaker."},{"line_number":607,"context_line":"        _get_matchmaker().register(topic, self.conf.oslo_messaging_zmq.host)"},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"        # Subscription scenarios"},{"line_number":610,"context_line":"        if fanout:"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_6fc36e57","line":607,"in_reply_to":"5a890539_14f55556","updated":"2014-12-01 11:31:12.000000000","message":"Done","commit_id":"9287ef3d2601bd6ae8ef8f740c1ac20c99653a14"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"719d14799f2f35ea3fb90378d0afa6818f7b7c3c","unresolved":false,"context_lines":[{"line_number":884,"context_line":"                 allowed_remote_exmods\u003dNone):"},{"line_number":885,"context_line":"        super(ZmqDriver, self).__init__(conf, url, default_exchange,"},{"line_number":886,"context_line":"                                        allowed_remote_exmods)"},{"line_number":887,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":888,"context_line":"        opt_group \u003d cfg.OptGroup(name\u003dzmq_group_name)"},{"line_number":889,"context_line":"        conf.register_group(opt_group)"},{"line_number":890,"context_line":"        conf.register_opts(zmq_opts, group\u003dzmq_group_name)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_6d16fa56","line":887,"updated":"2014-11-14 12:07:09.000000000","message":"we should make this a constant so we don\u0027t define it in multiple places","commit_id":"9287ef3d2601bd6ae8ef8f740c1ac20c99653a14"},{"author":{"_account_id":7805,"name":"Li Ma","email":"skywalker.nick@gmail.com","username":"Nick"},"change_message_id":"55cd6e8bedc33c7e654accc3893e9e2609755346","unresolved":false,"context_lines":[{"line_number":884,"context_line":"                 allowed_remote_exmods\u003dNone):"},{"line_number":885,"context_line":"        super(ZmqDriver, self).__init__(conf, url, default_exchange,"},{"line_number":886,"context_line":"                                        allowed_remote_exmods)"},{"line_number":887,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":888,"context_line":"        opt_group \u003d cfg.OptGroup(name\u003dzmq_group_name)"},{"line_number":889,"context_line":"        conf.register_group(opt_group)"},{"line_number":890,"context_line":"        conf.register_opts(zmq_opts, group\u003dzmq_group_name)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_b8c3abeb","line":887,"in_reply_to":"5a890539_6d16fa56","updated":"2014-11-15 05:43:18.000000000","message":"+1","commit_id":"9287ef3d2601bd6ae8ef8f740c1ac20c99653a14"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"fdd14f43f8239459ce9f1f17b01f4bcc3da1f197","unresolved":false,"context_lines":[{"line_number":884,"context_line":"                 allowed_remote_exmods\u003dNone):"},{"line_number":885,"context_line":"        super(ZmqDriver, self).__init__(conf, url, default_exchange,"},{"line_number":886,"context_line":"                                        allowed_remote_exmods)"},{"line_number":887,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":888,"context_line":"        opt_group \u003d cfg.OptGroup(name\u003dzmq_group_name)"},{"line_number":889,"context_line":"        conf.register_group(opt_group)"},{"line_number":890,"context_line":"        conf.register_opts(zmq_opts, group\u003dzmq_group_name)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5a890539_2fbfa6fd","line":887,"in_reply_to":"5a890539_b8c3abeb","updated":"2014-12-01 11:31:12.000000000","message":"Done in a separated function.","commit_id":"9287ef3d2601bd6ae8ef8f740c1ac20c99653a14"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b426bf9ca2e508de52f95da0186d655addbac47d","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"def register_zmq_opts(conf):"},{"line_number":108,"context_line":"    if not hasattr(conf, \u0027oslo_messaging_zmq\u0027):"},{"line_number":109,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":110,"context_line":"        opt_group \u003d cfg.OptGroup(name\u003dzmq_group_name)"},{"line_number":111,"context_line":"        conf.register_group(opt_group)"}],"source_content_type":"text/x-python","patch_set":10,"id":"5a890539_6518ef75","line":108,"updated":"2014-11-21 15:39:39.000000000","message":"You must not check the presence of the config group, this hide a duplication declaration.","commit_id":"4f404df8513f8d00d49d09cc9b6b837675a09b6c"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"687c1333e78ce1a027dd4d9ae57ea68364ac698f","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"def register_zmq_opts(conf):"},{"line_number":108,"context_line":"    if not hasattr(conf, \u0027oslo_messaging_zmq\u0027):"},{"line_number":109,"context_line":"        zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":110,"context_line":"        opt_group \u003d cfg.OptGroup(name\u003dzmq_group_name)"},{"line_number":111,"context_line":"        conf.register_group(opt_group)"}],"source_content_type":"text/x-python","patch_set":10,"id":"5a890539_677e606c","line":108,"in_reply_to":"5a890539_6518ef75","updated":"2014-12-01 11:31:42.000000000","message":"Done","commit_id":"4f404df8513f8d00d49d09cc9b6b837675a09b6c"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b426bf9ca2e508de52f95da0186d655addbac47d","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        conf.register_group(opt_group)"},{"line_number":112,"context_line":"        conf.register_opts(zmq_opts, group\u003dzmq_group_name)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    if not hasattr(conf, \u0027rpc_thread_pool_size\u0027):"},{"line_number":115,"context_line":"        conf.register_opts(impl_eventlet._eventlet_opts)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5a890539_2591879a","line":114,"updated":"2014-11-21 15:39:39.000000000","message":"Same here.","commit_id":"4f404df8513f8d00d49d09cc9b6b837675a09b6c"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"687c1333e78ce1a027dd4d9ae57ea68364ac698f","unresolved":false,"context_lines":[{"line_number":111,"context_line":"        conf.register_group(opt_group)"},{"line_number":112,"context_line":"        conf.register_opts(zmq_opts, group\u003dzmq_group_name)"},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"    if not hasattr(conf, \u0027rpc_thread_pool_size\u0027):"},{"line_number":115,"context_line":"        conf.register_opts(impl_eventlet._eventlet_opts)"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5a890539_87942c8d","line":114,"in_reply_to":"5a890539_2591879a","updated":"2014-12-01 11:31:42.000000000","message":"Done","commit_id":"4f404df8513f8d00d49d09cc9b6b837675a09b6c"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"b426bf9ca2e508de52f95da0186d655addbac47d","unresolved":false,"context_lines":[{"line_number":397,"context_line":"    def __init__(self, conf):"},{"line_number":398,"context_line":"        super(ZmqBaseReactor, self).__init__(conf)"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"        register_zmq_opts(conf)"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"        self.proxies \u003d {}"},{"line_number":403,"context_line":"        self.threads \u003d []"}],"source_content_type":"text/x-python","patch_set":10,"id":"5a890539_45b9332d","line":400,"updated":"2014-11-21 15:39:39.000000000","message":"Why do we need to redeclare the option here? they are already declarer in ZmqDriver.__init__.","commit_id":"4f404df8513f8d00d49d09cc9b6b837675a09b6c"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"687c1333e78ce1a027dd4d9ae57ea68364ac698f","unresolved":false,"context_lines":[{"line_number":397,"context_line":"    def __init__(self, conf):"},{"line_number":398,"context_line":"        super(ZmqBaseReactor, self).__init__(conf)"},{"line_number":399,"context_line":""},{"line_number":400,"context_line":"        register_zmq_opts(conf)"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"        self.proxies \u003d {}"},{"line_number":403,"context_line":"        self.threads \u003d []"}],"source_content_type":"text/x-python","patch_set":10,"id":"5a890539_34a11a96","line":400,"in_reply_to":"5a890539_45b9332d","updated":"2014-12-01 11:31:42.000000000","message":"Maybe I\u0027m not correctly understand a current architecture of the driver, but might not these classes (ZmqBaseReactor and ZmqDriver) used separately or may not ZmqBaseReactor be called before the driver? My concern is the design when one entity uses something initialized in other entity is weird.\n\nI\u0027ll remove it, but I need a small description.","commit_id":"4f404df8513f8d00d49d09cc9b6b837675a09b6c"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"27b1678ee5ecf0308f5020041ee80055c9596c42","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"def register_zmq_opts(conf):"},{"line_number":52,"context_line":"    zmq_group_name \u003d \u0027oslo_messaging_zmq\u0027"},{"line_number":53,"context_line":"    opt_group \u003d cfg.OptGroup(name\u003dzmq_group_name)"},{"line_number":54,"context_line":"    conf.register_group(opt_group)"},{"line_number":55,"context_line":"    conf.register_opts(zmq_opts.zmq_opts, group\u003dzmq_group_name)"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3a961159_5914d043","line":53,"updated":"2014-12-10 13:14:09.000000000","message":"no need to allocate another one variable, just use it directly\n\n opt_group \u003d cfg.OptGroup(\"oslo_messaging_zmq\", title\u003d\"0MQ driver options.\", help\u003d\"Oslo.config options for 0MQ driver.\")","commit_id":"02f0a89c348b157f7f4077dfaea7f9983ed36680"}],"oslo/messaging/_executors/impl_eventlet.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"3e51097152c57db01d91e9cec61602e43c1e0ff6","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"_eventlet_opts \u003d ["},{"line_number":27,"context_line":"    cfg.IntOpt(\u0027rpc_thread_pool_size\u0027,"},{"line_number":28,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":29,"context_line":"               default\u003d64,"},{"line_number":30,"context_line":"               help\u003d\u0027Size of RPC greenthread pool.\u0027),"},{"line_number":31,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":8,"id":"baa201ad_3ee4e70b","line":28,"updated":"2014-10-17 10:36:09.000000000","message":"Why that ? the option is still register into the DEFAULT section L76","commit_id":"fb800a3b48fbb848949a9989cf3fad39e7e559e2"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"b59e685836a8aa309f95f086d49be3a0fedb38a0","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"_eventlet_opts \u003d ["},{"line_number":27,"context_line":"    cfg.IntOpt(\u0027rpc_thread_pool_size\u0027,"},{"line_number":28,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":29,"context_line":"               default\u003d64,"},{"line_number":30,"context_line":"               help\u003d\u0027Size of RPC greenthread pool.\u0027),"},{"line_number":31,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a8c0949_52fced3e","line":28,"in_reply_to":"baa201ad_3ee4e70b","updated":"2014-10-31 14:23:03.000000000","message":"+1","commit_id":"fb800a3b48fbb848949a9989cf3fad39e7e559e2"},{"author":{"_account_id":7536,"name":"Ilya Pekelny","email":"ipekelny@mirantis.com","username":"I159"},"change_message_id":"8a07fdbbe6dac98a7769b2997758d1dff9cfa127","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"_eventlet_opts \u003d ["},{"line_number":27,"context_line":"    cfg.IntOpt(\u0027rpc_thread_pool_size\u0027,"},{"line_number":28,"context_line":"               deprecated_group\u003d\u0027DEFAULT\u0027,"},{"line_number":29,"context_line":"               default\u003d64,"},{"line_number":30,"context_line":"               help\u003d\u0027Size of RPC greenthread pool.\u0027),"},{"line_number":31,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a8c0949_6902b370","line":28,"in_reply_to":"baa201ad_3ee4e70b","updated":"2014-11-05 11:22:50.000000000","message":"I putted the option back in the default group.","commit_id":"fb800a3b48fbb848949a9989cf3fad39e7e559e2"}]}
