)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"098aecad2d199526c445a2ee55e34a1f89e0be1c","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- Implement delete_floatingip method."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"- Replace method create_and_associate_floatingip with"},{"line_number":20,"context_line":"  create_floatingip."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Ie2421839947f9010e8d2590cde1fd86669092fb9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_4a4c3a9d","line":20,"range":{"start_line":19,"start_character":2,"end_line":20,"end_character":20},"updated":"2018-06-25 17:45:17.000000000","message":"- Also deprecates method create_and_associate_floatingip\n\nso Deprecate method create_and_associate_floatingip and replace it with create_floatingip.","commit_id":"d9f3d78d359ae3d10849e1aac21ccf1f47927ea2"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"26dbdb55e3e62d23fc7fe47e35ae0bea08afc8d8","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- Implement delete_floatingip method."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"- Replace method create_and_associate_floatingip with"},{"line_number":20,"context_line":"  create_floatingip."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Ie2421839947f9010e8d2590cde1fd86669092fb9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5f7c97a3_246329b3","line":20,"range":{"start_line":19,"start_character":2,"end_line":20,"end_character":20},"in_reply_to":"5f7c97a3_4a4c3a9d","updated":"2018-06-26 05:16:11.000000000","message":"Done","commit_id":"d9f3d78d359ae3d10849e1aac21ccf1f47927ea2"},{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"7fdf4f031775d0294ca0e6cf8bac979296a0950e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Federico Ressi \u003cfressi@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-07-06 09:53:01 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"It allows to create floating IPs with additional parameters."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"It adds missing parameters to create_floatingip method:"},{"line_number":10,"context_line":"  - port: is translated to port_id\u003dport[\u0027id\u0027]"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5f7c97a3_94bc346c","line":7,"updated":"2018-07-13 19:12:33.000000000","message":"I would phrase this in a more direct, active way.  For example, \"Create floating IPs with additional parameters\".  Same for all of the sentences below that start with \"It\".","commit_id":"33a46478c25ada627111ee4bb26d3a29cb3099fa"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"8a89fdebf42d5b3865dda77e85efdeb2a81023e2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Federico Ressi \u003cfressi@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-07-06 09:53:01 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"It allows to create floating IPs with additional parameters."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"It adds missing parameters to create_floatingip method:"},{"line_number":10,"context_line":"  - port: is translated to port_id\u003dport[\u0027id\u0027]"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"3f79a3b5_c3122bb5","line":7,"in_reply_to":"5f7c97a3_94bc346c","updated":"2018-08-17 11:17:42.000000000","message":"Done","commit_id":"33a46478c25ada627111ee4bb26d3a29cb3099fa"}],"neutron_tempest_plugin/api/base.py":[{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"098aecad2d199526c445a2ee55e34a1f89e0be1c","unresolved":false,"context_lines":[{"line_number":523,"context_line":"        networking server."},{"line_number":524,"context_line":"        \"\"\""},{"line_number":525,"context_line":"        client \u003d client or cls.client"},{"line_number":526,"context_line":"        external_network_id \u003d (external_network_id or"},{"line_number":527,"context_line":"                               CONF.network.public_network_id)"},{"line_number":528,"context_line":"        if port:"},{"line_number":529,"context_line":"            kwargs[\u0027port_id\u0027] \u003d port[\u0027id\u0027]"},{"line_number":530,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_4a2bdae9","line":527,"range":{"start_line":526,"start_character":31,"end_line":527,"end_character":61},"updated":"2018-06-25 17:45:17.000000000","message":"external_network_id or cls.external_network_id or CONF.network.public_network_id ? since some setups have it then why fetching it from CONF all the time ?","commit_id":"d9f3d78d359ae3d10849e1aac21ccf1f47927ea2"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"26dbdb55e3e62d23fc7fe47e35ae0bea08afc8d8","unresolved":false,"context_lines":[{"line_number":523,"context_line":"        networking server."},{"line_number":524,"context_line":"        \"\"\""},{"line_number":525,"context_line":"        client \u003d client or cls.client"},{"line_number":526,"context_line":"        external_network_id \u003d (external_network_id or"},{"line_number":527,"context_line":"                               CONF.network.public_network_id)"},{"line_number":528,"context_line":"        if port:"},{"line_number":529,"context_line":"            kwargs[\u0027port_id\u0027] \u003d port[\u0027id\u0027]"},{"line_number":530,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_04d2ad5c","line":527,"range":{"start_line":526,"start_character":31,"end_line":527,"end_character":61},"in_reply_to":"5f7c97a3_4a2bdae9","updated":"2018-06-26 05:16:11.000000000","message":"Done","commit_id":"d9f3d78d359ae3d10849e1aac21ccf1f47927ea2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"5d476a89684b10c0650bcc793573123bd2869686","unresolved":false,"context_lines":[{"line_number":514,"context_line":"        :param external_network_id: network ID where to create"},{"line_number":515,"context_line":"        By default this is \u0027CONF.network.public_network_id\u0027."},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"        :param port: port to bind floating IP to"},{"line_number":518,"context_line":"        This is translated to \u0027port_id\u003dport[\u0027id\u0027]\u0027"},{"line_number":519,"context_line":"        By default it is None."},{"line_number":520,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_902a69e4","line":517,"updated":"2018-06-26 19:08:05.000000000","message":"do You really need to pass here whole \"port\" dict? You need only port_id so maybe You could pass here only this id?\nI found that e.g. in neutron_tempest_plugin/scenario/test_trunk.py You are really pass only port_id to this method","commit_id":"08136222149a4e5c84dc1a64069de0655f01123f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"de42ed9b2e45fa88e185ddb2809a3824ef1b88b7","unresolved":false,"context_lines":[{"line_number":514,"context_line":"        :param external_network_id: network ID where to create"},{"line_number":515,"context_line":"        By default this is \u0027CONF.network.public_network_id\u0027."},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"        :param port: port to bind floating IP to"},{"line_number":518,"context_line":"        This is translated to \u0027port_id\u003dport[\u0027id\u0027]\u0027"},{"line_number":519,"context_line":"        By default it is None."},{"line_number":520,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_343c9c90","line":517,"in_reply_to":"5f7c97a3_0e086d2a","updated":"2018-06-27 08:19:20.000000000","message":"Ok, I see now. It might works like that.","commit_id":"08136222149a4e5c84dc1a64069de0655f01123f"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"864dc313aa6b03a724eedededdf95fecd4f21f5a","unresolved":false,"context_lines":[{"line_number":514,"context_line":"        :param external_network_id: network ID where to create"},{"line_number":515,"context_line":"        By default this is \u0027CONF.network.public_network_id\u0027."},{"line_number":516,"context_line":""},{"line_number":517,"context_line":"        :param port: port to bind floating IP to"},{"line_number":518,"context_line":"        This is translated to \u0027port_id\u003dport[\u0027id\u0027]\u0027"},{"line_number":519,"context_line":"        By default it is None."},{"line_number":520,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_0e086d2a","line":517,"in_reply_to":"5f7c97a3_902a69e4","updated":"2018-06-27 07:24:13.000000000","message":"You can pass either port or port_id parameter, are both valid here. External_network_id was already the first parameter and cannot be moved for backward compatibility.\n\nThis is how port is typically created:\n\n  network \u003d self.create_network()\n  port \u003d self.create_port(network)\n\nOr:\n\n  ports \u003d client.list_ports(device_id\u003dserver[\u0027id\u0027])\n\nTherefore most common use case you have port as dictionary\n  fip \u003d self.create_floating_ip(port\u003dport)\n\nAnyway you can still call this method as below in the case you have port_id instead of port[\u0027id\u0027].  \n  fip \u003d self.create_floating_ip(port_id\u003dport_id)\n  fip \u003d self.create_floating_ip(port\u003d{\u0027id\u0027: port_id}\n\nPort parameter is only an helper parameter that it is translated to port_id parameter that help reducing code in most of the cases I saw.\n\nAnyway other self.create_something methods prefer the same approach. Please see the create_port or create_subnet methods. They require a dictionary. On my opinion they should accept either dictionary and IDs on the same time as this method does.","commit_id":"08136222149a4e5c84dc1a64069de0655f01123f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"5d476a89684b10c0650bcc793573123bd2869686","unresolved":false,"context_lines":[{"line_number":537,"context_line":""},{"line_number":538,"context_line":"        # save client to be used later in cls.delete_floatingip"},{"line_number":539,"context_line":"        # for final cleanup"},{"line_number":540,"context_line":"        fip[\u0027client\u0027] \u003d client"},{"line_number":541,"context_line":"        cls.floating_ips.append(fip)"},{"line_number":542,"context_line":"        return fip"},{"line_number":543,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_d0c0e12d","line":540,"updated":"2018-06-26 19:08:05.000000000","message":"can\u0027t admin client be used in case if it\u0027s originally created for other user than cls.client?","commit_id":"08136222149a4e5c84dc1a64069de0655f01123f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"de42ed9b2e45fa88e185ddb2809a3824ef1b88b7","unresolved":false,"context_lines":[{"line_number":537,"context_line":""},{"line_number":538,"context_line":"        # save client to be used later in cls.delete_floatingip"},{"line_number":539,"context_line":"        # for final cleanup"},{"line_number":540,"context_line":"        fip[\u0027client\u0027] \u003d client"},{"line_number":541,"context_line":"        cls.floating_ips.append(fip)"},{"line_number":542,"context_line":"        return fip"},{"line_number":543,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_1445e014","line":540,"in_reply_to":"5f7c97a3_190d1934","updated":"2018-06-27 08:19:20.000000000","message":"ok","commit_id":"08136222149a4e5c84dc1a64069de0655f01123f"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"864dc313aa6b03a724eedededdf95fecd4f21f5a","unresolved":false,"context_lines":[{"line_number":537,"context_line":""},{"line_number":538,"context_line":"        # save client to be used later in cls.delete_floatingip"},{"line_number":539,"context_line":"        # for final cleanup"},{"line_number":540,"context_line":"        fip[\u0027client\u0027] \u003d client"},{"line_number":541,"context_line":"        cls.floating_ips.append(fip)"},{"line_number":542,"context_line":"        return fip"},{"line_number":543,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_190d1934","line":540,"in_reply_to":"5f7c97a3_d0c0e12d","updated":"2018-06-27 07:24:13.000000000","message":"Admin client is available only on some test cases. This approach only assures the floating IP is deleted with the same client that has been used to create it. This make things simpler at the deletion phase, and allow it to work with any client passed to this method by the user.","commit_id":"08136222149a4e5c84dc1a64069de0655f01123f"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"454005b5b5b7ce620c05eac7fe32fa274d7868c0","unresolved":false,"context_lines":[{"line_number":586,"context_line":"        Create a floating IP and schedule it for later deletion."},{"line_number":587,"context_line":"        If a client is passed, then it is used for deleting the IP too."},{"line_number":588,"context_line":""},{"line_number":589,"context_line":"        :param external_network_id: network ID where to create"},{"line_number":590,"context_line":"        By default this is \u0027CONF.network.public_network_id\u0027."},{"line_number":591,"context_line":""},{"line_number":592,"context_line":"        :param port: port to bind floating IP to"},{"line_number":593,"context_line":"        This is translated to \u0027port_id\u003dport[\u0027id\u0027]\u0027"},{"line_number":594,"context_line":"        By default it is None."},{"line_number":595,"context_line":""},{"line_number":596,"context_line":"        :param client: network client to be used for creating and cleaning up"},{"line_number":597,"context_line":"        the floating IP."},{"line_number":598,"context_line":""},{"line_number":599,"context_line":"        :param **kwargs: additional creation parameters to be forwarded to"},{"line_number":600,"context_line":"        networking server."},{"line_number":601,"context_line":"        \"\"\""},{"line_number":602,"context_line":""},{"line_number":603,"context_line":"        client \u003d client or cls.client"},{"line_number":604,"context_line":"        external_network_id \u003d (external_network_id or"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_3c35e0da","line":601,"range":{"start_line":589,"start_character":7,"end_line":601,"end_character":11},"updated":"2018-08-22 07:31:25.000000000","message":"add return type too ?","commit_id":"ea6e12892f32b5a7d63cf6f4fdb44773d782781e"}],"neutron_tempest_plugin/scenario/base.py":[{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"ad7772f8e9a5d7232098ee98817ab1825f442743","unresolved":false,"context_lines":[{"line_number":184,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":185,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":186,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":187,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def setup_network_and_server(self, router\u003dNone, **kwargs):"},{"line_number":190,"context_line":"        \"\"\"Create network resources and a server."}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_17ebeaa3","line":187,"range":{"start_line":187,"start_character":8,"end_line":187,"end_character":69},"updated":"2018-06-22 22:21:35.000000000","message":"IMHO, a slightly safer approach is to leave the original implementation untouched.","commit_id":"d85dbabcb9d4eb7f02dd7e39d9c929c7a3f27009"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"ad7772f8e9a5d7232098ee98817ab1825f442743","unresolved":false,"context_lines":[{"line_number":184,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":185,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":186,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":187,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def setup_network_and_server(self, router\u003dNone, **kwargs):"},{"line_number":190,"context_line":"        \"\"\"Create network resources and a server."}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_b729d6f2","line":187,"range":{"start_line":187,"start_character":62,"end_line":187,"end_character":68},"updated":"2018-06-22 22:21:35.000000000","message":"client or self.os_primary.network_client ?","commit_id":"d85dbabcb9d4eb7f02dd7e39d9c929c7a3f27009"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"29334f3156de21240179921276b38afab9511ec1","unresolved":false,"context_lines":[{"line_number":184,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":185,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":186,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":187,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def setup_network_and_server(self, router\u003dNone, **kwargs):"},{"line_number":190,"context_line":"        \"\"\"Create network resources and a server."}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_5044fab7","line":187,"range":{"start_line":187,"start_character":62,"end_line":187,"end_character":68},"in_reply_to":"5f7c97a3_b729d6f2","updated":"2018-06-25 10:14:27.000000000","message":"Good catch!","commit_id":"d85dbabcb9d4eb7f02dd7e39d9c929c7a3f27009"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"098aecad2d199526c445a2ee55e34a1f89e0be1c","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        return router"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":185,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":186,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":187,"context_line":"        client \u003d client or self.os_primary.network_client"},{"line_number":188,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_ea83c6a7","line":185,"range":{"start_line":185,"start_character":20,"end_line":185,"end_character":72},"updated":"2018-06-25 17:45:17.000000000","message":"may be deprecated since rocky can be added so that, it can be removed after a cycle or two.","commit_id":"d9f3d78d359ae3d10849e1aac21ccf1f47927ea2"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"e7a0b56cb91f7c7bb9d5918229e9182533529c51","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        return router"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":185,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":186,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":187,"context_line":"        client \u003d client or self.os_primary.network_client"},{"line_number":188,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_eb64114b","line":185,"range":{"start_line":185,"start_character":20,"end_line":185,"end_character":72},"in_reply_to":"5f7c97a3_a445f916","updated":"2018-06-26 15:51:05.000000000","message":"\"Deprecated method: \u0027create_and_associate_floatingip\u0027\nhas been deprecated since rocky Please use create_floatingip\ninstead\"  ?\n\nhaving rocky in message will be like a reminder for removing \u0027create_and_associate_floatingip\u0027 from tree next cycle.","commit_id":"d9f3d78d359ae3d10849e1aac21ccf1f47927ea2"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"26dbdb55e3e62d23fc7fe47e35ae0bea08afc8d8","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        return router"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":185,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":186,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":187,"context_line":"        client \u003d client or self.os_primary.network_client"},{"line_number":188,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_a445f916","line":185,"range":{"start_line":185,"start_character":20,"end_line":185,"end_character":72},"in_reply_to":"5f7c97a3_ea83c6a7","updated":"2018-06-26 05:16:11.000000000","message":"I don\u0027t understand. What should I write here?","commit_id":"d9f3d78d359ae3d10849e1aac21ccf1f47927ea2"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"8a89fdebf42d5b3865dda77e85efdeb2a81023e2","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        return router"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":185,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":186,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":187,"context_line":"        client \u003d client or self.os_primary.network_client"},{"line_number":188,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_39eed520","line":185,"range":{"start_line":185,"start_character":20,"end_line":185,"end_character":72},"in_reply_to":"5f7c97a3_eb64114b","updated":"2018-08-17 11:17:42.000000000","message":"It would be ambigous speaking about a versioning system tempest doesn\u0027t follow.","commit_id":"d9f3d78d359ae3d10849e1aac21ccf1f47927ea2"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"8349cfecac3d0253f9df7725f08e4923b7999736","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        return router"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":185,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":186,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":187,"context_line":"        client \u003d client or self.os_primary.network_client"},{"line_number":188,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_4e8185c1","line":185,"range":{"start_line":185,"start_character":20,"end_line":185,"end_character":72},"in_reply_to":"5f7c97a3_eb64114b","updated":"2018-06-27 07:00:28.000000000","message":"Tempest has no versioning system that matches OpenStack release cycles. It has no branches or tags on its repository as other OpenStack project like Neturon has. Any reference to \"Rocky\" would be a bit pretentious as tempest and this plugin are intended to work with many OpenStack versions at the same time. The only versioning system I saw valid for this plugin are the Git one (commit number) or the one used for this Python package installation.","commit_id":"d9f3d78d359ae3d10849e1aac21ccf1f47927ea2"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"5d476a89684b10c0650bcc793573123bd2869686","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        return router"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":185,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":186,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":187,"context_line":"        client \u003d client or self.os_primary.network_client"},{"line_number":188,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_f03e3d24","line":185,"updated":"2018-06-26 19:08:05.000000000","message":"Please maybe write here in which release this deprecated method should be removed :)","commit_id":"08136222149a4e5c84dc1a64069de0655f01123f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"de42ed9b2e45fa88e185ddb2809a3824ef1b88b7","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        return router"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":185,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":186,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":187,"context_line":"        client \u003d client or self.os_primary.network_client"},{"line_number":188,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_f4db8479","line":185,"in_reply_to":"5f7c97a3_d9aec1e2","updated":"2018-06-27 08:19:20.000000000","message":"AFAIK tempest has tags for some versions. But I\u0027m not sure if we should stick to tempest of to neutron versions here.\nSo maybe You\u0027re right and for now we will just deprecate it without information the it will be deleted :)","commit_id":"08136222149a4e5c84dc1a64069de0655f01123f"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"864dc313aa6b03a724eedededdf95fecd4f21f5a","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        return router"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":185,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":186,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":187,"context_line":"        client \u003d client or self.os_primary.network_client"},{"line_number":188,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_d9aec1e2","line":185,"in_reply_to":"5f7c97a3_f03e3d24","updated":"2018-06-27 07:24:13.000000000","message":"Please specify wich release number/name should I use. Git commit number? Plugin version number? Neither this plugin and tempest follow OpenStack release cycle and any reference to that naming would generated confusion to final user.","commit_id":"08136222149a4e5c84dc1a64069de0655f01123f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3f15b7d4091765e295b4d4398ea5b1c60f73bd9a","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":162,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":163,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":164,"context_line":"        client \u003d client or self.os_primary.network_client"},{"line_number":165,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"5f7c97a3_3df1ee96","line":163,"updated":"2018-08-01 16:45:36.000000000","message":"We should use the removals function decorator, something like:\n\n@removals.remove(version\u003d\u0027Rocky\u0027, removal_version\u003d\u0027Stein\u0027,\n                 message\u003d\"Usage of create_and_associate_floatingip is \"\n                         \"deprecated. Use create_floatingip instead.\")\n\nEven though this repo is not tied to a release it will get the point across.\n\nWill need this too:\n\nfrom debtcollector import removals\n\nAnd this in requirements.txt:\n\ndebtcollector\u003e\u003d1.2.0 # Apache-2.0\n\nAnd also a release note.","commit_id":"536f1849ac7a51685d419b1644a90cef68057b8f"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"8a89fdebf42d5b3865dda77e85efdeb2a81023e2","unresolved":false,"context_lines":[{"line_number":160,"context_line":""},{"line_number":161,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":162,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":163,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":164,"context_line":"        client \u003d client or self.os_primary.network_client"},{"line_number":165,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"3f79a3b5_8620c19d","line":163,"in_reply_to":"5f7c97a3_3df1ee96","updated":"2018-08-17 11:17:42.000000000","message":"Done","commit_id":"536f1849ac7a51685d419b1644a90cef68057b8f"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b2bec53a3170fa1ed0818fb44cf46963d77d505b","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        cls.routers.append(router)"},{"line_number":160,"context_line":"        return router"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    @removals.remove(version\u003d\u0027Rocky\u0027, removal_version\u003d\u0027Stein\u0027,"},{"line_number":163,"context_line":"                     message\u003d\"Usage of create_and_associate_floatingip is \""},{"line_number":164,"context_line":"                             \"deprecated. Use create_floatingip instead.\")"},{"line_number":165,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_7502ad71","line":162,"updated":"2018-08-21 09:20:22.000000000","message":"Now You should change it as it will be deprecated in Stein cycle and may be removed in next one","commit_id":"61c71c9592bb4a378bcd1b9b6ff09afcd6ef2ba4"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"7b65ff79064e766206f0ae763e76953465d2ea79","unresolved":false,"context_lines":[{"line_number":159,"context_line":"        cls.routers.append(router)"},{"line_number":160,"context_line":"        return router"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    @removals.remove(version\u003d\u0027Rocky\u0027, removal_version\u003d\u0027Stein\u0027,"},{"line_number":163,"context_line":"                     message\u003d\"Usage of create_and_associate_floatingip is \""},{"line_number":164,"context_line":"                             \"deprecated. Use create_floatingip instead.\")"},{"line_number":165,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_b956e205","line":162,"in_reply_to":"3f79a3b5_7502ad71","updated":"2018-08-22 06:46:16.000000000","message":"I moved method deprecation to this other change:\n- https://review.openstack.org/#/c/594845/","commit_id":"61c71c9592bb4a378bcd1b9b6ff09afcd6ef2ba4"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"631cce00756b2f9d9fcd8243fab829903394cc08","unresolved":false,"context_lines":[{"line_number":163,"context_line":"                     message\u003d\"Usage of create_and_associate_floatingip is \""},{"line_number":164,"context_line":"                             \"deprecated. Use create_floatingip instead.\")"},{"line_number":165,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":166,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":167,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":168,"context_line":"        client \u003d client or self.os_primary.network_client"},{"line_number":169,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_9281d74d","line":166,"range":{"start_line":166,"start_character":12,"end_line":166,"end_character":19},"updated":"2018-08-17 14:33:45.000000000","message":"Nit: According to the document, @removals.remove will emit a warning message so this is possibly not necessary.","commit_id":"61c71c9592bb4a378bcd1b9b6ff09afcd6ef2ba4"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"7b65ff79064e766206f0ae763e76953465d2ea79","unresolved":false,"context_lines":[{"line_number":163,"context_line":"                     message\u003d\"Usage of create_and_associate_floatingip is \""},{"line_number":164,"context_line":"                             \"deprecated. Use create_floatingip instead.\")"},{"line_number":165,"context_line":"    def create_and_associate_floatingip(self, port_id, client\u003dNone):"},{"line_number":166,"context_line":"        LOG.warning(\"Deprecated method: \u0027create_and_associate_floatingip\u0027.\""},{"line_number":167,"context_line":"                    \"Please use \u0027create_floatingip\u0027 instead.\")"},{"line_number":168,"context_line":"        client \u003d client or self.os_primary.network_client"},{"line_number":169,"context_line":"        return self.create_floatingip(port_id\u003dport_id, client\u003dclient)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3f79a3b5_d9595e35","line":166,"range":{"start_line":166,"start_character":12,"end_line":166,"end_character":19},"in_reply_to":"3f79a3b5_9281d74d","updated":"2018-08-22 06:46:16.000000000","message":"Done","commit_id":"61c71c9592bb4a378bcd1b9b6ff09afcd6ef2ba4"}],"releasenotes/notes/mark-methods-removals-f8b230171c045a3e.yaml":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"b2bec53a3170fa1ed0818fb44cf46963d77d505b","unresolved":false,"context_lines":[{"line_number":5,"context_line":"features:"},{"line_number":6,"context_line":"  - |"},{"line_number":7,"context_line":"    Add new depenceny in requirements.txt to \u0027debtcollector\u0027 with the pourpouse"},{"line_number":8,"context_line":"    of deprecating base class methods that are going to be replaced."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"3f79a3b5_35f43587","line":8,"updated":"2018-08-21 09:20:22.000000000","message":"Please add also note about deprecations","commit_id":"61c71c9592bb4a378bcd1b9b6ff09afcd6ef2ba4"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"7b65ff79064e766206f0ae763e76953465d2ea79","unresolved":false,"context_lines":[{"line_number":5,"context_line":"features:"},{"line_number":6,"context_line":"  - |"},{"line_number":7,"context_line":"    Add new depenceny in requirements.txt to \u0027debtcollector\u0027 with the pourpouse"},{"line_number":8,"context_line":"    of deprecating base class methods that are going to be replaced."}],"source_content_type":"text/x-yaml","patch_set":13,"id":"3f79a3b5_79404a36","line":8,"in_reply_to":"3f79a3b5_35f43587","updated":"2018-08-22 06:46:16.000000000","message":"Done","commit_id":"61c71c9592bb4a378bcd1b9b6ff09afcd6ef2ba4"}]}
