)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"d3cc0d9e3fabdf30b3ec31f97904605c209f3afa","unresolved":false,"context_lines":[{"line_number":11,"context_line":"This behavior is confusing and inconsistent with FWaaS API."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This change makes it accept \"any\" protocol."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug: #1470051"},{"line_number":16,"context_line":"Change-Id: Ie35d9cf2cff180baad0a5c6d4312224bf9254cd8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba3cc151_5fcba41e","line":14,"updated":"2015-06-30 12:35:30.000000000","message":"APIImpact?","commit_id":"0913f6a611710727c9bfeb85fc5318cc8f2f43fa"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"447fd05121ce73dd6c2fcb30728fba0462378d7f","unresolved":false,"context_lines":[{"line_number":10,"context_line":"to accept any protocol in security-group-rule-create."},{"line_number":11,"context_line":"This behavior is confusing and inconsistent with FWaaS API."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This change makes it accept \"any\" protocol."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Closes-Bug: #1470051"},{"line_number":16,"context_line":"Change-Id: Ie35d9cf2cff180baad0a5c6d4312224bf9254cd8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"ba3cc151_6792d2f8","line":13,"updated":"2015-07-06 04:13:50.000000000","message":"aws seems to use \"all\". [1]\ni think our sg is meant to be aws compatible rather than fwaas.\nhow do you think?\n\n[1] http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ApiReference-cmd-AuthorizeSecurityGroupIngress.html","commit_id":"fe34307bd5e8e2d6e26a36b637c95e9c18265742"}],"neutron/extensions/securitygroup.py":[{"author":{"_account_id":8279,"name":"Fawad Khaliq","email":"fawadkq@gmail.com","username":"fawadkhaliq"},"change_message_id":"e3e0417c84c1e5825956b7005ebd3c60cb937872","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"attr.validators[\u0027type:name_not_default\u0027] \u003d _validate_name_not_default"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"sg_supported_protocols \u003d [None, const.PROTO_NAME_TCP, const.PROTO_NAME_UDP,"},{"line_number":202,"context_line":"                          const.PROTO_NAME_ICMP, const.PROTO_NAME_ICMP_V6]"},{"line_number":203,"context_line":"sg_supported_ethertypes \u003d [\u0027IPv4\u0027, \u0027IPv6\u0027]"},{"line_number":204,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_ac55f350","side":"PARENT","line":201,"updated":"2015-06-30 10:42:35.000000000","message":"None is not equivalent to any/wildcard?","commit_id":"49b64ca6bce3fef1e719a3ca7b66fd5b3452d54f"},{"author":{"_account_id":12758,"name":"Masaki Matsushita","email":"glass.saga@gmail.com","username":"masaki"},"change_message_id":"7727b9abd9b0d52f84f2542547422b7edf86542b","unresolved":false,"context_lines":[{"line_number":198,"context_line":""},{"line_number":199,"context_line":"attr.validators[\u0027type:name_not_default\u0027] \u003d _validate_name_not_default"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"sg_supported_protocols \u003d [None, const.PROTO_NAME_TCP, const.PROTO_NAME_UDP,"},{"line_number":202,"context_line":"                          const.PROTO_NAME_ICMP, const.PROTO_NAME_ICMP_V6]"},{"line_number":203,"context_line":"sg_supported_ethertypes \u003d [\u0027IPv4\u0027, \u0027IPv6\u0027]"},{"line_number":204,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_d30ab225","side":"PARENT","line":201,"in_reply_to":"ba3cc151_ac55f350","updated":"2015-07-03 05:18:59.000000000","message":"I think None is equivalent to any because all protocols allowed when None is specified.","commit_id":"49b64ca6bce3fef1e719a3ca7b66fd5b3452d54f"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"a190989009544c65ba78cafe72deed6a03ec08d0","unresolved":false,"context_lines":[{"line_number":132,"context_line":"    if value is None:"},{"line_number":133,"context_line":"        return"},{"line_number":134,"context_line":"    if value \u003d\u003d \"any\":"},{"line_number":135,"context_line":"        value \u003d None"},{"line_number":136,"context_line":"    try:"},{"line_number":137,"context_line":"        val \u003d int(value)"},{"line_number":138,"context_line":"        if val \u003e\u003d 0 and val \u003c\u003d 255:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_87ba4809","line":135,"updated":"2015-06-30 10:57:50.000000000","message":"int(None) will raise TypeError. and None.lower() will also raise error.","commit_id":"0913f6a611710727c9bfeb85fc5318cc8f2f43fa"},{"author":{"_account_id":12758,"name":"Masaki Matsushita","email":"glass.saga@gmail.com","username":"masaki"},"change_message_id":"7727b9abd9b0d52f84f2542547422b7edf86542b","unresolved":false,"context_lines":[{"line_number":132,"context_line":"    if value is None:"},{"line_number":133,"context_line":"        return"},{"line_number":134,"context_line":"    if value \u003d\u003d \"any\":"},{"line_number":135,"context_line":"        value \u003d None"},{"line_number":136,"context_line":"    try:"},{"line_number":137,"context_line":"        val \u003d int(value)"},{"line_number":138,"context_line":"        if val \u003e\u003d 0 and val \u003c\u003d 255:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba3cc151_732e46a6","line":135,"in_reply_to":"ba3cc151_87ba4809","updated":"2015-07-03 05:18:59.000000000","message":"Done","commit_id":"0913f6a611710727c9bfeb85fc5318cc8f2f43fa"},{"author":{"_account_id":16242,"name":"Rayman Lwo","email":"liangliang.luo@easystack.cn","username":"Rayman"},"change_message_id":"922abe550f5c115fc39fabe33afb322e7b1690f3","unresolved":false,"context_lines":[{"line_number":200,"context_line":""},{"line_number":201,"context_line":"attr.validators[\u0027type:name_not_default\u0027] \u003d _validate_name_not_default"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"sg_supported_protocols \u003d [\"any\", const.PROTO_NAME_TCP, const.PROTO_NAME_UDP,"},{"line_number":204,"context_line":"                          const.PROTO_NAME_ICMP, const.PROTO_NAME_ICMP_V6]"},{"line_number":205,"context_line":"sg_supported_ethertypes \u003d [\u0027IPv4\u0027, \u0027IPv6\u0027]"},{"line_number":206,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_99df6bd5","line":203,"updated":"2015-07-03 07:01:48.000000000","message":"I think you can define \"any\" as PROTO_ANY in const module.","commit_id":"3acbc7d3f294d8d2736014dd416f4a107bf7769e"},{"author":{"_account_id":12758,"name":"Masaki Matsushita","email":"glass.saga@gmail.com","username":"masaki"},"change_message_id":"ec69bdbd883dd0e87bb61b36b3321f394e2fba13","unresolved":false,"context_lines":[{"line_number":200,"context_line":""},{"line_number":201,"context_line":"attr.validators[\u0027type:name_not_default\u0027] \u003d _validate_name_not_default"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"sg_supported_protocols \u003d [\"any\", const.PROTO_NAME_TCP, const.PROTO_NAME_UDP,"},{"line_number":204,"context_line":"                          const.PROTO_NAME_ICMP, const.PROTO_NAME_ICMP_V6]"},{"line_number":205,"context_line":"sg_supported_ethertypes \u003d [\u0027IPv4\u0027, \u0027IPv6\u0027]"},{"line_number":206,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3cc151_2e31345a","line":203,"in_reply_to":"ba3cc151_99df6bd5","updated":"2015-07-03 07:47:05.000000000","message":"Done","commit_id":"3acbc7d3f294d8d2736014dd416f4a107bf7769e"},{"author":{"_account_id":16242,"name":"Rayman Lwo","email":"liangliang.luo@easystack.cn","username":"Rayman"},"change_message_id":"3c62d282caf563c089ad9b44296a204914074742","unresolved":false,"context_lines":[{"line_number":131,"context_line":"def convert_protocol(value):"},{"line_number":132,"context_line":"    if value is None:"},{"line_number":133,"context_line":"        return"},{"line_number":134,"context_line":"    if value \u003d\u003d \"any\":"},{"line_number":135,"context_line":"        return None"},{"line_number":136,"context_line":"    try:"},{"line_number":137,"context_line":"        val \u003d int(value)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_a17a3522","line":134,"updated":"2015-07-03 08:04:59.000000000","message":"You can also modify \"any\" to const.PROTO_NAME_ANY as line 201.","commit_id":"e51b23fc3965630530d0c36a74d8436ae7682bae"},{"author":{"_account_id":12758,"name":"Masaki Matsushita","email":"glass.saga@gmail.com","username":"masaki"},"change_message_id":"a2cef627e90950279bd83ac16ffeb229e85d57fc","unresolved":false,"context_lines":[{"line_number":131,"context_line":"def convert_protocol(value):"},{"line_number":132,"context_line":"    if value is None:"},{"line_number":133,"context_line":"        return"},{"line_number":134,"context_line":"    if value \u003d\u003d \"any\":"},{"line_number":135,"context_line":"        return None"},{"line_number":136,"context_line":"    try:"},{"line_number":137,"context_line":"        val \u003d int(value)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_4cbd7c01","line":134,"in_reply_to":"ba3cc151_a17a3522","updated":"2015-07-05 07:43:38.000000000","message":"Done","commit_id":"e51b23fc3965630530d0c36a74d8436ae7682bae"}]}
