)]}'
{"neutron/services/loadbalancer/drivers/radware/driver.py":[{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"d87ec72af9633be6858e74e655ad856e59bf5e38","unresolved":false,"context_lines":[{"line_number":1005,"context_line":""},{"line_number":1006,"context_line":"    for member in extended_vip[\u0027members\u0027]:"},{"line_number":1007,"context_line":"        if member[\u0027status\u0027] !\u003d constants.PENDING_DELETE:"},{"line_number":1008,"context_line":"            m \u003d member"},{"line_number":1009,"context_line":"            if two_leg and netaddr.IPAddress(m[\u0027address\u0027]) not in \\"},{"line_number":1010,"context_line":"                netaddr.IPNetwork(pool_subnet[\u0027cidr\u0027]):"},{"line_number":1011,"context_line":"                member_ports \u003d plugin._core_plugin.get_ports("}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae8d1ca_d460e037","line":1008,"updated":"2014-05-27 21:40:58.000000000","message":"It\u0027s not a very good practice to save on variable names :)","commit_id":"af08130257e5fc3e55f442aa2063a61787aeb678"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"ad065b9afb016a1b43bb3acd3d43463a5912036d","unresolved":false,"context_lines":[{"line_number":1005,"context_line":""},{"line_number":1006,"context_line":"    for member in extended_vip[\u0027members\u0027]:"},{"line_number":1007,"context_line":"        if member[\u0027status\u0027] !\u003d constants.PENDING_DELETE:"},{"line_number":1008,"context_line":"            m \u003d member"},{"line_number":1009,"context_line":"            if two_leg and netaddr.IPAddress(m[\u0027address\u0027]) not in \\"},{"line_number":1010,"context_line":"                netaddr.IPNetwork(pool_subnet[\u0027cidr\u0027]):"},{"line_number":1011,"context_line":"                member_ports \u003d plugin._core_plugin.get_ports("}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae8d1ca_e64604bf","line":1008,"in_reply_to":"3ae8d1ca_d460e037","updated":"2014-05-28 11:24:24.000000000","message":"Done","commit_id":"af08130257e5fc3e55f442aa2063a61787aeb678"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"d87ec72af9633be6858e74e655ad856e59bf5e38","unresolved":false,"context_lines":[{"line_number":1006,"context_line":"    for member in extended_vip[\u0027members\u0027]:"},{"line_number":1007,"context_line":"        if member[\u0027status\u0027] !\u003d constants.PENDING_DELETE:"},{"line_number":1008,"context_line":"            m \u003d member"},{"line_number":1009,"context_line":"            if two_leg and netaddr.IPAddress(m[\u0027address\u0027]) not in \\"},{"line_number":1010,"context_line":"                netaddr.IPNetwork(pool_subnet[\u0027cidr\u0027]):"},{"line_number":1011,"context_line":"                member_ports \u003d plugin._core_plugin.get_ports("},{"line_number":1012,"context_line":"                    context,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae8d1ca_94f2d898","line":1009,"updated":"2014-05-27 21:40:58.000000000","message":"please use parenthesis instead of \\ to handle line breaks.","commit_id":"af08130257e5fc3e55f442aa2063a61787aeb678"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"ad065b9afb016a1b43bb3acd3d43463a5912036d","unresolved":false,"context_lines":[{"line_number":1006,"context_line":"    for member in extended_vip[\u0027members\u0027]:"},{"line_number":1007,"context_line":"        if member[\u0027status\u0027] !\u003d constants.PENDING_DELETE:"},{"line_number":1008,"context_line":"            m \u003d member"},{"line_number":1009,"context_line":"            if two_leg and netaddr.IPAddress(m[\u0027address\u0027]) not in \\"},{"line_number":1010,"context_line":"                netaddr.IPNetwork(pool_subnet[\u0027cidr\u0027]):"},{"line_number":1011,"context_line":"                member_ports \u003d plugin._core_plugin.get_ports("},{"line_number":1012,"context_line":"                    context,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae8d1ca_460df88f","line":1009,"in_reply_to":"3ae8d1ca_94f2d898","updated":"2014-05-28 11:24:24.000000000","message":"Done","commit_id":"af08130257e5fc3e55f442aa2063a61787aeb678"},{"author":{"_account_id":6072,"name":"Eugene Nikanorov","email":"enikanorov@mirantis.com","username":"enikanorov"},"change_message_id":"d87ec72af9633be6858e74e655ad856e59bf5e38","unresolved":false,"context_lines":[{"line_number":1010,"context_line":"                netaddr.IPNetwork(pool_subnet[\u0027cidr\u0027]):"},{"line_number":1011,"context_line":"                member_ports \u003d plugin._core_plugin.get_ports("},{"line_number":1012,"context_line":"                    context,"},{"line_number":1013,"context_line":"                    filters\u003d{\u0027fixed_ips\u0027: {\u0027ip_address\u0027: [m[\u0027address\u0027]]},"},{"line_number":1014,"context_line":"                             \u0027tenant_id\u0027: [extended_vip[\u0027tenant_id\u0027]]})"},{"line_number":1015,"context_line":"                if len(member_ports) \u003d\u003d 1:"},{"line_number":1016,"context_line":"                    member_subnet \u003d plugin._core_plugin.get_subnet("}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae8d1ca_1436c852","line":1013,"updated":"2014-05-27 21:40:58.000000000","message":"This query may return multiple ports belonging to different networks. I think it\u0027s better to use pool\u0027s subnet_id also, in addition to m[\u0027address\u0027]\nHowever from the unit test it seems that you also try to account the case when member is not in pool\u0027s subnet.\nI think this case just doesn\u0027t fit well in current object model where plain IP address is allowed for the member but without subnet specification.","commit_id":"af08130257e5fc3e55f442aa2063a61787aeb678"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"ad065b9afb016a1b43bb3acd3d43463a5912036d","unresolved":false,"context_lines":[{"line_number":1010,"context_line":"                netaddr.IPNetwork(pool_subnet[\u0027cidr\u0027]):"},{"line_number":1011,"context_line":"                member_ports \u003d plugin._core_plugin.get_ports("},{"line_number":1012,"context_line":"                    context,"},{"line_number":1013,"context_line":"                    filters\u003d{\u0027fixed_ips\u0027: {\u0027ip_address\u0027: [m[\u0027address\u0027]]},"},{"line_number":1014,"context_line":"                             \u0027tenant_id\u0027: [extended_vip[\u0027tenant_id\u0027]]})"},{"line_number":1015,"context_line":"                if len(member_ports) \u003d\u003d 1:"},{"line_number":1016,"context_line":"                    member_subnet \u003d plugin._core_plugin.get_subnet("}],"source_content_type":"text/x-python","patch_set":2,"id":"3ae8d1ca_ef609437","line":1013,"in_reply_to":"3ae8d1ca_1436c852","updated":"2014-05-28 11:24:24.000000000","message":"Yes, this change comes to cover scenarios when user have members from different sub-nets and even not from pool\u0027s sub-net. I agree that these scenarios do not fit the current object model","commit_id":"af08130257e5fc3e55f442aa2063a61787aeb678"}],"neutron/tests/unit/services/loadbalancer/drivers/radware/test_plugin_driver.py":[{"author":{"_account_id":2592,"name":"Mark McClain","email":"mark@mcclain.xyz","username":"markmcclain"},"change_message_id":"9b54fcc94f1faa22483045473f5d238bb220db80","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from neutron.services.loadbalancer.drivers.radware import driver"},{"line_number":31,"context_line":"from neutron.services.loadbalancer.drivers.radware import exceptions as r_exc"},{"line_number":32,"context_line":"from neutron.tests.unit.db.loadbalancer import test_db_loadbalancer"},{"line_number":33,"context_line":"from oslo.config import cfg"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"GET_200 \u003d (\u0027/api/workflow/\u0027, \u0027/api/service/\u0027, \u0027/api/workflowTemplate\u0027)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_8a959734","line":33,"updated":"2014-06-05 17:49:22.000000000","message":"this import should go in the block with mock","commit_id":"5969d6efb47a257a0a693dab285960acaba4b966"},{"author":{"_account_id":8446,"name":"Evgeny Fedoruk","email":"evgenyf@radware.com","username":"evgenyfedoruk"},"change_message_id":"a588b47d6a6a28f517fed859bcbebd5ee00633d7","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from neutron.services.loadbalancer.drivers.radware import driver"},{"line_number":31,"context_line":"from neutron.services.loadbalancer.drivers.radware import exceptions as r_exc"},{"line_number":32,"context_line":"from neutron.tests.unit.db.loadbalancer import test_db_loadbalancer"},{"line_number":33,"context_line":"from oslo.config import cfg"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"GET_200 \u003d (\u0027/api/workflow/\u0027, \u0027/api/service/\u0027, \u0027/api/workflowTemplate\u0027)"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"1ae5cdf2_d155791e","line":33,"in_reply_to":"1ae5cdf2_8a959734","updated":"2014-06-15 07:56:00.000000000","message":"Done","commit_id":"5969d6efb47a257a0a693dab285960acaba4b966"}]}
