)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"a853522bb654681b88dc04ca118e0b6ab7c7d1e8","unresolved":false,"context_lines":[{"line_number":10,"context_line":"[cells] manager, metadata_manager, compute_manager,"},{"line_number":11,"context_line":"console_manager, consoleauth_manager, cert_manager and"},{"line_number":12,"context_line":"scheduler_manager in 13.0.0. We can remove them now."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ia50d18c350dbc4ca88da9543e1236e3398ea28ee"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bab6814e_6050e50b","line":13,"updated":"2016-05-23 09:47:02.000000000","message":"According to [1], the removal of a config option needs a reno file. Under [2] is an explanation how to create a \"reno\" file. That file should then be part of your patch.\n\n[1] http://docs.openstack.org/developer/nova/code-review.html#when-a-release-note-is-needed\n[2] [4] http://docs.openstack.org/developer/reno/usage.html#creating-new-release-notes","commit_id":"70c5b6aa20ee6aeac4d181d61df210017a27a36d"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"a88095d3abca00f7fa31201d3cbd6f9f8b469509","unresolved":false,"context_lines":[{"line_number":14,"context_line":"- console_manager"},{"line_number":15,"context_line":"- consoleauth_manager"},{"line_number":16,"context_line":"- cert_manager"},{"line_number":17,"context_line":"- scheduler_manager"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Remove them now."},{"line_number":20,"context_line":"Depends-On: I93b62372e357db4f7c39992c244b2ec9e594ad9c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"7a77a97e_6d104402","line":17,"updated":"2016-11-16 22:34:24.000000000","message":"conductor_manager?","commit_id":"5ee41b1060f0946c5761a7edaaa12b06334b7f0a"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"9a2f9a5e6b1a6e975ff822d82d04f93a563020dc","unresolved":false,"context_lines":[{"line_number":14,"context_line":"- console_manager"},{"line_number":15,"context_line":"- consoleauth_manager"},{"line_number":16,"context_line":"- cert_manager"},{"line_number":17,"context_line":"- scheduler_manager"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Remove them now."},{"line_number":20,"context_line":"Depends-On: I93b62372e357db4f7c39992c244b2ec9e594ad9c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"7a77a97e_1ab8ddc7","line":17,"in_reply_to":"7a77a97e_6d104402","updated":"2016-11-17 03:21:00.000000000","message":"yes, it\u0027s conductor.manager","commit_id":"5ee41b1060f0946c5761a7edaaa12b06334b7f0a"}],"nova/conf/service.py":[{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"31c52b2508e06a02d581b3aaad716d88365767c3","unresolved":false,"context_lines":[{"line_number":162,"context_line":"\"\"\"),"},{"line_number":163,"context_line":"    # NOTE(sdague): Ironic is still using this facility for their HA"},{"line_number":164,"context_line":"    # manager. Ensure they are sorted before removing this."},{"line_number":165,"context_line":"    cfg.StrOpt(\u0027compute_manager\u0027,"},{"line_number":166,"context_line":"               default\u003d\u0027nova.compute.manager.ComputeManager\u0027,"},{"line_number":167,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":168,"context_line":"               deprecated_since\u003d\u002713.0.0\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"9a629dbe_927b4929","side":"PARENT","line":165,"updated":"2016-11-14 18:13:00.000000000","message":"Note says Compute manager option is still being used by Ironic.  Last time I asked them, they were still using it. Can you ensure that.","commit_id":"5a81b00e6b2adba2a380b90e402ff391d64ea6a5"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b449f1394953f2ec9c92bbd4ed276822c651e7d7","unresolved":false,"context_lines":[{"line_number":162,"context_line":"\"\"\"),"},{"line_number":163,"context_line":"    # NOTE(sdague): Ironic is still using this facility for their HA"},{"line_number":164,"context_line":"    # manager. Ensure they are sorted before removing this."},{"line_number":165,"context_line":"    cfg.StrOpt(\u0027compute_manager\u0027,"},{"line_number":166,"context_line":"               default\u003d\u0027nova.compute.manager.ComputeManager\u0027,"},{"line_number":167,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":168,"context_line":"               deprecated_since\u003d\u002713.0.0\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_daaa3e19","side":"PARENT","line":165,"in_reply_to":"9a629dbe_927b4929","updated":"2016-11-15 14:36:01.000000000","message":"Aye, it\u0027s still being used but the code is deprecated. I pushed a patch to remove it [1]. Maybe we should \u0027Depends-On\u0027 that patch?\n\n[1] https://review.openstack.org/397762","commit_id":"5a81b00e6b2adba2a380b90e402ff391d64ea6a5"}],"nova/service.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b449f1394953f2ec9c92bbd4ed276822c651e7d7","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        if not topic:"},{"line_number":209,"context_line":"            topic \u003d binary.rpartition(\u0027nova-\u0027)[2]"},{"line_number":210,"context_line":"        if not manager:"},{"line_number":211,"context_line":"            manager \u003d SERVICE_MANAGERS.get(binary, None)"},{"line_number":212,"context_line":"            if manager is None:"},{"line_number":213,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"},{"line_number":214,"context_line":"                               binary.rpartition(\u0027nova-\u0027)[2])"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_fa2c5aad","line":211,"range":{"start_line":211,"start_character":49,"end_line":211,"end_character":55},"updated":"2016-11-15 14:36:01.000000000","message":"this is unnecessary (it will default to None)","commit_id":"1859be433d36c5266171c26e068653c434e17b91"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"1921b553117e00937fdac580d4b14aa790d4afa4","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        if not topic:"},{"line_number":209,"context_line":"            topic \u003d binary.rpartition(\u0027nova-\u0027)[2]"},{"line_number":210,"context_line":"        if not manager:"},{"line_number":211,"context_line":"            manager \u003d SERVICE_MANAGERS.get(binary, None)"},{"line_number":212,"context_line":"            if manager is None:"},{"line_number":213,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"},{"line_number":214,"context_line":"                               binary.rpartition(\u0027nova-\u0027)[2])"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_b9f49087","line":211,"range":{"start_line":211,"start_character":49,"end_line":211,"end_character":55},"in_reply_to":"7a77a97e_fa2c5aad","updated":"2016-11-16 07:13:37.000000000","message":"Done","commit_id":"1859be433d36c5266171c26e068653c434e17b91"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"a88095d3abca00f7fa31201d3cbd6f9f8b469509","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        if not topic:"},{"line_number":209,"context_line":"            topic \u003d binary.rpartition(\u0027nova-\u0027)[2]"},{"line_number":210,"context_line":"        if not manager:"},{"line_number":211,"context_line":"            manager \u003d SERVICE_MANAGERS.get(binary)"},{"line_number":212,"context_line":"            if manager is None:"},{"line_number":213,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"},{"line_number":214,"context_line":"                               binary.rpartition(\u0027nova-\u0027)[2])"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a77a97e_ed21b4fc","line":211,"updated":"2016-11-16 22:34:24.000000000","message":"Should this be SERVICE_MANAGERS[binary]?\nOtherwise, if no match will start a service without manager. Maybe better then to fail hard or catch and print a nice message.","commit_id":"5ee41b1060f0946c5761a7edaaa12b06334b7f0a"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"d3fa42ce991fe0ce8f783ac09720a204a7cf4be4","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        if not topic:"},{"line_number":209,"context_line":"            topic \u003d binary.rpartition(\u0027nova-\u0027)[2]"},{"line_number":210,"context_line":"        if not manager:"},{"line_number":211,"context_line":"            manager \u003d SERVICE_MANAGERS.get(binary)"},{"line_number":212,"context_line":"            if manager is None:"},{"line_number":213,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"},{"line_number":214,"context_line":"                               binary.rpartition(\u0027nova-\u0027)[2])"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a77a97e_2339eda4","line":211,"in_reply_to":"7a77a97e_1a91bd47","updated":"2016-11-17 07:04:35.000000000","message":"Ahh, missed that one.","commit_id":"5ee41b1060f0946c5761a7edaaa12b06334b7f0a"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"9a2f9a5e6b1a6e975ff822d82d04f93a563020dc","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        if not topic:"},{"line_number":209,"context_line":"            topic \u003d binary.rpartition(\u0027nova-\u0027)[2]"},{"line_number":210,"context_line":"        if not manager:"},{"line_number":211,"context_line":"            manager \u003d SERVICE_MANAGERS.get(binary)"},{"line_number":212,"context_line":"            if manager is None:"},{"line_number":213,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"},{"line_number":214,"context_line":"                               binary.rpartition(\u0027nova-\u0027)[2])"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a77a97e_1a91bd47","line":211,"in_reply_to":"7a77a97e_ed21b4fc","updated":"2016-11-17 03:21:00.000000000","message":"we still have \u0027network-manager\u0027 in https://github.com/openstack/nova/blob/master/nova/cmd/network.py#L58.","commit_id":"5ee41b1060f0946c5761a7edaaa12b06334b7f0a"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"a88095d3abca00f7fa31201d3cbd6f9f8b469509","unresolved":false,"context_lines":[{"line_number":212,"context_line":"            if manager is None:"},{"line_number":213,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"},{"line_number":214,"context_line":"                               binary.rpartition(\u0027nova-\u0027)[2])"},{"line_number":215,"context_line":"                manager \u003d CONF.get(manager_cls, None)"},{"line_number":216,"context_line":"        if report_interval is None:"},{"line_number":217,"context_line":"            report_interval \u003d CONF.report_interval"},{"line_number":218,"context_line":"        if periodic_enable is None:"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a77a97e_cd78782e","line":215,"updated":"2016-11-16 22:34:24.000000000","message":"Why L212-215? The manager options are gone so this will always be None","commit_id":"5ee41b1060f0946c5761a7edaaa12b06334b7f0a"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"9a2f9a5e6b1a6e975ff822d82d04f93a563020dc","unresolved":false,"context_lines":[{"line_number":212,"context_line":"            if manager is None:"},{"line_number":213,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"},{"line_number":214,"context_line":"                               binary.rpartition(\u0027nova-\u0027)[2])"},{"line_number":215,"context_line":"                manager \u003d CONF.get(manager_cls, None)"},{"line_number":216,"context_line":"        if report_interval is None:"},{"line_number":217,"context_line":"            report_interval \u003d CONF.report_interval"},{"line_number":218,"context_line":"        if periodic_enable is None:"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a77a97e_9aa5cda3","line":215,"in_reply_to":"7a77a97e_cd78782e","updated":"2016-11-17 03:21:00.000000000","message":"\u0027network-manager\u0027 need this","commit_id":"5ee41b1060f0946c5761a7edaaa12b06334b7f0a"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"a88095d3abca00f7fa31201d3cbd6f9f8b469509","unresolved":false,"context_lines":[{"line_number":342,"context_line":""},{"line_number":343,"context_line":"        :returns: a Manager instance, or None."},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        \"\"\""},{"line_number":346,"context_line":"        fl \u003d \u0027%s_manager\u0027 % self.name"},{"line_number":347,"context_line":"        if fl not in CONF:"},{"line_number":348,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a77a97e_5016bfa7","line":345,"updated":"2016-11-16 22:34:24.000000000","message":"This below needs to be replaced too.","commit_id":"5ee41b1060f0946c5761a7edaaa12b06334b7f0a"},{"author":{"_account_id":6450,"name":"Hans Lindgren","email":"hanlind@kth.se","username":"hanlind"},"change_message_id":"d3fa42ce991fe0ce8f783ac09720a204a7cf4be4","unresolved":false,"context_lines":[{"line_number":342,"context_line":""},{"line_number":343,"context_line":"        :returns: a Manager instance, or None."},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        \"\"\""},{"line_number":346,"context_line":"        fl \u003d \u0027%s_manager\u0027 % self.name"},{"line_number":347,"context_line":"        if fl not in CONF:"},{"line_number":348,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a77a97e_a3e97de8","line":345,"in_reply_to":"7a77a97e_5016bfa7","updated":"2016-11-17 07:04:35.000000000","message":"What about this? This specifically applies to metadata_manager.","commit_id":"5ee41b1060f0946c5761a7edaaa12b06334b7f0a"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"9026e9ced28a8bee49d2a03ce73ef4da6420db5e","unresolved":false,"context_lines":[{"line_number":342,"context_line":""},{"line_number":343,"context_line":"        :returns: a Manager instance, or None."},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        \"\"\""},{"line_number":346,"context_line":"        fl \u003d \u0027%s_manager\u0027 % self.name"},{"line_number":347,"context_line":"        if fl not in CONF:"},{"line_number":348,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a77a97e_7cb46681","line":345,"in_reply_to":"7a77a97e_a3e97de8","updated":"2016-11-17 08:48:37.000000000","message":"yes, will update this","commit_id":"5ee41b1060f0946c5761a7edaaa12b06334b7f0a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8ea5ebbe1f6ffc44eb029d3d5efccbde860e46c8","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        if not topic:"},{"line_number":209,"context_line":"            topic \u003d binary.rpartition(\u0027nova-\u0027)[2]"},{"line_number":210,"context_line":"        if not manager:"},{"line_number":211,"context_line":"            manager \u003d SERVICE_MANAGERS.get(binary)"},{"line_number":212,"context_line":"            if manager is None:"},{"line_number":213,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"},{"line_number":214,"context_line":"                               binary.rpartition(\u0027nova-\u0027)[2])"}],"source_content_type":"text/x-python","patch_set":15,"id":"7a77a97e_35779cd5","line":211,"range":{"start_line":211,"start_character":12,"end_line":211,"end_character":50},"updated":"2016-11-22 16:06:06.000000000","message":"Could you add a comment per the discussion here:\n\n  https://review.openstack.org/#/c/319532/11/nova/service.py\n\nThis should explain why this is the way it is and make sure people don\u0027t break this in the future","commit_id":"94e70d5ceb853ed2b9de5f38b101f0112d235dce"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"efcab581ac392b58797bec04d19c8f6eff5c5297","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        if not topic:"},{"line_number":209,"context_line":"            topic \u003d binary.rpartition(\u0027nova-\u0027)[2]"},{"line_number":210,"context_line":"        if not manager:"},{"line_number":211,"context_line":"            manager \u003d SERVICE_MANAGERS.get(binary)"},{"line_number":212,"context_line":"            if manager is None:"},{"line_number":213,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"},{"line_number":214,"context_line":"                               binary.rpartition(\u0027nova-\u0027)[2])"}],"source_content_type":"text/x-python","patch_set":15,"id":"5a74a57a_943bf99b","line":211,"range":{"start_line":211,"start_character":12,"end_line":211,"end_character":50},"in_reply_to":"7a77a97e_35779cd5","updated":"2016-11-25 04:35:50.000000000","message":"Done","commit_id":"94e70d5ceb853ed2b9de5f38b101f0112d235dce"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"6e124daf2190a9f86abe7863f2d85e6c67262888","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        if not manager:"},{"line_number":211,"context_line":"            # NOTE(gcb) manager can be None when binary is nova-network,"},{"line_number":212,"context_line":"            # so we can\u0027t use SERVICE_MANAGERS[binary] and remove code"},{"line_number":213,"context_line":"            # of getting manger from CONF."},{"line_number":214,"context_line":"            manager \u003d SERVICE_MANAGERS.get(binary)"},{"line_number":215,"context_line":"            if manager is None:"},{"line_number":216,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"}],"source_content_type":"text/x-python","patch_set":16,"id":"5a74a57a_1fc942ac","line":213,"updated":"2016-11-29 10:56:39.000000000","message":"This text confused me a bit. Do you mean nova-network service still uses CONF to get its manager?","commit_id":"b48386bb10a16d379be7b73cf194a73e6c532f46"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"fe3b156003fde0435b5fe7acb4ae7c5256a489b1","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        if not manager:"},{"line_number":211,"context_line":"            # NOTE(gcb) manager can be None when binary is nova-network,"},{"line_number":212,"context_line":"            # so we can\u0027t use SERVICE_MANAGERS[binary] and remove code"},{"line_number":213,"context_line":"            # of getting manger from CONF."},{"line_number":214,"context_line":"            manager \u003d SERVICE_MANAGERS.get(binary)"},{"line_number":215,"context_line":"            if manager is None:"},{"line_number":216,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"}],"source_content_type":"text/x-python","patch_set":16,"id":"3a71b18c_d17215e5","line":213,"in_reply_to":"5a74a57a_1fc942ac","updated":"2016-12-02 05:07:28.000000000","message":"yes, nova-network still use CONF to decide vlan or flat network","commit_id":"b48386bb10a16d379be7b73cf194a73e6c532f46"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6371fd0f9768bf4e8798ca519a48a0e600c05491","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        if not topic:"},{"line_number":208,"context_line":"            topic \u003d binary.rpartition(\u0027nova-\u0027)[2]"},{"line_number":209,"context_line":"        if not manager:"},{"line_number":210,"context_line":"            manager \u003d SERVICE_MANAGERS.get(binary)"},{"line_number":211,"context_line":"            if manager is None:"},{"line_number":212,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"},{"line_number":213,"context_line":"                               binary.rpartition(\u0027nova-\u0027)[2])"}],"source_content_type":"text/x-python","patch_set":18,"id":"3a71b18c_10ffd1aa","line":210,"updated":"2016-12-05 10:02:14.000000000","message":"It would have been better to reword the confusing comment than remove it, IMO :) I won\u0027t block on it though","commit_id":"35daf1dea1b2f94a8c6cb62ac3216e9862559866"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6fa28bfd8f8bc4d372e124d6cd4a077ceab38b0c","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        if not topic:"},{"line_number":208,"context_line":"            topic \u003d binary.rpartition(\u0027nova-\u0027)[2]"},{"line_number":209,"context_line":"        if not manager:"},{"line_number":210,"context_line":"            manager \u003d SERVICE_MANAGERS.get(binary)"},{"line_number":211,"context_line":"            if manager is None:"},{"line_number":212,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"},{"line_number":213,"context_line":"                               binary.rpartition(\u0027nova-\u0027)[2])"}],"source_content_type":"text/x-python","patch_set":18,"id":"3a71b18c_6af57155","line":210,"in_reply_to":"3a71b18c_10ffd1aa","updated":"2016-12-05 12:19:42.000000000","message":"It still confuses me :) without check the review comment I really don\u0027t why we keep those few lines.\n\nHow about in nova/cmd/network.py, we create service object with manager parameter:\n\nserver \u003d service.Service.create(binary\u003d\u0027nova-network\u0027, topic\u003dCONF.network_topic, manager\u003dCONF.service.network_manager)\n\nThen we needn\u0027t those few lines code and the confuse comment.","commit_id":"35daf1dea1b2f94a8c6cb62ac3216e9862559866"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"64ff07bc0a03e418834a87234455f18c338d874d","unresolved":false,"context_lines":[{"line_number":207,"context_line":"        if not topic:"},{"line_number":208,"context_line":"            topic \u003d binary.rpartition(\u0027nova-\u0027)[2]"},{"line_number":209,"context_line":"        if not manager:"},{"line_number":210,"context_line":"            manager \u003d SERVICE_MANAGERS.get(binary)"},{"line_number":211,"context_line":"            if manager is None:"},{"line_number":212,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"},{"line_number":213,"context_line":"                               binary.rpartition(\u0027nova-\u0027)[2])"}],"source_content_type":"text/x-python","patch_set":18,"id":"3a71b18c_0cf972c7","line":210,"in_reply_to":"3a71b18c_6af57155","updated":"2016-12-05 15:19:32.000000000","message":"yes, we can change in this way.","commit_id":"35daf1dea1b2f94a8c6cb62ac3216e9862559866"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6371fd0f9768bf4e8798ca519a48a0e600c05491","unresolved":false,"context_lines":[{"line_number":343,"context_line":""},{"line_number":344,"context_line":"        \"\"\""},{"line_number":345,"context_line":"        manager \u003d SERVICE_MANAGERS.get(self.binary)"},{"line_number":346,"context_line":"        if manager is None:"},{"line_number":347,"context_line":"            return None"},{"line_number":348,"context_line":""},{"line_number":349,"context_line":"        manager_class \u003d importutils.import_class(manager)"}],"source_content_type":"text/x-python","patch_set":18,"id":"3a71b18c_b0229d50","line":346,"range":{"start_line":346,"start_character":8,"end_line":346,"end_character":27},"updated":"2016-12-05 10:02:14.000000000","message":"nit: \u0027if not manager\u0027 would be fine, I guess","commit_id":"35daf1dea1b2f94a8c6cb62ac3216e9862559866"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"4f8872ec72e631169f47738723eec9b4a322463e","unresolved":false,"context_lines":[{"line_number":208,"context_line":"            topic \u003d binary.rpartition(\u0027nova-\u0027)[2]"},{"line_number":209,"context_line":"        if not manager:"},{"line_number":210,"context_line":"            manager \u003d SERVICE_MANAGERS.get(binary)"},{"line_number":211,"context_line":"            if manager is None:"},{"line_number":212,"context_line":"                manager_cls \u003d (\u0027%s_manager\u0027 %"},{"line_number":213,"context_line":"                               binary.rpartition(\u0027nova-\u0027)[2])"},{"line_number":214,"context_line":"                manager \u003d CONF.get(manager_cls, None)"},{"line_number":215,"context_line":"        if report_interval is None:"},{"line_number":216,"context_line":"            report_interval \u003d CONF.report_interval"}],"source_content_type":"text/x-python","patch_set":19,"id":"3a71b18c_47a9837a","line":213,"range":{"start_line":211,"start_character":0,"end_line":213,"end_character":58},"updated":"2016-12-05 15:40:57.000000000","message":"These code will be removed in follow up patch https://review.openstack.org/#/c/405921/","commit_id":"694fee938d2dd5f26e24cc90a8f2894d3cf40fc9"}],"nova/tests/functional/integrated_helpers.py":[{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"31c52b2508e06a02d581b3aaad716d88365767c3","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def _setup_services(self):"},{"line_number":97,"context_line":"        self.conductor \u003d self.start_service(\u0027conductor\u0027,"},{"line_number":98,"context_line":"            manager\u003d \u0027nova.conductor.manager.ConductorManager\u0027)"},{"line_number":99,"context_line":"        self.compute \u003d self._setup_compute_service()"},{"line_number":100,"context_line":"        self.consoleauth \u003d self.start_service(\u0027consoleauth\u0027)"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_b63068a0","line":98,"updated":"2016-11-14 18:13:00.000000000","message":"You can remove manger here since you added service manager constants in service.py.","commit_id":"1859be433d36c5266171c26e068653c434e17b91"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"1921b553117e00937fdac580d4b14aa790d4afa4","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def _setup_services(self):"},{"line_number":97,"context_line":"        self.conductor \u003d self.start_service(\u0027conductor\u0027,"},{"line_number":98,"context_line":"            manager\u003d \u0027nova.conductor.manager.ConductorManager\u0027)"},{"line_number":99,"context_line":"        self.compute \u003d self._setup_compute_service()"},{"line_number":100,"context_line":"        self.consoleauth \u003d self.start_service(\u0027consoleauth\u0027)"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_79483888","line":98,"in_reply_to":"7a77a97e_b63068a0","updated":"2016-11-16 07:13:37.000000000","message":"yeah, good catch!","commit_id":"1859be433d36c5266171c26e068653c434e17b91"}],"nova/tests/functional/regressions/test_bug_1522536.py":[{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"31c52b2508e06a02d581b3aaad716d88365767c3","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        nova.tests.unit.image.fake.stub_out_image_service(self)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        self.start_service(\u0027conductor\u0027,"},{"line_number":44,"context_line":"                           manager\u003d\u0027nova.conductor.manager.ConductorManager\u0027)"},{"line_number":45,"context_line":"        self.flags(driver\u003d\u0027chance_scheduler\u0027, group\u003d\u0027scheduler\u0027)"},{"line_number":46,"context_line":"        self.start_service(\u0027scheduler\u0027)"},{"line_number":47,"context_line":"        self.network \u003d self.start_service(\u0027network\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_16d11cfc","line":44,"updated":"2016-11-14 18:13:00.000000000","message":"Ditto","commit_id":"1859be433d36c5266171c26e068653c434e17b91"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"1921b553117e00937fdac580d4b14aa790d4afa4","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        nova.tests.unit.image.fake.stub_out_image_service(self)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        self.start_service(\u0027conductor\u0027,"},{"line_number":44,"context_line":"                           manager\u003d\u0027nova.conductor.manager.ConductorManager\u0027)"},{"line_number":45,"context_line":"        self.flags(driver\u003d\u0027chance_scheduler\u0027, group\u003d\u0027scheduler\u0027)"},{"line_number":46,"context_line":"        self.start_service(\u0027scheduler\u0027)"},{"line_number":47,"context_line":"        self.network \u003d self.start_service(\u0027network\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_593c5ce2","line":44,"in_reply_to":"7a77a97e_16d11cfc","updated":"2016-11-16 07:13:37.000000000","message":"Done","commit_id":"1859be433d36c5266171c26e068653c434e17b91"}],"nova/tests/functional/regressions/test_bug_1548980.py":[{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"31c52b2508e06a02d581b3aaad716d88365767c3","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        nova.tests.unit.image.fake.stub_out_image_service(self)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        self.start_service(\u0027conductor\u0027,"},{"line_number":52,"context_line":"                           manager\u003d\u0027nova.conductor.manager.ConductorManager\u0027)"},{"line_number":53,"context_line":"        self.flags(driver\u003d\u0027chance_scheduler\u0027, group\u003d\u0027scheduler\u0027)"},{"line_number":54,"context_line":"        self.start_service(\u0027scheduler\u0027)"},{"line_number":55,"context_line":"        self.network \u003d self.start_service(\u0027network\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_56db941b","line":52,"updated":"2016-11-14 18:13:00.000000000","message":"Ditto","commit_id":"1859be433d36c5266171c26e068653c434e17b91"}],"nova/tests/functional/test_compute_mgr.py":[{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"31c52b2508e06a02d581b3aaad716d88365767c3","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        self.useFixture(fixtures.SpawnIsSynchronousFixture())"},{"line_number":32,"context_line":"        self.useFixture(cast_as_call.CastAsCall(self.stubs))"},{"line_number":33,"context_line":"        self.conductor \u003d self.start_service(\u0027conductor\u0027,"},{"line_number":34,"context_line":"            manager\u003d\u0027nova.conductor.manager.ConductorManager\u0027)"},{"line_number":35,"context_line":"        self.start_service(\u0027scheduler\u0027)"},{"line_number":36,"context_line":"        self.compute \u003d self.start_service(\u0027compute\u0027)"},{"line_number":37,"context_line":"        self.context \u003d context.RequestContext(\u0027fake\u0027, \u0027fake\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_76d8901e","line":34,"updated":"2016-11-14 18:13:00.000000000","message":"Ditto","commit_id":"1859be433d36c5266171c26e068653c434e17b91"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"1921b553117e00937fdac580d4b14aa790d4afa4","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        self.useFixture(fixtures.SpawnIsSynchronousFixture())"},{"line_number":32,"context_line":"        self.useFixture(cast_as_call.CastAsCall(self.stubs))"},{"line_number":33,"context_line":"        self.conductor \u003d self.start_service(\u0027conductor\u0027,"},{"line_number":34,"context_line":"            manager\u003d\u0027nova.conductor.manager.ConductorManager\u0027)"},{"line_number":35,"context_line":"        self.start_service(\u0027scheduler\u0027)"},{"line_number":36,"context_line":"        self.compute \u003d self.start_service(\u0027compute\u0027)"},{"line_number":37,"context_line":"        self.context \u003d context.RequestContext(\u0027fake\u0027, \u0027fake\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_b908102f","line":34,"in_reply_to":"7a77a97e_76d8901e","updated":"2016-11-16 07:13:37.000000000","message":"Done","commit_id":"1859be433d36c5266171c26e068653c434e17b91"}],"nova/tests/functional/test_server_group.py":[{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"31c52b2508e06a02d581b3aaad716d88365767c3","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        nova.tests.unit.image.fake.stub_out_image_service(self)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        self.start_service(\u0027conductor\u0027,"},{"line_number":86,"context_line":"                           manager\u003d\u0027nova.conductor.manager.ConductorManager\u0027)"},{"line_number":87,"context_line":"        self.start_service(\u0027scheduler\u0027)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_d6fde46f","line":86,"updated":"2016-11-14 18:13:00.000000000","message":"Ditto","commit_id":"1859be433d36c5266171c26e068653c434e17b91"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"1921b553117e00937fdac580d4b14aa790d4afa4","unresolved":false,"context_lines":[{"line_number":83,"context_line":"        nova.tests.unit.image.fake.stub_out_image_service(self)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        self.start_service(\u0027conductor\u0027,"},{"line_number":86,"context_line":"                           manager\u003d\u0027nova.conductor.manager.ConductorManager\u0027)"},{"line_number":87,"context_line":"        self.start_service(\u0027scheduler\u0027)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_540a6122","line":86,"in_reply_to":"7a77a97e_d6fde46f","updated":"2016-11-16 07:13:37.000000000","message":"Done","commit_id":"1859be433d36c5266171c26e068653c434e17b91"}],"nova/tests/unit/test_baserpc.py":[{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"31c52b2508e06a02d581b3aaad716d88365767c3","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        self.project_id \u003d \u0027fake\u0027"},{"line_number":35,"context_line":"        self.context \u003d context.RequestContext(self.user_id,"},{"line_number":36,"context_line":"                                              self.project_id)"},{"line_number":37,"context_line":"        self.conductor \u003d self.start_service("},{"line_number":38,"context_line":"            \u0027conductor\u0027, manager\u003d\u0027nova.conductor.manager.ConductorManager\u0027)"},{"line_number":39,"context_line":"        self.compute \u003d self.start_service(\u0027compute\u0027)"},{"line_number":40,"context_line":"        self.base_rpcapi \u003d baserpc.BaseAPI(CONF.compute_topic)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_366a981b","line":37,"updated":"2016-11-14 18:13:00.000000000","message":"ditto","commit_id":"1859be433d36c5266171c26e068653c434e17b91"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"1921b553117e00937fdac580d4b14aa790d4afa4","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        self.project_id \u003d \u0027fake\u0027"},{"line_number":35,"context_line":"        self.context \u003d context.RequestContext(self.user_id,"},{"line_number":36,"context_line":"                                              self.project_id)"},{"line_number":37,"context_line":"        self.conductor \u003d self.start_service("},{"line_number":38,"context_line":"            \u0027conductor\u0027, manager\u003d\u0027nova.conductor.manager.ConductorManager\u0027)"},{"line_number":39,"context_line":"        self.compute \u003d self.start_service(\u0027compute\u0027)"},{"line_number":40,"context_line":"        self.base_rpcapi \u003d baserpc.BaseAPI(CONF.compute_topic)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7a77a97e_342a457f","line":37,"in_reply_to":"7a77a97e_366a981b","updated":"2016-11-16 07:13:37.000000000","message":"Done","commit_id":"1859be433d36c5266171c26e068653c434e17b91"}],"releasenotes/notes/remove_service_manager_config_options-2e1eaae92ea82d84.yaml":[{"author":{"_account_id":18337,"name":"Sujitha","email":"sujitha.neti@intel.com","username":"Sujitha"},"change_message_id":"31c52b2508e06a02d581b3aaad716d88365767c3","unresolved":false,"context_lines":[{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The concept that ``service manager`` were replaceable"},{"line_number":5,"context_line":"    components is derpecated in Mitaka. So following config"},{"line_number":6,"context_line":"    options are removed."},{"line_number":7,"context_line":"    "},{"line_number":8,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"9a629dbe_7f711ee0","line":5,"range":{"start_line":5,"start_character":18,"end_line":5,"end_character":28},"updated":"2016-11-14 18:13:00.000000000","message":"s/derpecated/deprecated","commit_id":"1859be433d36c5266171c26e068653c434e17b91"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"1921b553117e00937fdac580d4b14aa790d4afa4","unresolved":false,"context_lines":[{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The concept that ``service manager`` were replaceable"},{"line_number":5,"context_line":"    components is derpecated in Mitaka. So following config"},{"line_number":6,"context_line":"    options are removed."},{"line_number":7,"context_line":"    "},{"line_number":8,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"7a77a97e_144e296f","line":5,"range":{"start_line":5,"start_character":18,"end_line":5,"end_character":28},"in_reply_to":"9a629dbe_7f711ee0","updated":"2016-11-16 07:13:37.000000000","message":"Done","commit_id":"1859be433d36c5266171c26e068653c434e17b91"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b449f1394953f2ec9c92bbd4ed276822c651e7d7","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    options are removed."},{"line_number":7,"context_line":"    "},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"      * metadata_manager"},{"line_number":10,"context_line":"      * compute_manager"},{"line_number":11,"context_line":"      * console_manager"},{"line_number":12,"context_line":"      * consoleauth_manager"},{"line_number":13,"context_line":"      * cert_manager"},{"line_number":14,"context_line":"      * scheduler_manager"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"7a77a97e_f5b9cb2f","line":14,"range":{"start_line":9,"start_character":0,"end_line":14,"end_character":25},"updated":"2016-11-15 14:36:01.000000000","message":"Remove the extra two spaces of indent here, or this will appear as a block comment. Also, whitespace above","commit_id":"1859be433d36c5266171c26e068653c434e17b91"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"1921b553117e00937fdac580d4b14aa790d4afa4","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    options are removed."},{"line_number":7,"context_line":"    "},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"      * metadata_manager"},{"line_number":10,"context_line":"      * compute_manager"},{"line_number":11,"context_line":"      * console_manager"},{"line_number":12,"context_line":"      * consoleauth_manager"},{"line_number":13,"context_line":"      * cert_manager"},{"line_number":14,"context_line":"      * scheduler_manager"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"7a77a97e_b4abb5d5","line":14,"range":{"start_line":9,"start_character":0,"end_line":14,"end_character":25},"in_reply_to":"7a77a97e_f5b9cb2f","updated":"2016-11-16 07:13:37.000000000","message":"Done","commit_id":"1859be433d36c5266171c26e068653c434e17b91"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8ea5ebbe1f6ffc44eb029d3d5efccbde860e46c8","unresolved":false,"context_lines":[{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The concept that ``service manager`` were replaceable"},{"line_number":5,"context_line":"    components is deprecated in Mitaka, so following config"},{"line_number":6,"context_line":"    options are removed."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    * metadata_manager"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"7a77a97e_c084e45e","line":5,"range":{"start_line":5,"start_character":15,"end_line":5,"end_character":17},"updated":"2016-11-22 16:06:06.000000000","message":"was","commit_id":"94e70d5ceb853ed2b9de5f38b101f0112d235dce"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8ea5ebbe1f6ffc44eb029d3d5efccbde860e46c8","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    components is deprecated in Mitaka, so following config"},{"line_number":6,"context_line":"    options are removed."},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    * metadata_manager"},{"line_number":9,"context_line":"    * compute_manager"},{"line_number":10,"context_line":"    * console_manager"},{"line_number":11,"context_line":"    * consoleauth_manager"},{"line_number":12,"context_line":"    * cert_manager"},{"line_number":13,"context_line":"    * scheduler_manager"},{"line_number":14,"context_line":"    * conductor.manager"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":15,"id":"7a77a97e_e0a48009","line":14,"range":{"start_line":8,"start_character":0,"end_line":14,"end_character":23},"updated":"2016-11-22 16:06:06.000000000","message":"Could you format each of these as code?\n\n    - ``metadata_manager``","commit_id":"94e70d5ceb853ed2b9de5f38b101f0112d235dce"}]}
