)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":3217,"name":"Ian Wells","username":"ijw-ubuntu"},"change_message_id":"38f795ffb924268582b151e4ed0a062daeb593dc","unresolved":false,"context_lines":[{"line_number":9,"context_line":"In some configurations (linuxbridge) a VM will either not receive"},{"line_number":10,"context_line":"dhcp replies or its dhcp client will ignore them because the udp checksum"},{"line_number":11,"context_line":"is empty. This patch provides an option to ensure dhcp packets have their"},{"line_number":12,"context_line":"checksum filled. WIP - need to investigate more."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I130fe0f2389bdc42eb8c858ea35dd840abecc2e7"},{"line_number":15,"context_line":"Closes-Bug: 1244589"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"1a930d6b_6a82f201","line":12,"updated":"2015-01-21 03:14:04.000000000","message":"\"As an optimisation, packet checksums are not calculated when moving packets around virtual network systems, and so checksums will typically be incorrect.  Normally, the VM delegates checking to the \u0027hardware\u0027 via checksum offload, which ignores the discrepancy and passes the packet on to the VM where it its checksum is not examined further.  \n\nHowever, some DHCP clients will then check the checksum of a received packet and detect a problem.  \n\nThis change ensures that DHCP servers send correctly checksummed packets.\"","commit_id":"4e3c43aa8a24129d637d400e812d0ac5a60dfc34"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"1b378887c304e6011d0094060c31c72bf5302aad","unresolved":false,"context_lines":[{"line_number":10,"context_line":"incorrect. This is a problem for some DHCP clients that check and"},{"line_number":11,"context_line":"ignore packets with bad checksums. This patch provides an option"},{"line_number":12,"context_line":"to ensure DHCP servers send packets with correct checksums."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I130fe0f2389bdc42eb8c858ea35dd840abecc2e7"},{"line_number":15,"context_line":"Closes-Bug: 1244589"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1a930d6b_e9674c4b","line":13,"updated":"2015-01-24 13:36:15.000000000","message":"a DocImpact flag is required as you define a new option","commit_id":"6ab55c897357dd2014dadeff3c2ce7e5589c098d"},{"author":{"_account_id":2733,"name":"Darragh O\u0027Reilly","email":"doreilly@suse.com","username":"darragh-oreilly"},"change_message_id":"d601eb89c8cf3773a7a38b1e75787a3df28ef28d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"incorrect. This is a problem for some DHCP clients that check and"},{"line_number":11,"context_line":"ignore packets with bad checksums. This patch provides an option"},{"line_number":12,"context_line":"to ensure DHCP servers send packets with correct checksums."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I130fe0f2389bdc42eb8c858ea35dd840abecc2e7"},{"line_number":15,"context_line":"Closes-Bug: 1244589"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"1a930d6b_2d1f9f5c","line":13,"in_reply_to":"1a930d6b_e9674c4b","updated":"2015-01-24 14:17:39.000000000","message":"good point - I like to complain how programmers don\u0027t doc stuff ...","commit_id":"6ab55c897357dd2014dadeff3c2ce7e5589c098d"}],"neutron/agent/dhcp/config.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"96f04ff90978078ee79ea381af2950eb7f25f479","unresolved":false,"context_lines":[{"line_number":44,"context_line":"               default\u003d\u0027openstacklocal\u0027,"},{"line_number":45,"context_line":"               help\u003d_(\u0027Domain to use for building the hostnames\u0027)),"},{"line_number":46,"context_line":"    cfg.BoolOpt(\u0027fill_udp_checksum\u0027, default\u003dFalse,"},{"line_number":47,"context_line":"                help\u003d_(\"Ensure outgoing DHCP packets have correct checksum\")),"},{"line_number":48,"context_line":"]"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"DNSMASQ_OPTS \u003d ["}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_cf9e9163","line":47,"updated":"2015-01-30 20:48:07.000000000","message":"nova-net has a similar fix, I am not sure how worth is exposing this to the the user, so if can make this smart enough or totally transparent, I\u0027d rather do that than expose yet another config.","commit_id":"1e8645986649f6e784646ed643b76d6d53dc7ce3"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"41ea4d98ab00bba620f6899b9eace9993a2597a8","unresolved":false,"context_lines":[{"line_number":44,"context_line":"               default\u003d\u0027openstacklocal\u0027,"},{"line_number":45,"context_line":"               help\u003d_(\u0027Domain to use for building the hostnames\u0027)),"},{"line_number":46,"context_line":"    cfg.BoolOpt(\u0027fill_udp_checksum\u0027, default\u003dFalse,"},{"line_number":47,"context_line":"                help\u003d_(\"Ensure outgoing DHCP packets have correct checksum\")),"},{"line_number":48,"context_line":"]"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"DNSMASQ_OPTS \u003d ["}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_dca98d7c","line":47,"in_reply_to":"da86d52c_cf9e9163","updated":"2015-02-03 12:38:35.000000000","message":"I simply think that if there is not good use cases for not filling the udp checksum always then perhaps we don\u0027t even need an option","commit_id":"1e8645986649f6e784646ed643b76d6d53dc7ce3"}],"neutron/agent/linux/dhcp.py":[{"author":{"_account_id":2733,"name":"Darragh O\u0027Reilly","email":"doreilly@suse.com","username":"darragh-oreilly"},"change_message_id":"2f0e54e7e5cadaf518b0949333300d87837cf70d","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        help\u003d_(\u0027Limit number of leases to prevent a denial-of-service.\u0027)),"},{"line_number":62,"context_line":"    cfg.BoolOpt(\u0027dhcp_broadcast_reply\u0027, default\u003dFalse,"},{"line_number":63,"context_line":"                help\u003d_(\"Use broadcast in DHCP replies\")),"},{"line_number":64,"context_line":"    cfg.BoolOpt(\u0027fill_udp_checksum\u0027, default\u003dTrue,"},{"line_number":65,"context_line":"                help\u003d_(\"Ensure outgoing DHCP packets have a checksum.\")),"},{"line_number":66,"context_line":"]"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_71b030f5","line":64,"updated":"2015-01-20 20:51:08.000000000","message":"set this to true initially so tempest will run with it","commit_id":"4e3c43aa8a24129d637d400e812d0ac5a60dfc34"},{"author":{"_account_id":3217,"name":"Ian Wells","username":"ijw-ubuntu"},"change_message_id":"38f795ffb924268582b151e4ed0a062daeb593dc","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    cfg.BoolOpt(\u0027dhcp_broadcast_reply\u0027, default\u003dFalse,"},{"line_number":63,"context_line":"                help\u003d_(\"Use broadcast in DHCP replies\")),"},{"line_number":64,"context_line":"    cfg.BoolOpt(\u0027fill_udp_checksum\u0027, default\u003dTrue,"},{"line_number":65,"context_line":"                help\u003d_(\"Ensure outgoing DHCP packets have a checksum.\")),"},{"line_number":66,"context_line":"]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"IPV4 \u003d 4"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_8ae2be01","line":65,"updated":"2015-01-21 03:14:04.000000000","message":"While this is a change of default behaviour I think it\u0027s completely harmless to set this to true by default.  Either a VM is ignoring the checksum or it\u0027s verifying it; in the former the checksum validity doesn\u0027t matter, and in the latter case checksum validity is an improvement.  Having the option means that anyone who gets into a problem can undo the change.","commit_id":"4e3c43aa8a24129d637d400e812d0ac5a60dfc34"},{"author":{"_account_id":2733,"name":"Darragh O\u0027Reilly","email":"doreilly@suse.com","username":"darragh-oreilly"},"change_message_id":"94f9f220c7b11c8e89df359bdf348d54a52c7597","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    cfg.BoolOpt(\u0027dhcp_broadcast_reply\u0027, default\u003dFalse,"},{"line_number":63,"context_line":"                help\u003d_(\"Use broadcast in DHCP replies\")),"},{"line_number":64,"context_line":"    cfg.BoolOpt(\u0027fill_udp_checksum\u0027, default\u003dTrue,"},{"line_number":65,"context_line":"                help\u003d_(\"Ensure outgoing DHCP packets have a checksum.\")),"},{"line_number":66,"context_line":"]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"IPV4 \u003d 4"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_e436fc02","line":65,"in_reply_to":"1a930d6b_8ae2be01","updated":"2015-01-21 18:42:06.000000000","message":"I don\u0027t think this is a widespread problem - we don\u0027t seem to hear about it when OVS is used (for some reason), which is the most common l2 agent. Also do we know of any other dhcp clients apart from the one in cirros that has a problem with bad checksums? So I would lean with False here and a doc note for linuxbridge.","commit_id":"4e3c43aa8a24129d637d400e812d0ac5a60dfc34"},{"author":{"_account_id":3217,"name":"Ian Wells","username":"ijw-ubuntu"},"change_message_id":"38f795ffb924268582b151e4ed0a062daeb593dc","unresolved":false,"context_lines":[{"line_number":836,"context_line":"            namespace\u003dself.network.namespace"},{"line_number":837,"context_line":"        )"},{"line_number":838,"context_line":"        rule \u003d \u0027-p udp --dport 68 -j CHECKSUM --checksum-fill\u0027"},{"line_number":839,"context_line":"        iptables_mgr.ipv4[\u0027mangle\u0027].add_rule(\u0027POSTROUTING\u0027, rule)"},{"line_number":840,"context_line":"        iptables_mgr.apply()"},{"line_number":841,"context_line":""},{"line_number":842,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_cae3e603","line":839,"updated":"2015-01-21 03:14:04.000000000","message":"v6 v6 v6","commit_id":"4e3c43aa8a24129d637d400e812d0ac5a60dfc34"},{"author":{"_account_id":2733,"name":"Darragh O\u0027Reilly","email":"doreilly@suse.com","username":"darragh-oreilly"},"change_message_id":"94f9f220c7b11c8e89df359bdf348d54a52c7597","unresolved":false,"context_lines":[{"line_number":836,"context_line":"            namespace\u003dself.network.namespace"},{"line_number":837,"context_line":"        )"},{"line_number":838,"context_line":"        rule \u003d \u0027-p udp --dport 68 -j CHECKSUM --checksum-fill\u0027"},{"line_number":839,"context_line":"        iptables_mgr.ipv4[\u0027mangle\u0027].add_rule(\u0027POSTROUTING\u0027, rule)"},{"line_number":840,"context_line":"        iptables_mgr.apply()"},{"line_number":841,"context_line":""},{"line_number":842,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a930d6b_24ee4489","line":839,"in_reply_to":"1a930d6b_cae3e603","updated":"2015-01-21 18:42:06.000000000","message":"currently IptablesManager does not have a ipv6[\u0027mangle\u0027] attribute, so another patch would be needed for that. Maybe this patch could just do ipv4 and a subsequent patch can do ipv6?","commit_id":"4e3c43aa8a24129d637d400e812d0ac5a60dfc34"},{"author":{"_account_id":2733,"name":"Darragh O\u0027Reilly","email":"doreilly@suse.com","username":"darragh-oreilly"},"change_message_id":"d5ccc50525df36321debb76203354e5c80b8c0c8","unresolved":false,"context_lines":[{"line_number":974,"context_line":"            self.driver.plug(network.id,"},{"line_number":975,"context_line":"                             port.id,"},{"line_number":976,"context_line":"                             interface_name,"},{"line_number":977,"context_line":"                             port.mac_address,"},{"line_number":978,"context_line":"                             namespace\u003dnetwork.namespace)"},{"line_number":979,"context_line":"        ip_cidrs \u003d []"},{"line_number":980,"context_line":"        for fixed_ip in port.fixed_ips:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a930d6b_3f14139f","line":977,"updated":"2015-01-26 09:56:50.000000000","message":"it might be better to do it here, and only when linuxbridge is used - something like this in the else clause.\n    \n    if \u0027BridgeInterfaceDriver\u0027 in self.conf.interface_driver:\n        # add iptables chksum fill OR disable tx chksum offload on interface_name","commit_id":"1e8645986649f6e784646ed643b76d6d53dc7ce3"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"46a68f5e539d8066066f4fa249ce88710432900f","unresolved":false,"context_lines":[{"line_number":1021,"context_line":"        \u0027\u0027\u0027Ensure DHCP reply packets always have correct UDP checksums.\u0027\u0027\u0027"},{"line_number":1022,"context_line":"        iptables_mgr \u003d iptables_manager.IptablesManager("},{"line_number":1023,"context_line":"            root_helper\u003dself.root_helper,"},{"line_number":1024,"context_line":"            use_ipv6\u003dFalse,"},{"line_number":1025,"context_line":"            namespace\u003dnamespace"},{"line_number":1026,"context_line":"        )"},{"line_number":1027,"context_line":"        ipv4_rule \u003d \u0027-p udp --dport 68 -j CHECKSUM --checksum-fill\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_d16c530b","line":1024,"updated":"2015-02-09 09:44:38.000000000","message":"What about ipv6? Don\u0027t we have the same problem there?","commit_id":"05c5565532b9f125d332531f49f6d397fef111b3"},{"author":{"_account_id":2733,"name":"Darragh O\u0027Reilly","email":"doreilly@suse.com","username":"darragh-oreilly"},"change_message_id":"fcbb596f43c64fa7e40f4038a7c200618e2c83c0","unresolved":false,"context_lines":[{"line_number":1021,"context_line":"        \u0027\u0027\u0027Ensure DHCP reply packets always have correct UDP checksums.\u0027\u0027\u0027"},{"line_number":1022,"context_line":"        iptables_mgr \u003d iptables_manager.IptablesManager("},{"line_number":1023,"context_line":"            root_helper\u003dself.root_helper,"},{"line_number":1024,"context_line":"            use_ipv6\u003dFalse,"},{"line_number":1025,"context_line":"            namespace\u003dnamespace"},{"line_number":1026,"context_line":"        )"},{"line_number":1027,"context_line":"        ipv4_rule \u003d \u0027-p udp --dport 68 -j CHECKSUM --checksum-fill\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_62e66a18","line":1024,"in_reply_to":"da86d52c_d16c530b","updated":"2015-02-09 14:06:40.000000000","message":"I did a test and it doesn\u0027t seem so. See the bug report for the tcpdump - the udp checksums are all ok for some reason.","commit_id":"05c5565532b9f125d332531f49f6d397fef111b3"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"46a68f5e539d8066066f4fa249ce88710432900f","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"            use_ipv6\u003dFalse,"},{"line_number":1025,"context_line":"            namespace\u003dnamespace"},{"line_number":1026,"context_line":"        )"},{"line_number":1027,"context_line":"        ipv4_rule \u003d \u0027-p udp --dport 68 -j CHECKSUM --checksum-fill\u0027"},{"line_number":1028,"context_line":"        iptables_mgr.ipv4[\u0027mangle\u0027].add_rule(\u0027POSTROUTING\u0027, ipv4_rule)"},{"line_number":1029,"context_line":"        iptables_mgr.apply()"}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_b1351ff9","line":1027,"updated":"2015-02-09 09:44:38.000000000","message":"reuse neutron/common/constants.py:DHCP_RESPONSE_PORT","commit_id":"05c5565532b9f125d332531f49f6d397fef111b3"},{"author":{"_account_id":2733,"name":"Darragh O\u0027Reilly","email":"doreilly@suse.com","username":"darragh-oreilly"},"change_message_id":"fcbb596f43c64fa7e40f4038a7c200618e2c83c0","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"            use_ipv6\u003dFalse,"},{"line_number":1025,"context_line":"            namespace\u003dnamespace"},{"line_number":1026,"context_line":"        )"},{"line_number":1027,"context_line":"        ipv4_rule \u003d \u0027-p udp --dport 68 -j CHECKSUM --checksum-fill\u0027"},{"line_number":1028,"context_line":"        iptables_mgr.ipv4[\u0027mangle\u0027].add_rule(\u0027POSTROUTING\u0027, ipv4_rule)"},{"line_number":1029,"context_line":"        iptables_mgr.apply()"}],"source_content_type":"text/x-python","patch_set":5,"id":"da86d52c_82ca7e6c","line":1027,"in_reply_to":"da86d52c_b1351ff9","updated":"2015-02-09 14:06:40.000000000","message":"will do","commit_id":"05c5565532b9f125d332531f49f6d397fef111b3"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"cd9f7d8977dcd70977f5f599f9b728172db98fa0","unresolved":false,"context_lines":[{"line_number":985,"context_line":"                                      self.get_device_id(network))"},{"line_number":986,"context_line":""},{"line_number":987,"context_line":"    def fill_dhcp_udp_checksums(self, namespace):"},{"line_number":988,"context_line":"        \u0027\u0027\u0027Ensure DHCP reply packets always have correct UDP checksums.\u0027\u0027\u0027"},{"line_number":989,"context_line":"        iptables_mgr \u003d iptables_manager.IptablesManager("},{"line_number":990,"context_line":"            root_helper\u003dself.root_helper,"},{"line_number":991,"context_line":"            use_ipv6\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_83de64d8","line":988,"updated":"2015-02-12 13:44:34.000000000","message":"Nit: consider using double quotes here.","commit_id":"716e0eab2225d93bf7607580fac863416027a185"},{"author":{"_account_id":2733,"name":"Darragh O\u0027Reilly","email":"doreilly@suse.com","username":"darragh-oreilly"},"change_message_id":"450691c022f9400a6ea8756d22b6415962b48947","unresolved":false,"context_lines":[{"line_number":985,"context_line":"                                      self.get_device_id(network))"},{"line_number":986,"context_line":""},{"line_number":987,"context_line":"    def fill_dhcp_udp_checksums(self, namespace):"},{"line_number":988,"context_line":"        \u0027\u0027\u0027Ensure DHCP reply packets always have correct UDP checksums.\u0027\u0027\u0027"},{"line_number":989,"context_line":"        iptables_mgr \u003d iptables_manager.IptablesManager("},{"line_number":990,"context_line":"            root_helper\u003dself.root_helper,"},{"line_number":991,"context_line":"            use_ipv6\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_0a861466","line":988,"in_reply_to":"da86d52c_83de64d8","updated":"2015-02-25 18:08:06.000000000","message":"Done","commit_id":"716e0eab2225d93bf7607580fac863416027a185"}],"neutron/tests/unit/test_dhcp_agent.py":[{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"ee5bc1adc9a386df6be6564d8dab801490c70d26","unresolved":false,"context_lines":[{"line_number":1181,"context_line":"        driver_cls.return_value \u003d self.mock_driver"},{"line_number":1182,"context_line":"        iproute_cls.return_value \u003d self.mock_iproute"},{"line_number":1183,"context_line":"        ipt_mgr_cls_p \u003d mock.patch("},{"line_number":1184,"context_line":"            \u0027neutron.agent.linux.iptables_manager.IptablesManager\u0027)"},{"line_number":1185,"context_line":"        ipt_mgr_cls_p.start()"},{"line_number":1186,"context_line":""},{"line_number":1187,"context_line":"    def _test_setup_helper(self, device_is_ready, net\u003dNone, port\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"da86d52c_675fce41","line":1184,"updated":"2015-02-19 01:58:00.000000000","message":"instead of mocking this out can we have a test that checks that: \u0027-p udp --dport %d -j CHECKSUM --checksum-fill\u0027 gets pushed down?","commit_id":"716e0eab2225d93bf7607580fac863416027a185"},{"author":{"_account_id":2733,"name":"Darragh O\u0027Reilly","email":"doreilly@suse.com","username":"darragh-oreilly"},"change_message_id":"450691c022f9400a6ea8756d22b6415962b48947","unresolved":false,"context_lines":[{"line_number":1181,"context_line":"        driver_cls.return_value \u003d self.mock_driver"},{"line_number":1182,"context_line":"        iproute_cls.return_value \u003d self.mock_iproute"},{"line_number":1183,"context_line":"        ipt_mgr_cls_p \u003d mock.patch("},{"line_number":1184,"context_line":"            \u0027neutron.agent.linux.iptables_manager.IptablesManager\u0027)"},{"line_number":1185,"context_line":"        ipt_mgr_cls_p.start()"},{"line_number":1186,"context_line":""},{"line_number":1187,"context_line":"    def _test_setup_helper(self, device_is_ready, net\u003dNone, port\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_eab3804a","line":1184,"in_reply_to":"ba7be1f8_8fd4f2bd","updated":"2015-02-25 18:08:06.000000000","message":"Done (I think)","commit_id":"716e0eab2225d93bf7607580fac863416027a185"},{"author":{"_account_id":261,"name":"Salvatore Orlando","email":"salv.orlando@gmail.com","username":"salvatore-orlando"},"change_message_id":"886de8c5ead9383721893dc62e335d2b7a02357a","unresolved":false,"context_lines":[{"line_number":1181,"context_line":"        driver_cls.return_value \u003d self.mock_driver"},{"line_number":1182,"context_line":"        iproute_cls.return_value \u003d self.mock_iproute"},{"line_number":1183,"context_line":"        ipt_mgr_cls_p \u003d mock.patch("},{"line_number":1184,"context_line":"            \u0027neutron.agent.linux.iptables_manager.IptablesManager\u0027)"},{"line_number":1185,"context_line":"        ipt_mgr_cls_p.start()"},{"line_number":1186,"context_line":""},{"line_number":1187,"context_line":"    def _test_setup_helper(self, device_is_ready, net\u003dNone, port\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_8fd4f2bd","line":1184,"in_reply_to":"da86d52c_675fce41","updated":"2015-02-25 08:22:24.000000000","message":"seems a fairly decent point.\nDarragh, that should fairly easy?\nPossibly something like this:\nhttp://git.openstack.org/cgit/openstack/neutron/tree/neutron/tests/unit/test_iptables_firewall.py#n70","commit_id":"716e0eab2225d93bf7607580fac863416027a185"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ca8037eae8c51d1ef5c9e87ab7f79139768a8d8e","unresolved":false,"context_lines":[{"line_number":1234,"context_line":""},{"line_number":1235,"context_line":"    def test_setup_calls_fill_dhcp_udp_checksums(self):"},{"line_number":1236,"context_line":"        self._test_setup_helper(False)"},{"line_number":1237,"context_line":"        rule \u003d \u0027-p udp --dport 68 -j CHECKSUM --checksum-fill\u0027"},{"line_number":1238,"context_line":"        expected \u003d [mock.call.add_rule(\u0027POSTROUTING\u0027, rule)]"},{"line_number":1239,"context_line":"        self.mangle_inst.assert_has_calls(expected)"},{"line_number":1240,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_5d0c543b","line":1237,"updated":"2015-02-25 18:32:53.000000000","message":"Use constant instead of 68. Or now that you use the rule here too, make it all a single constant.","commit_id":"96daa51e28a881c2bd5a85e6a494c60010eb66b1"},{"author":{"_account_id":2733,"name":"Darragh O\u0027Reilly","email":"doreilly@suse.com","username":"darragh-oreilly"},"change_message_id":"709b10bd382cc40a9403cd2088e9f577639246ab","unresolved":false,"context_lines":[{"line_number":1234,"context_line":""},{"line_number":1235,"context_line":"    def test_setup_calls_fill_dhcp_udp_checksums(self):"},{"line_number":1236,"context_line":"        self._test_setup_helper(False)"},{"line_number":1237,"context_line":"        rule \u003d \u0027-p udp --dport 68 -j CHECKSUM --checksum-fill\u0027"},{"line_number":1238,"context_line":"        expected \u003d [mock.call.add_rule(\u0027POSTROUTING\u0027, rule)]"},{"line_number":1239,"context_line":"        self.mangle_inst.assert_has_calls(expected)"},{"line_number":1240,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"ba7be1f8_05b26c4b","line":1237,"in_reply_to":"ba7be1f8_5d0c543b","updated":"2015-02-26 08:37:15.000000000","message":"Done","commit_id":"96daa51e28a881c2bd5a85e6a494c60010eb66b1"}],"neutron/tests/unit/test_linux_dhcp.py":[{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"1b378887c304e6011d0094060c31c72bf5302aad","unresolved":false,"context_lines":[{"line_number":652,"context_line":""},{"line_number":653,"context_line":"    def test_enable_fill_udp_checksum_called(self):"},{"line_number":654,"context_line":"        self.conf.set_override(\u0027fill_udp_checksum\u0027, True)"},{"line_number":655,"context_line":"        attrs_to_mock \u003d dict("},{"line_number":656,"context_line":"            [(a, mock.DEFAULT) for a in"},{"line_number":657,"context_line":"                [\u0027active\u0027, \u0027get_conf_file_name\u0027, \u0027interface_name\u0027,"},{"line_number":658,"context_line":"                 \u0027_ensure_network_conf_dir\u0027, \u0027fill_udp_checksum\u0027]]"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_09d018c8","line":655,"updated":"2015-01-24 13:36:15.000000000","message":"py26 support is no more required so you can use:\n\n  keys \u003d [...]\n  attrs_to_mock \u003d {k : mock.DEFAULT for key in keys}\n\nwhich is clearer","commit_id":"6ab55c897357dd2014dadeff3c2ce7e5589c098d"},{"author":{"_account_id":2733,"name":"Darragh O\u0027Reilly","email":"doreilly@suse.com","username":"darragh-oreilly"},"change_message_id":"d601eb89c8cf3773a7a38b1e75787a3df28ef28d","unresolved":false,"context_lines":[{"line_number":652,"context_line":""},{"line_number":653,"context_line":"    def test_enable_fill_udp_checksum_called(self):"},{"line_number":654,"context_line":"        self.conf.set_override(\u0027fill_udp_checksum\u0027, True)"},{"line_number":655,"context_line":"        attrs_to_mock \u003d dict("},{"line_number":656,"context_line":"            [(a, mock.DEFAULT) for a in"},{"line_number":657,"context_line":"                [\u0027active\u0027, \u0027get_conf_file_name\u0027, \u0027interface_name\u0027,"},{"line_number":658,"context_line":"                 \u0027_ensure_network_conf_dir\u0027, \u0027fill_udp_checksum\u0027]]"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_0d2e6392","line":655,"in_reply_to":"1a930d6b_09d018c8","updated":"2015-01-24 14:17:39.000000000","message":"nice - thanks.","commit_id":"6ab55c897357dd2014dadeff3c2ce7e5589c098d"},{"author":{"_account_id":8124,"name":"cbrandily","email":"zzelle@gmail.com","username":"cbrandily"},"change_message_id":"1b378887c304e6011d0094060c31c72bf5302aad","unresolved":false,"context_lines":[{"line_number":662,"context_line":"            mocks[\u0027interface_name\u0027].__set__ \u003d mock.Mock()"},{"line_number":663,"context_line":"            lp \u003d LocalChild(self.conf, FakeV4Network())"},{"line_number":664,"context_line":"            lp.enable()"},{"line_number":665,"context_line":"            self.assertTrue(mocks[\u0027fill_udp_checksum\u0027].called)"},{"line_number":666,"context_line":""},{"line_number":667,"context_line":"    def test_disable_not_active(self):"},{"line_number":668,"context_line":"        attrs_to_mock \u003d dict([(a, mock.DEFAULT) for a in"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_29d5d4b8","line":665,"updated":"2015-01-24 13:36:15.000000000","message":"you should use:\n\n  mocks[\u0027fill_udp_checksum\u0027].assert_called_once_with()","commit_id":"6ab55c897357dd2014dadeff3c2ce7e5589c098d"}]}
