)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Masahito Muroi \u003cmuroi.masahito@lab.ntt.co.jp\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-01-11 19:06:47 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add floatingip plugin to support floating ip resource"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"To support floating ip reservation, this patch add the floatingip"},{"line_number":10,"context_line":"plugin. As first step to the goal, the plugin supports create, get"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bfdaf3ff_48d86e52","line":7,"range":{"start_line":7,"start_character":42,"end_line":7,"end_character":44},"updated":"2019-01-14 15:53:57.000000000","message":"Nit: IP","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"10fe0375a5f3732e7c5f811a9b41760666204c00","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Masahito Muroi \u003cmuroi.masahito@lab.ntt.co.jp\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-01-11 19:06:47 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add floatingip plugin to support floating ip resource"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"To support floating ip reservation, this patch add the floatingip"},{"line_number":10,"context_line":"plugin. As first step to the goal, the plugin supports create, get"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bfdaf3ff_59f4accf","line":7,"range":{"start_line":7,"start_character":42,"end_line":7,"end_character":44},"in_reply_to":"bfdaf3ff_48d86e52","updated":"2019-01-15 12:57:49.000000000","message":"Done","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add floatingip plugin to support floating ip resource"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"To support floating ip reservation, this patch add the floatingip"},{"line_number":10,"context_line":"plugin. As first step to the goal, the plugin supports create, get"},{"line_number":11,"context_line":"and delete floatingip resource."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bfdaf3ff_e8dcc247","line":9,"range":{"start_line":9,"start_character":20,"end_line":9,"end_character":22},"updated":"2019-01-14 15:53:57.000000000","message":"Nit: IP","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add floatingip plugin to support floating ip resource"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"To support floating ip reservation, this patch add the floatingip"},{"line_number":10,"context_line":"plugin. As first step to the goal, the plugin supports create, get"},{"line_number":11,"context_line":"and delete floatingip resource."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bfdaf3ff_a8e6ba15","line":9,"range":{"start_line":9,"start_character":47,"end_line":9,"end_character":50},"updated":"2019-01-14 15:53:57.000000000","message":"adds","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"10fe0375a5f3732e7c5f811a9b41760666204c00","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add floatingip plugin to support floating ip resource"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"To support floating ip reservation, this patch add the floatingip"},{"line_number":10,"context_line":"plugin. As first step to the goal, the plugin supports create, get"},{"line_number":11,"context_line":"and delete floatingip resource."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"bfdaf3ff_b92ef840","line":9,"range":{"start_line":9,"start_character":20,"end_line":9,"end_character":22},"in_reply_to":"bfdaf3ff_e8dcc247","updated":"2019-01-15 12:57:49.000000000","message":"Done","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"}],"blazar/db/api.py":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":438,"context_line":""},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"def floatingip_destroy(floatingip_id):"},{"line_number":441,"context_line":"    \"\"\"Delete specific Compute floating ip.\"\"\""},{"line_number":442,"context_line":"    IMPL.floatingip_destroy(floatingip_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_28bc0adb","line":441,"range":{"start_line":441,"start_character":23,"end_line":441,"end_character":30},"updated":"2019-01-14 15:53:57.000000000","message":"Left over from find and replace? :-)","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"10fe0375a5f3732e7c5f811a9b41760666204c00","unresolved":false,"context_lines":[{"line_number":438,"context_line":""},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"def floatingip_destroy(floatingip_id):"},{"line_number":441,"context_line":"    \"\"\"Delete specific Compute floating ip.\"\"\""},{"line_number":442,"context_line":"    IMPL.floatingip_destroy(floatingip_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_9973f4b1","line":441,"range":{"start_line":441,"start_character":23,"end_line":441,"end_character":30},"in_reply_to":"bfdaf3ff_28bc0adb","updated":"2019-01-15 12:57:49.000000000","message":"Thanks :-) Done.","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"}],"blazar/db/sqlalchemy/api.py":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":873,"context_line":""},{"line_number":874,"context_line":"        if not floatingip:"},{"line_number":875,"context_line":"            # raise not found error"},{"line_number":876,"context_line":"            raise db_exc.BlazarDBNotFound(id\u003dfloatingip_id, model\u003d\u0027Host\u0027)"},{"line_number":877,"context_line":""},{"line_number":878,"context_line":"        session.delete(floatingip)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_08bb46e2","line":876,"range":{"start_line":876,"start_character":67,"end_line":876,"end_character":71},"updated":"2019-01-14 15:53:57.000000000","message":"This is not correct.","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"10fe0375a5f3732e7c5f811a9b41760666204c00","unresolved":false,"context_lines":[{"line_number":873,"context_line":""},{"line_number":874,"context_line":"        if not floatingip:"},{"line_number":875,"context_line":"            # raise not found error"},{"line_number":876,"context_line":"            raise db_exc.BlazarDBNotFound(id\u003dfloatingip_id, model\u003d\u0027Host\u0027)"},{"line_number":877,"context_line":""},{"line_number":878,"context_line":"        session.delete(floatingip)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_b99b58c7","line":876,"range":{"start_line":876,"start_character":67,"end_line":876,"end_character":71},"in_reply_to":"bfdaf3ff_08bb46e2","updated":"2019-01-15 12:57:49.000000000","message":"Done","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"}],"blazar/manager/exceptions.py":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":192,"context_line":"# floating ip plugin related exceptions"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"class InvalidFloatingIP(exceptions.InvalidInput):"},{"line_number":195,"context_line":"    msg_fmt \u003d _(\"Invalid values for floating ip \""},{"line_number":196,"context_line":"                \" %(network)s and %(floatingip)s\")"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_c8cc5e8b","line":195,"range":{"start_line":195,"start_character":45,"end_line":195,"end_character":47},"updated":"2019-01-14 15:53:57.000000000","message":"Nit: IP","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"10fe0375a5f3732e7c5f811a9b41760666204c00","unresolved":false,"context_lines":[{"line_number":192,"context_line":"# floating ip plugin related exceptions"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"class InvalidFloatingIP(exceptions.InvalidInput):"},{"line_number":195,"context_line":"    msg_fmt \u003d _(\"Invalid values for floating ip \""},{"line_number":196,"context_line":"                \" %(network)s and %(floatingip)s\")"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_f9b8002b","line":195,"range":{"start_line":195,"start_character":45,"end_line":195,"end_character":47},"in_reply_to":"bfdaf3ff_c8cc5e8b","updated":"2019-01-15 12:57:49.000000000","message":"Done","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":197,"context_line":""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"class FloatingIPNotFound(exceptions.NotFound):"},{"line_number":200,"context_line":"    msg_fmt \u003d _(\"FloatingIP %(floatingip)s not found.\")"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"class CantDeleteFloatingIP(exceptions.BlazarException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_e8aa8283","line":200,"range":{"start_line":200,"start_character":17,"end_line":200,"end_character":27},"updated":"2019-01-14 15:53:57.000000000","message":"Nit: Floating IP","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"10fe0375a5f3732e7c5f811a9b41760666204c00","unresolved":false,"context_lines":[{"line_number":197,"context_line":""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"class FloatingIPNotFound(exceptions.NotFound):"},{"line_number":200,"context_line":"    msg_fmt \u003d _(\"FloatingIP %(floatingip)s not found.\")"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"class CantDeleteFloatingIP(exceptions.BlazarException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_19b4e434","line":200,"range":{"start_line":200,"start_character":17,"end_line":200,"end_character":27},"in_reply_to":"bfdaf3ff_e8aa8283","updated":"2019-01-15 12:57:49.000000000","message":"Done","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":202,"context_line":""},{"line_number":203,"context_line":"class CantDeleteFloatingIP(exceptions.BlazarException):"},{"line_number":204,"context_line":"    code \u003d 409"},{"line_number":205,"context_line":"    msg_fmt \u003d _(\"Can\u0027t delete floatingip %(floatingip)s. %(msg)s\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_08b026f4","line":205,"range":{"start_line":205,"start_character":30,"end_line":205,"end_character":40},"updated":"2019-01-14 15:53:57.000000000","message":"Nit: floating IP","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"10fe0375a5f3732e7c5f811a9b41760666204c00","unresolved":false,"context_lines":[{"line_number":202,"context_line":""},{"line_number":203,"context_line":"class CantDeleteFloatingIP(exceptions.BlazarException):"},{"line_number":204,"context_line":"    code \u003d 409"},{"line_number":205,"context_line":"    msg_fmt \u003d _(\"Can\u0027t delete floatingip %(floatingip)s. %(msg)s\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_b984b85f","line":205,"range":{"start_line":205,"start_character":30,"end_line":205,"end_character":40},"in_reply_to":"bfdaf3ff_08b026f4","updated":"2019-01-15 12:57:49.000000000","message":"Done","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"0dfa0be8982fe90090ace8fbf0706ca506ada6dd","unresolved":false,"context_lines":[{"line_number":192,"context_line":"# floating ip plugin related exceptions"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"class InvalidFloatingIP(exceptions.InvalidInput):"},{"line_number":195,"context_line":"    msg_fmt \u003d _(\"Invalid values for floating IP \""},{"line_number":196,"context_line":"                \" %(network)s and %(floatingip)s\")"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"class FloatingIPNotFound(exceptions.NotFound):"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_9e390ff3","line":196,"range":{"start_line":195,"start_character":0,"end_line":196,"end_character":50},"updated":"2019-01-31 17:25:18.000000000","message":"I think the log message just before this exception is thrown is more informative:\n\n\u0027Floating IP %s is not found in network %s.\u0027","commit_id":"09d7f91968b0adc40535e2fc64f663a58ef2d228"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"e87421d5d04926985e07430dd899221034ff63b3","unresolved":false,"context_lines":[{"line_number":192,"context_line":"# floating ip plugin related exceptions"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"class InvalidFloatingIP(exceptions.InvalidInput):"},{"line_number":195,"context_line":"    msg_fmt \u003d _(\"Invalid values for floating IP \""},{"line_number":196,"context_line":"                \" %(network)s and %(floatingip)s\")"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"class FloatingIPNotFound(exceptions.NotFound):"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_c00d28e9","line":196,"range":{"start_line":195,"start_character":0,"end_line":196,"end_character":50},"in_reply_to":"9fdfeff1_9e390ff3","updated":"2019-02-06 04:54:38.000000000","message":"Done","commit_id":"09d7f91968b0adc40535e2fc64f663a58ef2d228"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"3f5b663a56ae71283f2fbe330b5cdc7800046033","unresolved":false,"context_lines":[{"line_number":201,"context_line":""},{"line_number":202,"context_line":"class CantDeleteFloatingIP(exceptions.BlazarException):"},{"line_number":203,"context_line":"    code \u003d 409"},{"line_number":204,"context_line":"    msg_fmt \u003d _(\"Can\u0027t delete floating IP %(floatingip)s. %(msg)s\")"}],"source_content_type":"text/x-python","patch_set":14,"id":"5fc1f717_09f9264c","line":204,"range":{"start_line":204,"start_character":17,"end_line":204,"end_character":21},"updated":"2019-03-20 06:47:00.000000000","message":"nit: Cannot\n\nSee the \"Do not use contractions\" section in  https://docs.openstack.org/doc-contrib-guide/writing-style/general-writing-guidelines.html","commit_id":"f71d028e108bbf9d302e966acb2978a2d11623b5"}],"blazar/plugins/floatingips/floatingip_plugin.py":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class FloatingIpPlugin(base.BasePlugin):"},{"line_number":31,"context_line":"    \"\"\"Plugin for floating ip resource.\"\"\""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    resource_type \u003d plugin.RESOURCE_TYPE"},{"line_number":34,"context_line":"    title \u003d \u0027Floating IP Plugin\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_689e9264","line":31,"range":{"start_line":31,"start_character":27,"end_line":31,"end_character":29},"updated":"2019-01-14 15:53:57.000000000","message":"Nit: IP","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"10fe0375a5f3732e7c5f811a9b41760666204c00","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"class FloatingIpPlugin(base.BasePlugin):"},{"line_number":31,"context_line":"    \"\"\"Plugin for floating ip resource.\"\"\""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    resource_type \u003d plugin.RESOURCE_TYPE"},{"line_number":34,"context_line":"    title \u003d \u0027Floating IP Plugin\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_b9e9181b","line":31,"range":{"start_line":31,"start_character":27,"end_line":31,"end_character":29},"in_reply_to":"bfdaf3ff_689e9264","updated":"2019-01-15 12:57:49.000000000","message":"Done","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    resource_type \u003d plugin.RESOURCE_TYPE"},{"line_number":34,"context_line":"    title \u003d \u0027Floating IP Plugin\u0027"},{"line_number":35,"context_line":"    description \u003d \u0027This plugin create and assigne the floating ip.\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def reserve_resource(self, reservation_id, values):"},{"line_number":38,"context_line":"        raise NotImplementedError"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_488f0e2a","line":35,"range":{"start_line":35,"start_character":42,"end_line":35,"end_character":49},"updated":"2019-01-14 15:53:57.000000000","message":"assigns","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    resource_type \u003d plugin.RESOURCE_TYPE"},{"line_number":34,"context_line":"    title \u003d \u0027Floating IP Plugin\u0027"},{"line_number":35,"context_line":"    description \u003d \u0027This plugin create and assigne the floating ip.\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def reserve_resource(self, reservation_id, values):"},{"line_number":38,"context_line":"        raise NotImplementedError"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_288aca1a","line":35,"range":{"start_line":35,"start_character":31,"end_line":35,"end_character":37},"updated":"2019-01-14 15:53:57.000000000","message":"creates","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    resource_type \u003d plugin.RESOURCE_TYPE"},{"line_number":34,"context_line":"    title \u003d \u0027Floating IP Plugin\u0027"},{"line_number":35,"context_line":"    description \u003d \u0027This plugin create and assigne the floating ip.\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def reserve_resource(self, reservation_id, values):"},{"line_number":38,"context_line":"        raise NotImplementedError"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_08890622","line":35,"range":{"start_line":35,"start_character":50,"end_line":35,"end_character":65},"updated":"2019-01-14 15:53:57.000000000","message":"floating IPs","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"10fe0375a5f3732e7c5f811a9b41760666204c00","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    resource_type \u003d plugin.RESOURCE_TYPE"},{"line_number":34,"context_line":"    title \u003d \u0027Floating IP Plugin\u0027"},{"line_number":35,"context_line":"    description \u003d \u0027This plugin create and assigne the floating ip.\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def reserve_resource(self, reservation_id, values):"},{"line_number":38,"context_line":"        raise NotImplementedError"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_d9ec1c2b","line":35,"range":{"start_line":35,"start_character":42,"end_line":35,"end_character":49},"in_reply_to":"bfdaf3ff_488f0e2a","updated":"2019-01-15 12:57:49.000000000","message":"Done","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        try:"},{"line_number":64,"context_line":"            subnet \u003d pool.fetch_subnet(floatingip_address)"},{"line_number":65,"context_line":"        except exceptions.BlazarException:"},{"line_number":66,"context_line":"            LOG.info(\u0027Floatingip %s is not found in network %s.\u0027,"},{"line_number":67,"context_line":"                     floatingip_address, network_id)"},{"line_number":68,"context_line":"            raise mgr_exceptions.InvalidFloatingIP("},{"line_number":69,"context_line":"                network\u003dnetwork_id, floatingip\u003dfloatingip_address)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_288f2a24","line":66,"range":{"start_line":66,"start_character":22,"end_line":66,"end_character":32},"updated":"2019-01-14 15:53:57.000000000","message":"Nit: Floating IP","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"10fe0375a5f3732e7c5f811a9b41760666204c00","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        try:"},{"line_number":64,"context_line":"            subnet \u003d pool.fetch_subnet(floatingip_address)"},{"line_number":65,"context_line":"        except exceptions.BlazarException:"},{"line_number":66,"context_line":"            LOG.info(\u0027Floatingip %s is not found in network %s.\u0027,"},{"line_number":67,"context_line":"                     floatingip_address, network_id)"},{"line_number":68,"context_line":"            raise mgr_exceptions.InvalidFloatingIP("},{"line_number":69,"context_line":"                network\u003dnetwork_id, floatingip\u003dfloatingip_address)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_39dd2870","line":66,"range":{"start_line":66,"start_character":22,"end_line":66,"end_character":32},"in_reply_to":"bfdaf3ff_288f2a24","updated":"2019-01-15 12:57:49.000000000","message":"Done","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"0dfa0be8982fe90090ace8fbf0706ca506ada6dd","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from oslo_log import log as logging"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from blazar.db import api as db_api"},{"line_number":19,"context_line":"from blazar.db import exceptions as db_ex"},{"line_number":20,"context_line":"from blazar import exceptions"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_f20acf1d","line":17,"updated":"2019-01-31 17:25:18.000000000","message":"No need for extra line break","commit_id":"09d7f91968b0adc40535e2fc64f663a58ef2d228"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"e87421d5d04926985e07430dd899221034ff63b3","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from oslo_log import log as logging"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from blazar.db import api as db_api"},{"line_number":19,"context_line":"from blazar.db import exceptions as db_ex"},{"line_number":20,"context_line":"from blazar import exceptions"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_400138af","line":17,"in_reply_to":"9fdfeff1_f20acf1d","updated":"2019-02-06 04:54:38.000000000","message":"Done","commit_id":"09d7f91968b0adc40535e2fc64f663a58ef2d228"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"0dfa0be8982fe90090ace8fbf0706ca506ada6dd","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    resource_type \u003d plugin.RESOURCE_TYPE"},{"line_number":34,"context_line":"    title \u003d \u0027Floating IP Plugin\u0027"},{"line_number":35,"context_line":"    description \u003d \u0027This plugin creates and assignes floating ips.\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def reserve_resource(self, reservation_id, values):"},{"line_number":38,"context_line":"        raise NotImplementedError"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_7216df4b","line":35,"range":{"start_line":35,"start_character":61,"end_line":35,"end_character":64},"updated":"2019-01-31 17:25:18.000000000","message":"IPs","commit_id":"09d7f91968b0adc40535e2fc64f663a58ef2d228"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"0dfa0be8982fe90090ace8fbf0706ca506ada6dd","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    resource_type \u003d plugin.RESOURCE_TYPE"},{"line_number":34,"context_line":"    title \u003d \u0027Floating IP Plugin\u0027"},{"line_number":35,"context_line":"    description \u003d \u0027This plugin creates and assignes floating ips.\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def reserve_resource(self, reservation_id, values):"},{"line_number":38,"context_line":"        raise NotImplementedError"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_92158342","line":35,"range":{"start_line":35,"start_character":43,"end_line":35,"end_character":51},"updated":"2019-01-31 17:25:18.000000000","message":"assigns","commit_id":"09d7f91968b0adc40535e2fc64f663a58ef2d228"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"e87421d5d04926985e07430dd899221034ff63b3","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    resource_type \u003d plugin.RESOURCE_TYPE"},{"line_number":34,"context_line":"    title \u003d \u0027Floating IP Plugin\u0027"},{"line_number":35,"context_line":"    description \u003d \u0027This plugin creates and assignes floating ips.\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    def reserve_resource(self, reservation_id, values):"},{"line_number":38,"context_line":"        raise NotImplementedError"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_60febcaf","line":35,"range":{"start_line":35,"start_character":43,"end_line":35,"end_character":51},"in_reply_to":"9fdfeff1_92158342","updated":"2019-02-06 04:54:38.000000000","message":"Done","commit_id":"09d7f91968b0adc40535e2fc64f663a58ef2d228"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"0dfa0be8982fe90090ace8fbf0706ca506ada6dd","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        pool \u003d neutron.FloatingIPPool(network_id)"},{"line_number":61,"context_line":"        # validate the floating ip address is out of allocation_pools and"},{"line_number":62,"context_line":"        # with in its subnet cidr."},{"line_number":63,"context_line":"        try:"},{"line_number":64,"context_line":"            subnet \u003d pool.fetch_subnet(floatingip_address)"},{"line_number":65,"context_line":"        except exceptions.BlazarException:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_322e1792","line":62,"range":{"start_line":62,"start_character":10,"end_line":62,"end_character":17},"updated":"2019-01-31 17:25:18.000000000","message":"within","commit_id":"09d7f91968b0adc40535e2fc64f663a58ef2d228"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"e87421d5d04926985e07430dd899221034ff63b3","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        pool \u003d neutron.FloatingIPPool(network_id)"},{"line_number":61,"context_line":"        # validate the floating ip address is out of allocation_pools and"},{"line_number":62,"context_line":"        # with in its subnet cidr."},{"line_number":63,"context_line":"        try:"},{"line_number":64,"context_line":"            subnet \u003d pool.fetch_subnet(floatingip_address)"},{"line_number":65,"context_line":"        except exceptions.BlazarException:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_002d7045","line":62,"range":{"start_line":62,"start_character":10,"end_line":62,"end_character":17},"in_reply_to":"9fdfeff1_322e1792","updated":"2019-02-06 04:54:38.000000000","message":"Done","commit_id":"09d7f91968b0adc40535e2fc64f663a58ef2d228"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"c814c3bb432b9f44bb56d0677bf3c6f88400cf76","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        network_id \u003d values.pop(\u0027floating_network_id\u0027)"},{"line_number":57,"context_line":"        floatingip_address \u003d values.pop(\u0027floating_ip_address\u0027)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        pool \u003d neutron.FloatingIPPool(network_id)"},{"line_number":60,"context_line":"        # validate the floating ip address is out of allocation_pools and"},{"line_number":61,"context_line":"        # within its subnet cidr."},{"line_number":62,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_755ad383","line":59,"range":{"start_line":59,"start_character":8,"end_line":59,"end_character":49},"updated":"2019-02-21 16:51:49.000000000","message":"This fails if the referenced network doesn\u0027t exist. The response doesn\u0027t include useful information:\n\n{\"error_name\": \"INTERNAL_SERVER_ERROR\", \"error_message\": \"Internal Server Error\", \"error_code\": 500}","commit_id":"91746c36b875fdc03543a50927ff2e387ebd99af"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"8dd17b3bb8149490f9eb5449808ffbd563e038ae","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        network_id \u003d values.pop(\u0027floating_network_id\u0027)"},{"line_number":57,"context_line":"        floatingip_address \u003d values.pop(\u0027floating_ip_address\u0027)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"        pool \u003d neutron.FloatingIPPool(network_id)"},{"line_number":60,"context_line":"        # validate the floating ip address is out of allocation_pools and"},{"line_number":61,"context_line":"        # within its subnet cidr."},{"line_number":62,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_a3b41cd2","line":59,"range":{"start_line":59,"start_character":8,"end_line":59,"end_character":49},"in_reply_to":"9fdfeff1_755ad383","updated":"2019-03-19 09:00:05.000000000","message":"The exception is handle correctly once the patch is merged. This patch solves same problem.\nhttps://review.openstack.org/#/c/632929","commit_id":"91746c36b875fdc03543a50927ff2e387ebd99af"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"645e29717e570f96b9a77e2727d13d80d23ff7c8","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        # within its subnet cidr."},{"line_number":62,"context_line":"        try:"},{"line_number":63,"context_line":"            subnet \u003d pool.fetch_subnet(floatingip_address)"},{"line_number":64,"context_line":"        except exceptions.BlazarException:"},{"line_number":65,"context_line":"            LOG.info(\u0027Floating IP %s is not found in network %s.\u0027,"},{"line_number":66,"context_line":"                     floatingip_address, network_id)"},{"line_number":67,"context_line":"            raise manager_ex.InvalidFloatingIP("},{"line_number":68,"context_line":"                network\u003dnetwork_id, floatingip\u003dfloatingip_address)"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        floatingip_values \u003d {"},{"line_number":71,"context_line":"            \u0027network_id\u0027: network_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fdfeff1_b943553f","line":68,"range":{"start_line":64,"start_character":0,"end_line":68,"end_character":66},"updated":"2019-02-21 17:06:38.000000000","message":"This swallows the nicer exception raised by fetch_subnet(), such as NeutronUsesFloatingIP.","commit_id":"91746c36b875fdc03543a50927ff2e387ebd99af"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"3f5b663a56ae71283f2fbe330b5cdc7800046033","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    def validate_floatingip_params(self, values):"},{"line_number":46,"context_line":"        marshall_attributes \u003d set([\u0027floating_network_id\u0027,"},{"line_number":47,"context_line":"                                   \u0027floating_ip_address\u0027])"},{"line_number":48,"context_line":"        missing_attr \u003d marshall_attributes - set(values.keys())"},{"line_number":49,"context_line":"        if missing_attr:"},{"line_number":50,"context_line":"            raise manager_ex.MissingParameter(param\u003d\u0027,\u0027.join(missing_attr))"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"5fc1f717_131719f0","line":48,"range":{"start_line":48,"start_character":55,"end_line":48,"end_character":62},"updated":"2019-03-20 06:47:00.000000000","message":"nit: not needed","commit_id":"f71d028e108bbf9d302e966acb2978a2d11623b5"}],"blazar/utils/openstack/exceptions.py":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class FloatingIPSubnetNotFound(exceptions.NotFound):"},{"line_number":52,"context_line":"    msg_fmt \u003d _(\"Valid subnet for the floating ip %(fip)s is not found.\")"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"class NeutronUsesFloatingIP(exceptions.InvalidInput):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_c8c8de56","line":52,"range":{"start_line":52,"start_character":47,"end_line":52,"end_character":49},"updated":"2019-01-14 15:53:57.000000000","message":"Nit: IP","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"10fe0375a5f3732e7c5f811a9b41760666204c00","unresolved":false,"context_lines":[{"line_number":49,"context_line":""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"class FloatingIPSubnetNotFound(exceptions.NotFound):"},{"line_number":52,"context_line":"    msg_fmt \u003d _(\"Valid subnet for the floating ip %(fip)s is not found.\")"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"class NeutronUsesFloatingIP(exceptions.InvalidInput):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_f9e6c044","line":52,"range":{"start_line":52,"start_character":47,"end_line":52,"end_character":49},"in_reply_to":"bfdaf3ff_c8c8de56","updated":"2019-01-15 12:57:49.000000000","message":"Done","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"d02eb3ef0ac500b1113dba9729caef835360f1d8","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"class NeutronUsesFloatingIP(exceptions.InvalidInput):"},{"line_number":56,"context_line":"    msg_fmt \u003d _(\"The floating IP %(flatingip)s is used in allocation_pools or \""},{"line_number":57,"context_line":"                \"gateway_ip in subnet %(subnet)s .\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_68c5323c","line":56,"range":{"start_line":56,"start_character":35,"end_line":56,"end_character":44},"updated":"2019-01-14 15:53:57.000000000","message":"floatingip","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"},{"author":{"_account_id":8878,"name":"Masahito Muroi","email":"masahito.muroi@g.softbank.co.jp","username":"masa"},"change_message_id":"10fe0375a5f3732e7c5f811a9b41760666204c00","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"class NeutronUsesFloatingIP(exceptions.InvalidInput):"},{"line_number":56,"context_line":"    msg_fmt \u003d _(\"The floating IP %(flatingip)s is used in allocation_pools or \""},{"line_number":57,"context_line":"                \"gateway_ip in subnet %(subnet)s .\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"bfdaf3ff_19e2a430","line":56,"range":{"start_line":56,"start_character":35,"end_line":56,"end_character":44},"in_reply_to":"bfdaf3ff_68c5323c","updated":"2019-01-15 12:57:49.000000000","message":"Done","commit_id":"7fe66a329da1408a23b9b68d7470ee20909af7ee"}],"blazar/utils/openstack/neutron.py":[{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"3f5b663a56ae71283f2fbe330b5cdc7800046033","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            cidr \u003d netaddr.IPNetwork(subnet[\u0027cidr\u0027])"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"            # skip the subnet because it has not valid cidr for the floating ip"},{"line_number":87,"context_line":"            if fip not in cidr:"},{"line_number":88,"context_line":"                continue"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"            allocated_ip \u003d netaddr.IPSet()"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"5fc1f717_d187480f","line":88,"range":{"start_line":87,"start_character":12,"end_line":88,"end_character":24},"updated":"2019-03-20 06:47:00.000000000","message":"nit: having a debug message here might help.","commit_id":"f71d028e108bbf9d302e966acb2978a2d11623b5"}]}
