)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b7a06155564ec704e7839d2481917ac7246f758e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Kevin_Zheng \u003czhengzhenyu@huawei.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-12-14 11:26:38 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"config options: Centralise floating ip options"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The config options of the \"nova.conf\" section \"floating_ips\""},{"line_number":10,"context_line":"got moved to the new central location \"nova/conf/floating_ips.py\"."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5a710552_d93119a4","line":7,"range":{"start_line":7,"start_character":16,"end_line":7,"end_character":26},"updated":"2015-12-15 14:04:22.000000000","message":"s/Centralise/centralize/","commit_id":"c2261a9d98d7880974be770b924e5620212b5908"}],"nova/conf/floating_ips.py":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"80568760eb0c13cce53846a41bc7d16490b026ba","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    # As soon as this bug is fixed is oslo.config and Nova uses the"},{"line_number":45,"context_line":"    # version which contains this fix, we can pass in the OptGroup instead"},{"line_number":46,"context_line":"    # of its name. This allows the generation of the group help too."},{"line_number":47,"context_line":"    return floating_opts"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a7e1126_b7dabf4a","line":47,"updated":"2015-12-18 15:33:26.000000000","message":"Could you change the return value to a tuple, please?\n\n    return (\"DEFAULT\", floating_opts)\n\nThe \"opts.py\" needs then to change too.","commit_id":"7aada88932f04ddb371ce01501317ea890c878e8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"262ebaacbee875e01a76b6dd841928c9774cee0f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 Huawei Technology corp."},{"line_number":2,"context_line":"# Copyright 2015 OpenStack Foundation"},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa69d971_4c4388b2","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":37},"updated":"2016-01-06 09:48:10.000000000","message":"It\u0027s a new file: I think you can drop this line. Also, 2016 on line above?","commit_id":"e573592a0c42de05d6a5be45748a883b601d3659"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"262ebaacbee875e01a76b6dd841928c9774cee0f","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"floating_opts \u003d ["},{"line_number":20,"context_line":"    cfg.StrOpt(\u0027default_floating_pool\u0027,"},{"line_number":21,"context_line":"               default\u003d\u0027nova\u0027,"},{"line_number":22,"context_line":"               help\u003d\u0027Default pool for floating IPs\u0027),"},{"line_number":23,"context_line":"    cfg.BoolOpt(\u0027auto_assign_floating_ip\u0027,"},{"line_number":24,"context_line":"                default\u003dFalse,"},{"line_number":25,"context_line":"                help\u003d\u0027Autoassigning floating IP to VM\u0027),"},{"line_number":26,"context_line":"    cfg.StrOpt(\u0027floating_ip_dns_manager\u0027,"},{"line_number":27,"context_line":"               default\u003d\u0027nova.network.noop_dns_driver.NoopDNSDriver\u0027,"},{"line_number":28,"context_line":"               help\u003d\u0027Full class name for the DNS Manager for floating IPs\u0027),"},{"line_number":29,"context_line":"    cfg.StrOpt(\u0027instance_dns_manager\u0027,"},{"line_number":30,"context_line":"               default\u003d\u0027nova.network.noop_dns_driver.NoopDNSDriver\u0027,"},{"line_number":31,"context_line":"               help\u003d\u0027Full class name for the DNS Manager for instance IPs\u0027),"},{"line_number":32,"context_line":"    cfg.StrOpt(\u0027instance_dns_domain\u0027,"},{"line_number":33,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":34,"context_line":"               help\u003d\u0027Full class name for the DNS Zone for instance IPs\u0027),"},{"line_number":35,"context_line":"]"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def register_opts(conf):"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa69d971_6cf76c8b","line":35,"range":{"start_line":19,"start_character":0,"end_line":35,"end_character":1},"updated":"2016-01-06 09:48:10.000000000","message":"In all the other cases I\u0027ve seen, these options are stored separately. I don\u0027t know if we need to do this, but it would be best to be consistent, IMO\n\n[1] https://review.openstack.org/#/c/252687/14/nova/conf/wsgi.py","commit_id":"e573592a0c42de05d6a5be45748a883b601d3659"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"7bec2ec63a413d0504e322d075b7725f8194524e","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from oslo_config import cfg"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"floating_opts \u003d ["},{"line_number":20,"context_line":"    cfg.StrOpt(\u0027default_floating_pool\u0027,"},{"line_number":21,"context_line":"               default\u003d\u0027nova\u0027,"},{"line_number":22,"context_line":"               help\u003d\u0027Default pool for floating IPs\u0027),"},{"line_number":23,"context_line":"    cfg.BoolOpt(\u0027auto_assign_floating_ip\u0027,"},{"line_number":24,"context_line":"                default\u003dFalse,"},{"line_number":25,"context_line":"                help\u003d\u0027Autoassigning floating IP to VM\u0027),"},{"line_number":26,"context_line":"    cfg.StrOpt(\u0027floating_ip_dns_manager\u0027,"},{"line_number":27,"context_line":"               default\u003d\u0027nova.network.noop_dns_driver.NoopDNSDriver\u0027,"},{"line_number":28,"context_line":"               help\u003d\u0027Full class name for the DNS Manager for floating IPs\u0027),"},{"line_number":29,"context_line":"    cfg.StrOpt(\u0027instance_dns_manager\u0027,"},{"line_number":30,"context_line":"               default\u003d\u0027nova.network.noop_dns_driver.NoopDNSDriver\u0027,"},{"line_number":31,"context_line":"               help\u003d\u0027Full class name for the DNS Manager for instance IPs\u0027),"},{"line_number":32,"context_line":"    cfg.StrOpt(\u0027instance_dns_domain\u0027,"},{"line_number":33,"context_line":"               default\u003d\u0027\u0027,"},{"line_number":34,"context_line":"               help\u003d\u0027Full class name for the DNS Zone for instance IPs\u0027),"},{"line_number":35,"context_line":"]"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def register_opts(conf):"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa69d971_2c0aad8a","line":35,"range":{"start_line":19,"start_character":0,"end_line":35,"end_character":1},"in_reply_to":"fa69d971_6cf76c8b","updated":"2016-01-07 01:34:28.000000000","message":"Done","commit_id":"e573592a0c42de05d6a5be45748a883b601d3659"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"262ebaacbee875e01a76b6dd841928c9774cee0f","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"def list_opts():"},{"line_number":43,"context_line":"    # Because of bug 1395819 in oslo.config we cannot pass in the OptGroup."},{"line_number":44,"context_line":"    # As soon as this bug is fixed is oslo.config and Nova uses the"},{"line_number":45,"context_line":"    # version which contains this fix, we can pass in the OptGroup instead"},{"line_number":46,"context_line":"    # of its name. This allows the generation of the group help too."},{"line_number":47,"context_line":"    return (\"DEFAULT\", floating_opts)"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa69d971_2cbf34ab","line":46,"range":{"start_line":43,"start_character":0,"end_line":46,"end_character":68},"updated":"2016-01-06 09:48:10.000000000","message":"this comment makes no sense - there is no opt group to pass in here seeing as all these options are in the \u0027DEFAULT\u0027 group","commit_id":"e573592a0c42de05d6a5be45748a883b601d3659"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"f2cb3f377da1de6a574f71474368e86a6235f28c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from oslo_config import cfg"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"default_floating_pool_opt \u003d cfg.StrOpt(\u0027default_floating_pool\u0027,"},{"line_number":19,"context_line":"                                       default\u003d\u0027nova\u0027,"},{"line_number":20,"context_line":"                                       help\u003d\u0027Default pool for floating IPs\u0027)"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"auto_assign_opt \u003d cfg.BoolOpt(\u0027auto_assign_floating_ip\u0027,"},{"line_number":23,"context_line":"                              default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":14,"id":"da6ed579_37e068cc","line":20,"range":{"start_line":19,"start_character":31,"end_line":20,"end_character":76},"updated":"2016-01-18 12:44:51.000000000","message":"Please make the spacing 8 blanks from the left hand side for all of the options.","commit_id":"452cb1717bc215f4a14bd475ea2352e413bf3ca8"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"f2cb3f377da1de6a574f71474368e86a6235f28c","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def list_opts():"},{"line_number":55,"context_line":"    return (\"DEFAULT\", ALL_OPTS)"}],"source_content_type":"text/x-python","patch_set":14,"id":"da6ed579_b746981f","line":55,"updated":"2016-01-18 12:44:51.000000000","message":"This line is now a dict, since [1]. Which means:\n\n    return {\u0027DEFAULT\u0027: ALL_OPTS}\n\n[1] https://git.openstack.org/cgit/openstack/nova/commit/?id\u003dd4ae85db7f189724700c7832e35e1609f4234ee1","commit_id":"452cb1717bc215f4a14bd475ea2352e413bf3ca8"},{"author":{"_account_id":11428,"name":"Ajaya Agrawal","email":"ajku.agr@gmail.com","username":"ajayaa"},"change_message_id":"6a77def67c4a936b15f4e169cadace856f2218ef","unresolved":false,"context_lines":[{"line_number":50,"context_line":"def register_opts(conf):"},{"line_number":51,"context_line":"    conf.register_opts(ALL_OPTS)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def list_opts():"},{"line_number":55,"context_line":"    return {\u0027DEFAULT\u0027: ALL_OPTS}"}],"source_content_type":"text/x-python","patch_set":16,"id":"7a5de9d1_61dc5846","line":53,"range":{"start_line":53,"start_character":0,"end_line":53,"end_character":0},"updated":"2016-02-01 08:06:53.000000000","message":"Are two newlines needed here?","commit_id":"dd2736b7dc5041375e87b93f1fe90fc3bca7e671"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"43413d5c7ca4e99f5c45f70c92a27f54c67ac876","unresolved":false,"context_lines":[{"line_number":50,"context_line":"def register_opts(conf):"},{"line_number":51,"context_line":"    conf.register_opts(ALL_OPTS)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def list_opts():"},{"line_number":55,"context_line":"    return {\u0027DEFAULT\u0027: ALL_OPTS}"}],"source_content_type":"text/x-python","patch_set":16,"id":"7a5de9d1_a1a490b9","line":53,"range":{"start_line":53,"start_character":0,"end_line":53,"end_character":0},"in_reply_to":"7a5de9d1_61dc5846","updated":"2016-02-01 08:09:12.000000000","message":"yes, Otherwise pep8 gate will fail","commit_id":"dd2736b7dc5041375e87b93f1fe90fc3bca7e671"},{"author":{"_account_id":11428,"name":"Ajaya Agrawal","email":"ajku.agr@gmail.com","username":"ajayaa"},"change_message_id":"b4d0c2196d928b33f7cbb4ea62b208479363ae70","unresolved":false,"context_lines":[{"line_number":50,"context_line":"def register_opts(conf):"},{"line_number":51,"context_line":"    conf.register_opts(ALL_OPTS)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def list_opts():"},{"line_number":55,"context_line":"    return {\u0027DEFAULT\u0027: ALL_OPTS}"}],"source_content_type":"text/x-python","patch_set":16,"id":"7a5de9d1_8bc29883","line":53,"range":{"start_line":53,"start_character":0,"end_line":53,"end_character":0},"in_reply_to":"7a5de9d1_a1a490b9","updated":"2016-02-02 07:31:54.000000000","message":"ohh...So pep8 needs two newlines when two functions are not inside a class.","commit_id":"dd2736b7dc5041375e87b93f1fe90fc3bca7e671"}],"nova/network/opts.py":[{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"80568760eb0c13cce53846a41bc7d16490b026ba","unresolved":false,"context_lines":[{"line_number":36,"context_line":"             nova.network.manager.network_opts,"},{"line_number":37,"context_line":"             nova.network.rpcapi.rpcapi_opts,"},{"line_number":38,"context_line":"             nova.network.security_group.openstack_driver.security_group_opts,"},{"line_number":39,"context_line":"         )),"},{"line_number":40,"context_line":"        (\u0027neutron\u0027, nova.network.neutronv2.api.neutron_opts),"},{"line_number":41,"context_line":"        (\u0027upgrade_levels\u0027,"},{"line_number":42,"context_line":"         itertools.chain("}],"source_content_type":"text/x-python","patch_set":6,"id":"3a7e1126_3726cf15","line":39,"updated":"2015-12-18 15:33:26.000000000","message":"Please add here:\n\n    nova.conf.floating_ips.floating_opts\n\nThis adds the tuple then. It will work also we will have \"default\" twice. The oslo generator can work with that. As we will consolidate all \"opts.py\" files into on \"nova/conf/opts.py\" [1], this one here doesn\u0027t have to be perfect, as long as the options get emitted in the \"nova.config.sample\".\n\n[1] https://review.openstack.org/#/c/255436/","commit_id":"7aada88932f04ddb371ce01501317ea890c878e8"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"d10df9f6257aab83a74093962c9cf98f40d4664f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"             nova.network.manager.network_opts,"},{"line_number":37,"context_line":"             nova.network.rpcapi.rpcapi_opts,"},{"line_number":38,"context_line":"             nova.network.security_group.openstack_driver.security_group_opts,"},{"line_number":39,"context_line":"         )),"},{"line_number":40,"context_line":"        (\u0027neutron\u0027, nova.network.neutronv2.api.neutron_opts),"},{"line_number":41,"context_line":"        (\u0027upgrade_levels\u0027,"},{"line_number":42,"context_line":"         itertools.chain("}],"source_content_type":"text/x-python","patch_set":6,"id":"3a7e1126_a1d6d6ee","line":39,"in_reply_to":"3a7e1126_3726cf15","updated":"2015-12-21 01:32:59.000000000","message":"Done","commit_id":"7aada88932f04ddb371ce01501317ea890c878e8"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"d2056f9e07eb2e651f7d03661b4eeba87f314e04","unresolved":false,"context_lines":[{"line_number":30,"context_line":"         itertools.chain("},{"line_number":31,"context_line":"             nova.network._network_opts,"},{"line_number":32,"context_line":"             nova.network.driver.driver_opts,"},{"line_number":33,"context_line":"             nova.conf.floating_ips.floating_opts,"},{"line_number":34,"context_line":"             nova.network.ldapdns.ldap_dns_opts,"},{"line_number":35,"context_line":"             nova.network.linux_net.linux_net_opts,"},{"line_number":36,"context_line":"             nova.network.manager.network_opts,"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a7e1126_de3894f0","line":33,"updated":"2015-12-21 09:18:31.000000000","message":"That line has to be removed. The line 40 is enough. When you look at the output of the job \"gate-nova-docs\" you will see that your config options are listed twice [1].\n\n[1] http://docs-draft.openstack.org/87/257087/8/check/gate-nova-docs/12e5f1e//doc/build/html/sample_config.html","commit_id":"dfe0cda3c0807a7cb5c5193a4143beed05b653e1"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"f69729ca33df61caf09808c8ad0337d99058ce3a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"             nova.network.rpcapi.rpcapi_opts,"},{"line_number":38,"context_line":"             nova.network.security_group.openstack_driver.security_group_opts,"},{"line_number":39,"context_line":"         )),"},{"line_number":40,"context_line":"        nova.conf.floating_ips.list_opts(),"},{"line_number":41,"context_line":"        (\u0027neutron\u0027, nova.network.neutronv2.api.neutron_opts),"},{"line_number":42,"context_line":"        (\u0027upgrade_levels\u0027,"},{"line_number":43,"context_line":"         itertools.chain("}],"source_content_type":"text/x-python","patch_set":11,"id":"fa69d971_99cd6eb9","line":40,"updated":"2016-01-05 13:20:53.000000000","message":"You will see that the config option will be outputted twice in: http://docs-draft.openstack.org/87/257087/11/check/gate-nova-docs/56d020f//doc/build/html/sample_config.html\n\nI see now that I confused you in patch set #6 and I\u0027m sorry for that. \n\nWhat I wanted to say back then, was, that we need either line 33 OR line 40. Just remove this line here and let\u0027s keep line 33, just as you had in patch set #6 (but I gave you another direction back then).","commit_id":"cbf3ed9f1b783d4af3306fe6a24e1bb24c827449"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"124076ed2f2d9c45624f98b34f715c38bfd156c3","unresolved":false,"context_lines":[{"line_number":37,"context_line":"             nova.network.rpcapi.rpcapi_opts,"},{"line_number":38,"context_line":"             nova.network.security_group.openstack_driver.security_group_opts,"},{"line_number":39,"context_line":"         )),"},{"line_number":40,"context_line":"        nova.conf.floating_ips.list_opts(),"},{"line_number":41,"context_line":"        (\u0027neutron\u0027, nova.network.neutronv2.api.neutron_opts),"},{"line_number":42,"context_line":"        (\u0027upgrade_levels\u0027,"},{"line_number":43,"context_line":"         itertools.chain("}],"source_content_type":"text/x-python","patch_set":11,"id":"fa69d971_d07f1715","line":40,"in_reply_to":"fa69d971_99cd6eb9","updated":"2016-01-06 03:35:06.000000000","message":"Thanks for your review, I will update it.","commit_id":"cbf3ed9f1b783d4af3306fe6a24e1bb24c827449"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"262ebaacbee875e01a76b6dd841928c9774cee0f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"         itertools.chain("},{"line_number":31,"context_line":"             nova.network._network_opts,"},{"line_number":32,"context_line":"             nova.network.driver.driver_opts,"},{"line_number":33,"context_line":"             nova.conf.floating_ips.floating_opts,"},{"line_number":34,"context_line":"             nova.network.ldapdns.ldap_dns_opts,"},{"line_number":35,"context_line":"             nova.network.linux_net.linux_net_opts,"},{"line_number":36,"context_line":"             nova.network.manager.network_opts,"}],"source_content_type":"text/x-python","patch_set":12,"id":"fa69d971_6cd0ccf6","line":33,"range":{"start_line":33,"start_character":13,"end_line":33,"end_character":50},"updated":"2016-01-06 09:48:10.000000000","message":"All other cases of this call the \u0027list_opts\u0027 function - see, for example: https://review.openstack.org/#/c/252687/14/nova/opts.py. I think you should do that just to be consistent","commit_id":"e573592a0c42de05d6a5be45748a883b601d3659"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"f2cb3f377da1de6a574f71474368e86a6235f28c","unresolved":false,"context_lines":[{"line_number":29,"context_line":"         itertools.chain("},{"line_number":30,"context_line":"             nova.network._network_opts,"},{"line_number":31,"context_line":"             nova.network.driver.driver_opts,"},{"line_number":32,"context_line":"             nova.network.floating_ips.floating_opts,"},{"line_number":33,"context_line":"             nova.network.ldapdns.ldap_dns_opts,"},{"line_number":34,"context_line":"             nova.network.linux_net.linux_net_opts,"},{"line_number":35,"context_line":"             nova.network.manager.network_opts,"}],"source_content_type":"text/x-python","patch_set":14,"id":"da6ed579_77e26031","side":"PARENT","line":32,"updated":"2016-01-18 12:44:51.000000000","message":"This line is not needed anymore since commit d4ae85db7f1 [1].\n\n[1] https://git.openstack.org/cgit/openstack/nova/commit/?id\u003dd4ae85db7f189724700c7832e35e1609f4234ee1","commit_id":"b09bc181e76c905aa87b4897b072be6e07d9e583"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"f2cb3f377da1de6a574f71474368e86a6235f28c","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import itertools"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import nova.conf"},{"line_number":16,"context_line":"import nova.network"},{"line_number":17,"context_line":"import nova.network.driver"},{"line_number":18,"context_line":"import nova.network.floating_ips"}],"source_content_type":"text/x-python","patch_set":14,"id":"da6ed579_97dd9472","line":15,"updated":"2016-01-18 12:44:51.000000000","message":"This line is not needed anymore since commit d4ae85db7f1 [1].\n\n[1] https://git.openstack.org/cgit/openstack/nova/commit/?id\u003dd4ae85db7f189724700c7832e35e1609f4234ee1","commit_id":"452cb1717bc215f4a14bd475ea2352e413bf3ca8"},{"author":{"_account_id":11303,"name":"Markus Zoeller (markus_z)","email":"mzoeller@linux.vnet.ibm.com","username":"mzoeller"},"change_message_id":"f2cb3f377da1de6a574f71474368e86a6235f28c","unresolved":false,"context_lines":[{"line_number":36,"context_line":"             nova.network.rpcapi.rpcapi_opts,"},{"line_number":37,"context_line":"             nova.network.security_group.openstack_driver.security_group_opts,"},{"line_number":38,"context_line":"         )),"},{"line_number":39,"context_line":"        nova.conf.floating_ips.list_opts(),"},{"line_number":40,"context_line":"        (\u0027neutron\u0027, nova.network.neutronv2.api.neutron_opts),"},{"line_number":41,"context_line":"        (\u0027upgrade_levels\u0027,"},{"line_number":42,"context_line":"         itertools.chain("}],"source_content_type":"text/x-python","patch_set":14,"id":"da6ed579_b7d8d880","line":39,"updated":"2016-01-18 12:44:51.000000000","message":"This line is not needed anymore since commit d4ae85db7f1 [1].\n\n[1] https://git.openstack.org/cgit/openstack/nova/commit/?id\u003dd4ae85db7f189724700c7832e35e1609f4234ee1","commit_id":"452cb1717bc215f4a14bd475ea2352e413bf3ca8"}]}
