)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11224,"name":"Swami Reddy","email":"swamireddy@gmail.com","username":"swamireddy"},"change_message_id":"aae68f4907a16ef019fd295732d68a9907eb5e0d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"there is no broker inbetween;"},{"line_number":11,"context_line":"To distinguish multiple backends append the backend to the topic."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Implements bp cinder-zeromq-support"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I63945789a6805eb0678a0ee9758d6e2ab5875cf5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"3ac371cc_1dd47c1e","line":13,"updated":"2016-08-16 07:24:26.000000000","message":"Implements: blueprint cinder-zeromq-support","commit_id":"b156258fff247caf0e410722fc69e9df14557642"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"a2f56326b4ec52dcd8fe67f174e0fd3d5bcda306","unresolved":false,"context_lines":[{"line_number":10,"context_line":"there is no broker inbetween;"},{"line_number":11,"context_line":"To distinguish multiple backends append the backend to the topic."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Co-Authored-By: Harini \u003charinipradeep27@gmail.com\u003e"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Implements bp cinder-zeromq-support"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"1ac06dbe_51441ab6","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":50},"updated":"2016-08-25 12:45:36.000000000","message":"Thanks for recognizing him here!","commit_id":"84f17bc8d3e724da5a8d979d7017f4f69d2bf451"},{"author":{"_account_id":11224,"name":"Swami Reddy","email":"swamireddy@gmail.com","username":"swamireddy"},"change_message_id":"b6e71e823df6a1ecc4cca98ba36cab4d76d539bb","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Co-Authored-By: Harini \u003charinipradeep27@gmail.com\u003e"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Implements bp cinder-zeromq-support"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I63945789a6805eb0678a0ee9758d6e2ab5875cf5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"fa7ab95a_bf8d857d","line":16,"updated":"2016-08-26 06:53:49.000000000","message":"Implements: bp cinder-zeromq-support","commit_id":"077c0b4ac724216a2baed80bd58ae1d2a137c731"},{"author":{"_account_id":11224,"name":"Swami Reddy","email":"swamireddy@gmail.com","username":"swamireddy"},"change_message_id":"ad48b014912a862b7bcc49aea0d6b7e6f825ef31","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Co-Authored-By: Harini \u003charinipradeep27@gmail.com\u003e"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Implements bp cinder-zeromq-support"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I63945789a6805eb0678a0ee9758d6e2ab5875cf5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"fa7ab95a_4abdebd6","line":15,"updated":"2016-08-30 06:41:09.000000000","message":"Implements: bp cinder-zeromq-support","commit_id":"e238fac36092e6bc076e011be6aff44991738ac2"}],"cinder/cmd/volume.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"cee84c60f4f70bc575f416d80400e23a5fe13006","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            backend_host \u003d getattr(CONF, backend).backend_host"},{"line_number":76,"context_line":"            host \u003d \"%s@%s\" % (backend_host or CONF.host, backend)"},{"line_number":77,"context_line":"            topic \u003d volume_utils.get_volume_rpc_topic(host) or BINARY"},{"line_number":78,"context_line":"            target \u003d messaging.Target(server\u003dhost, topic\u003dtopic)"},{"line_number":79,"context_line":"            try:"},{"line_number":80,"context_line":"                server \u003d service.Service.create(host\u003dhost,"},{"line_number":81,"context_line":"                                                target\u003dtarget,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a5ae5dd_bd3685b2","line":78,"range":{"start_line":78,"start_character":12,"end_line":78,"end_character":63},"updated":"2016-02-09 16:23:07.000000000","message":"Can\u0027t we just pass the topic instead of whole target object? Seems like this would simplify the code greatly.","commit_id":"f08c1cf0471e43ccb3d511ade4e82d3e5b580b43"},{"author":{"_account_id":11215,"name":"Vivek Dhayaal","email":"vivekdhayaal@gmail.com","username":"vivekdhayaal"},"change_message_id":"1db175aeaf6ecd8253d1d7c02c4bd242d2caf865","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            backend_host \u003d getattr(CONF, backend).backend_host"},{"line_number":76,"context_line":"            host \u003d \"%s@%s\" % (backend_host or CONF.host, backend)"},{"line_number":77,"context_line":"            topic \u003d volume_utils.get_volume_rpc_topic(host) or BINARY"},{"line_number":78,"context_line":"            target \u003d messaging.Target(server\u003dhost, topic\u003dtopic)"},{"line_number":79,"context_line":"            try:"},{"line_number":80,"context_line":"                server \u003d service.Service.create(host\u003dhost,"},{"line_number":81,"context_line":"                                                target\u003dtarget,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_b432c5f0","line":78,"range":{"start_line":78,"start_character":12,"end_line":78,"end_character":63},"in_reply_to":"5a5ae5dd_bd3685b2","updated":"2016-02-11 20:12:30.000000000","message":"Will try to simplify in the next patch...","commit_id":"f08c1cf0471e43ccb3d511ade4e82d3e5b580b43"}],"cinder/constants.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"3b588145541dd89dcb8d6ad3584d5242b48b1037","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\"Cinder constants.\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"CINDER_VOLUME \u003d \u0027cinder-volume\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aed3d3a_31aa6ed5","line":19,"updated":"2016-02-25 21:25:01.000000000","message":"Please don\u0027t add this.  If we ever had a reason to change this, the variable name would be confusing, and we\u0027d want to change that too.\n\nSo just use \u0027cinder-volume\u0027 where this is needed.","commit_id":"cd53485cfb9eb507a3a3204ccfaf710f6c0a4ae2"},{"author":{"_account_id":11215,"name":"Vivek Dhayaal","email":"vivekdhayaal@gmail.com","username":"vivekdhayaal"},"change_message_id":"699deb2b950377a9b7a230fe8e75bc98e80feaaf","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\"Cinder constants.\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"CINDER_VOLUME \u003d \u0027cinder-volume\u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aed3d3a_1efc0ab7","line":19,"in_reply_to":"9aed3d3a_31aa6ed5","updated":"2016-02-29 13:59:23.000000000","message":"Done Eric!","commit_id":"cd53485cfb9eb507a3a3204ccfaf710f6c0a4ae2"}],"cinder/rpc.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d954dc90a309914faa05f61d20cc792e563646e2","unresolved":false,"context_lines":[{"line_number":235,"context_line":"    \"\"\""},{"line_number":236,"context_line":"    if is_distributed_messenger() and binary is \u0027cinder-volume\u0027:"},{"line_number":237,"context_line":"        # Distributed messenger(ZeroMQ) uses the hostname for connections."},{"line_number":238,"context_line":"        # So, distinguish multilple backends by appending backend to topic"},{"line_number":239,"context_line":"        backend \u003d host.split(POOL_SEP)[0].split(BACKEND_SEP)[1]"},{"line_number":240,"context_line":"        topic \u003d BACKEND_SEP.join([topic, backend])"},{"line_number":241,"context_line":"    return topic"}],"source_content_type":"text/x-python","patch_set":14,"id":"1ac06dbe_3d953f88","line":238,"range":{"start_line":238,"start_character":26,"end_line":238,"end_character":35},"updated":"2016-08-24 13:27:44.000000000","message":"multiple","commit_id":"b156258fff247caf0e410722fc69e9df14557642"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d954dc90a309914faa05f61d20cc792e563646e2","unresolved":false,"context_lines":[{"line_number":236,"context_line":"    if is_distributed_messenger() and binary is \u0027cinder-volume\u0027:"},{"line_number":237,"context_line":"        # Distributed messenger(ZeroMQ) uses the hostname for connections."},{"line_number":238,"context_line":"        # So, distinguish multilple backends by appending backend to topic"},{"line_number":239,"context_line":"        backend \u003d host.split(POOL_SEP)[0].split(BACKEND_SEP)[1]"},{"line_number":240,"context_line":"        topic \u003d BACKEND_SEP.join([topic, backend])"},{"line_number":241,"context_line":"    return topic"},{"line_number":242,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"1ac06dbe_d844f91c","line":239,"range":{"start_line":239,"start_character":0,"end_line":239,"end_character":63},"updated":"2016-08-24 13:27:44.000000000","message":"This will fail if \u0027@\u0027 isn\u0027t present in the host string. This is totally possible if user configured Cinder using deprecated single-backend way.","commit_id":"b156258fff247caf0e410722fc69e9df14557642"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"a2f56326b4ec52dcd8fe67f174e0fd3d5bcda306","unresolved":false,"context_lines":[{"line_number":236,"context_line":"    if is_distributed_messenger() and binary is \u0027cinder-volume\u0027:"},{"line_number":237,"context_line":"        # Distributed messenger(ZeroMQ) uses the hostname for connections."},{"line_number":238,"context_line":"        # So, distinguish multiple backends by appending backend to topic"},{"line_number":239,"context_line":"        try:"},{"line_number":240,"context_line":"            backend \u003d host.split(POOL_SEP)[0].split(BACKEND_SEP)[1]"},{"line_number":241,"context_line":"            topic \u003d BACKEND_SEP.join([topic, backend])"},{"line_number":242,"context_line":"        except IndexError:"},{"line_number":243,"context_line":"            # BACKEND_SEP isn\u0027t part of host string so it should be"},{"line_number":244,"context_line":"            # single backend config so return topic as is."},{"line_number":245,"context_line":"            pass"},{"line_number":246,"context_line":"    return topic"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"1ac06dbe_d1000a69","line":245,"range":{"start_line":239,"start_character":0,"end_line":245,"end_character":16},"updated":"2016-08-25 12:45:36.000000000","message":"True Pythonic way. :)","commit_id":"84f17bc8d3e724da5a8d979d7017f4f69d2bf451"},{"author":{"_account_id":17717,"name":"liuke","email":"liuke2@huawei.com","username":"liuke"},"change_message_id":"b4d199e62e3788f699ffb8ebfa78c25509f911ed","unresolved":false,"context_lines":[{"line_number":243,"context_line":"        except IndexError:"},{"line_number":244,"context_line":"            # BACKEND_SEP isn\u0027t part of host string so it should be"},{"line_number":245,"context_line":"            # single backend config so return topic as is."},{"line_number":246,"context_line":"            pass"},{"line_number":247,"context_line":"    return topic"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"fa7ab95a_ebaf137b","line":246,"range":{"start_line":246,"start_character":12,"end_line":246,"end_character":16},"updated":"2016-09-01 02:12:50.000000000","message":"You should output the log in the exception flow, not pass","commit_id":"c63560b77c905b23b7570ce0e6e73eebfbf3477d"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"bab86f3327d133e39d2178714f3240a1bbab6a26","unresolved":false,"context_lines":[{"line_number":243,"context_line":"        except IndexError:"},{"line_number":244,"context_line":"            # BACKEND_SEP isn\u0027t part of host string so it should be"},{"line_number":245,"context_line":"            # single backend config so return topic as is."},{"line_number":246,"context_line":"            pass"},{"line_number":247,"context_line":"    return topic"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"fa7ab95a_6d1bf780","line":246,"range":{"start_line":246,"start_character":12,"end_line":246,"end_character":16},"in_reply_to":"fa7ab95a_ebaf137b","updated":"2016-09-01 13:32:17.000000000","message":"I don\u0027t agree. It\u0027s totally normal situation - Cinder is configured in deprecated single-backend way. No need to log exception each time we\u0027re sending RPC message.\n\nThis is Pythonic way of doing things - EAFP [1].\n\n[1] http://stackoverflow.com/questions/11360858/what-is-the-eafp-principle-in-python","commit_id":"c63560b77c905b23b7570ce0e6e73eebfbf3477d"}],"cinder/service.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"c5056e323e7252e846928c0e2e2a38f0adc66761","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"        self.manager.init_host(added_to_cluster\u003dself.added_to_cluster)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        LOG.debug(\"Creating RPC server for service %s\", self.topic)"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"        rpc_topic \u003d rpc.get_rpc_topic(self.host, self.binary, self.topic)"},{"line_number":235,"context_line":"        target \u003d messaging.Target(topic\u003drpc_topic, server\u003dself.host)"}],"source_content_type":"text/x-python","patch_set":16,"id":"1ac06dbe_5f253cc0","line":232,"range":{"start_line":232,"start_character":0,"end_line":232,"end_character":67},"updated":"2016-08-25 14:06:10.000000000","message":"Can we log real topic here?","commit_id":"4ef84d04a8efc4027b29f0315162f0418bcfcae2"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"c5056e323e7252e846928c0e2e2a38f0adc66761","unresolved":false,"context_lines":[{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        # TODO(geguileo): In O - Remove the is_svc_upgrading_to_n part"},{"line_number":243,"context_line":"        if self.cluster and not self.is_svc_upgrading_to_n(self.binary):"},{"line_number":244,"context_line":"            LOG.info(_LI(\u0027Starting %(topic)s cluster %(cluster)s (version \u0027"},{"line_number":245,"context_line":"                         \u0027%(version)s)\u0027),"},{"line_number":246,"context_line":"                     {\u0027topic\u0027: self.topic, \u0027version\u0027: version_string,"},{"line_number":247,"context_line":"                      \u0027cluster\u0027: self.cluster})"},{"line_number":248,"context_line":"            target \u003d messaging.Target(topic\u003dself.topic, server\u003dself.cluster)"}],"source_content_type":"text/x-python","patch_set":16,"id":"1ac06dbe_9f2fb4a0","line":245,"range":{"start_line":244,"start_character":0,"end_line":245,"end_character":41},"updated":"2016-08-25 14:06:10.000000000","message":"And here.","commit_id":"4ef84d04a8efc4027b29f0315162f0418bcfcae2"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"c5056e323e7252e846928c0e2e2a38f0adc66761","unresolved":false,"context_lines":[{"line_number":245,"context_line":"                         \u0027%(version)s)\u0027),"},{"line_number":246,"context_line":"                     {\u0027topic\u0027: self.topic, \u0027version\u0027: version_string,"},{"line_number":247,"context_line":"                      \u0027cluster\u0027: self.cluster})"},{"line_number":248,"context_line":"            target \u003d messaging.Target(topic\u003dself.topic, server\u003dself.cluster)"},{"line_number":249,"context_line":"            serializer \u003d objects_base.CinderObjectSerializer()"},{"line_number":250,"context_line":"            self.cluster_rpcserver \u003d rpc.get_server(target, endpoints,"},{"line_number":251,"context_line":"                                                    serializer)"}],"source_content_type":"text/x-python","patch_set":16,"id":"1ac06dbe_1f3bc4ec","line":248,"range":{"start_line":248,"start_character":21,"end_line":248,"end_character":30},"updated":"2016-08-25 14:06:10.000000000","message":"One more issue - shouldn\u0027t you modify topic also here?","commit_id":"4ef84d04a8efc4027b29f0315162f0418bcfcae2"},{"author":{"_account_id":11215,"name":"Vivek Dhayaal","email":"vivekdhayaal@gmail.com","username":"vivekdhayaal"},"change_message_id":"abe0b8950ad046885213d0d31813c9d78f9abd2e","unresolved":false,"context_lines":[{"line_number":245,"context_line":"                         \u0027%(version)s)\u0027),"},{"line_number":246,"context_line":"                     {\u0027topic\u0027: self.topic, \u0027version\u0027: version_string,"},{"line_number":247,"context_line":"                      \u0027cluster\u0027: self.cluster})"},{"line_number":248,"context_line":"            target \u003d messaging.Target(topic\u003dself.topic, server\u003dself.cluster)"},{"line_number":249,"context_line":"            serializer \u003d objects_base.CinderObjectSerializer()"},{"line_number":250,"context_line":"            self.cluster_rpcserver \u003d rpc.get_server(target, endpoints,"},{"line_number":251,"context_line":"                                                    serializer)"}],"source_content_type":"text/x-python","patch_set":16,"id":"1ac06dbe_4b029e3f","line":248,"range":{"start_line":248,"start_character":21,"end_line":248,"end_character":30},"in_reply_to":"1ac06dbe_1f3bc4ec","updated":"2016-08-25 14:57:34.000000000","message":"Could we address cluster related code changes in a separate patch?","commit_id":"4ef84d04a8efc4027b29f0315162f0418bcfcae2"}],"cinder/tests/unit/test_rpc.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d954dc90a309914faa05f61d20cc792e563646e2","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        self.assertFalse(get_min_rpc.called)"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"class RPCTestCase(test.TestCase):"},{"line_number":105,"context_line":"    def test_get_rpc_host(self):"},{"line_number":106,"context_line":"        host \u003d \u0027Host@backend\u0027"},{"line_number":107,"context_line":"        # default level is \u0027backend\u0027"},{"line_number":108,"context_line":"        # check if host with backend is returned"},{"line_number":109,"context_line":"        self.assertEqual(rpc.extract_from_host(host),"},{"line_number":110,"context_line":"                         rpc.get_rpc_host(host, \u0027cinder-volume\u0027))"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"    def test_get_rpc_topic(self):"},{"line_number":113,"context_line":"        host \u003d \u0027Host@backend\u0027"},{"line_number":114,"context_line":"        binary \u003d \u0027cinder-volume\u0027"},{"line_number":115,"context_line":"        topic \u003d binary"},{"line_number":116,"context_line":"        self.assertEqual(topic, rpc.get_rpc_topic(host, binary, topic))"}],"source_content_type":"text/x-python","patch_set":14,"id":"1ac06dbe_58192979","line":116,"range":{"start_line":104,"start_character":0,"end_line":116,"end_character":71},"updated":"2016-08-24 13:27:44.000000000","message":"I think we should test some more complicated cases.","commit_id":"b156258fff247caf0e410722fc69e9df14557642"}],"cinder/volume/rpcapi.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"cee84c60f4f70bc575f416d80400e23a5fe13006","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def _get_cctxt(self, host, version):"},{"line_number":95,"context_line":"        new_host \u003d utils.get_volume_rpc_host(host)"},{"line_number":96,"context_line":"        new_topic \u003d utils.get_volume_rpc_topic(host)"},{"line_number":97,"context_line":"        if new_topic:"},{"line_number":98,"context_line":"            cctxt \u003d self.client.prepare(server\u003dnew_host, topic\u003dnew_topic,"},{"line_number":99,"context_line":"                                        version\u003dversion)"},{"line_number":100,"context_line":"        else:"},{"line_number":101,"context_line":"            cctxt \u003d self.client.prepare(server\u003dnew_host, version\u003dversion)"},{"line_number":102,"context_line":"        return cctxt"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def create_consistencygroup(self, ctxt, group, host):"},{"line_number":105,"context_line":"        cctxt \u003d self._get_cctxt(host, \u00271.26\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5a5ae5dd_3d72957d","line":102,"range":{"start_line":96,"start_character":0,"end_line":102,"end_character":20},"updated":"2016-02-09 16:23:07.000000000","message":"Just a question - in rpc.RPCAPI\u0027s __init__ we\u0027re already passing topic to the client constructor. Will passing it to prepare() here overwrite it?","commit_id":"f08c1cf0471e43ccb3d511ade4e82d3e5b580b43"},{"author":{"_account_id":11215,"name":"Vivek Dhayaal","email":"vivekdhayaal@gmail.com","username":"vivekdhayaal"},"change_message_id":"1db175aeaf6ecd8253d1d7c02c4bd242d2caf865","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    def _get_cctxt(self, host, version):"},{"line_number":95,"context_line":"        new_host \u003d utils.get_volume_rpc_host(host)"},{"line_number":96,"context_line":"        new_topic \u003d utils.get_volume_rpc_topic(host)"},{"line_number":97,"context_line":"        if new_topic:"},{"line_number":98,"context_line":"            cctxt \u003d self.client.prepare(server\u003dnew_host, topic\u003dnew_topic,"},{"line_number":99,"context_line":"                                        version\u003dversion)"},{"line_number":100,"context_line":"        else:"},{"line_number":101,"context_line":"            cctxt \u003d self.client.prepare(server\u003dnew_host, version\u003dversion)"},{"line_number":102,"context_line":"        return cctxt"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    def create_consistencygroup(self, ctxt, group, host):"},{"line_number":105,"context_line":"        cctxt \u003d self._get_cctxt(host, \u00271.26\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a57f1b5_d42f4186","line":102,"range":{"start_line":96,"start_character":0,"end_line":102,"end_character":20},"in_reply_to":"5a5ae5dd_3d72957d","updated":"2016-02-11 20:12:30.000000000","message":"Yeah!","commit_id":"f08c1cf0471e43ccb3d511ade4e82d3e5b580b43"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"80e1854634318bdbe0bd4b1fc207aa2268d667fd","unresolved":false,"context_lines":[{"line_number":225,"context_line":"        cctxt \u003d self._get_cctxt(volume[\u0027host\u0027], \u00271.30\u0027)"},{"line_number":226,"context_line":"        cctxt.cast(ctxt, \u0027remove_export\u0027, volume_id\u003dvolume[\u0027id\u0027])"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"    def publish_service_capabilities(self, ctxt):"},{"line_number":229,"context_line":"        cctxt \u003d self.client.prepare(fanout\u003dTrue, version\u003d\u00271.2\u0027)"},{"line_number":230,"context_line":"        cctxt.cast(ctxt, \u0027publish_service_capabilities\u0027)"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    def accept_transfer(self, ctxt, volume, new_user, new_project):"},{"line_number":233,"context_line":"        cctxt \u003d self._get_cctxt(volume[\u0027host\u0027], \u00271.9\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa0719c6_651ce2c1","line":230,"range":{"start_line":228,"start_character":0,"end_line":230,"end_character":56},"updated":"2016-03-22 13:14:38.000000000","message":"This message will be ignored by c-vols when running with ZMQ and multibackend, as c-vols will listen on different topics. Maybe there\u0027s a way to provide a wildcard in the topic we\u0027re sending to?","commit_id":"556ef3cc0ec4809e569485afc5c283325caebe7c"}],"cinder/volume/utils.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"a2f56326b4ec52dcd8fe67f174e0fd3d5bcda306","unresolved":false,"context_lines":[{"line_number":578,"context_line":"    return generate_password(length, symbolgroups)"},{"line_number":579,"context_line":""},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"DEFAULT_POOL_NAME \u003d rpc.DEFAULT_POOL_NAME"},{"line_number":582,"context_line":""},{"line_number":583,"context_line":""},{"line_number":584,"context_line":"def extract_host(host, level\u003d\u0027backend\u0027, default_pool_name\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":15,"id":"1ac06dbe_8c283987","line":581,"range":{"start_line":581,"start_character":0,"end_line":581,"end_character":41},"updated":"2016-08-25 12:45:36.000000000","message":"That\u0027s not needed very much here, but it\u0027s totally a minor issue.","commit_id":"84f17bc8d3e724da5a8d979d7017f4f69d2bf451"}],"releasenotes/notes/support-zeromq-messaging-driver-d26a1141290f5548.yaml":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"a2f56326b4ec52dcd8fe67f174e0fd3d5bcda306","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Added support for ZeroMQ messaging driver in cinder"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"1ac06dbe_4cfe41af","line":3,"range":{"start_line":1,"start_character":0,"end_line":3,"end_character":55},"updated":"2016-08-25 12:45:36.000000000","message":"Oh, I\u0027ve just noticed that! Please add a new note instead of modifying an old one that was already included in Mitaka - otherwise you\u0027re breaking release notes by including old notes in Newton list. See [1].\n\n[1] http://docs-draft.openstack.org/13/277113/15/check/gate-cinder-releasenotes/e8e5d86//releasenotes/build/html/unreleased.html","commit_id":"84f17bc8d3e724da5a8d979d7017f4f69d2bf451"}]}
