)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"99d8481917173c135c284f573053f9381678cde1","unresolved":false,"context_lines":[{"line_number":14,"context_line":"resource_provider_bandwidths \u003d ens5:100000:100000,ens6:100000:100000"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Agent configurations now includes"},{"line_number":17,"context_line":"\u0027rp_bandwidths\u0027 and \u0027rp_inventory_defaults\u0027."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I1af798d404ed94cd30da3f92734bea911bbc3ac7"},{"line_number":20,"context_line":"Co-Authored-By: Lajos Katona \u003clajos.katona@ericsson.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3f79a3b5_8e830f56","line":17,"range":{"start_line":17,"start_character":1,"end_line":17,"end_character":14},"updated":"2018-10-04 19:20:17.000000000","message":"resource_provider_bandwidths","commit_id":"929682cb24abd2792e7d27a07ade9537a86d5663"},{"author":{"_account_id":27654,"name":"Hongbin Lu","email":"kira034@163.com","username":"hongbin.lu"},"change_message_id":"99d8481917173c135c284f573053f9381678cde1","unresolved":false,"context_lines":[{"line_number":14,"context_line":"resource_provider_bandwidths \u003d ens5:100000:100000,ens6:100000:100000"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Agent configurations now includes"},{"line_number":17,"context_line":"\u0027rp_bandwidths\u0027 and \u0027rp_inventory_defaults\u0027."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I1af798d404ed94cd30da3f92734bea911bbc3ac7"},{"line_number":20,"context_line":"Co-Authored-By: Lajos Katona \u003clajos.katona@ericsson.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3f79a3b5_0e8fff76","line":17,"range":{"start_line":17,"start_character":21,"end_line":17,"end_character":42},"updated":"2018-10-04 19:20:17.000000000","message":"resource_provider_inventory_defaults","commit_id":"929682cb24abd2792e7d27a07ade9537a86d5663"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"d1619d8d8a24cadc1cdb44c6001f7d296d3a65b7","unresolved":false,"context_lines":[{"line_number":14,"context_line":"resource_provider_bandwidths \u003d ens5:100000:100000,ens6:100000:100000"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Agent configurations now includes"},{"line_number":17,"context_line":"\u0027rp_bandwidths\u0027 and \u0027rp_inventory_defaults\u0027."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I1af798d404ed94cd30da3f92734bea911bbc3ac7"},{"line_number":20,"context_line":"Co-Authored-By: Lajos Katona \u003clajos.katona@ericsson.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3f79a3b5_f5bcc0b6","line":17,"range":{"start_line":17,"start_character":21,"end_line":17,"end_character":42},"in_reply_to":"3f79a3b5_0e8fff76","updated":"2018-10-05 12:09:35.000000000","message":"Thanks, I updated the commit msg of the previous patch as well to be consistent","commit_id":"929682cb24abd2792e7d27a07ade9537a86d5663"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"d1619d8d8a24cadc1cdb44c6001f7d296d3a65b7","unresolved":false,"context_lines":[{"line_number":14,"context_line":"resource_provider_bandwidths \u003d ens5:100000:100000,ens6:100000:100000"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Agent configurations now includes"},{"line_number":17,"context_line":"\u0027rp_bandwidths\u0027 and \u0027rp_inventory_defaults\u0027."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I1af798d404ed94cd30da3f92734bea911bbc3ac7"},{"line_number":20,"context_line":"Co-Authored-By: Lajos Katona \u003clajos.katona@ericsson.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3f79a3b5_95d78cf5","line":17,"range":{"start_line":17,"start_character":1,"end_line":17,"end_character":14},"in_reply_to":"3f79a3b5_8e830f56","updated":"2018-10-05 12:09:35.000000000","message":"Done","commit_id":"929682cb24abd2792e7d27a07ade9537a86d5663"}],"neutron/conf/plugins/ml2/drivers/mech_sriov/agent_common.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"353f08dacb50e58e08d5decc04cf5b217f14c004","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                        \u0027min_unit:1,\u0027"},{"line_number":64,"context_line":"                        \u0027step_size:1,\u0027"},{"line_number":65,"context_line":"                        \u0027reserved:0\u0027,"},{"line_number":66,"context_line":"                help\u003d_(\"Key:value pairs to specify defaults used while \""},{"line_number":67,"context_line":"                       \"reporting resource provider inventories. See also: \""},{"line_number":68,"context_line":"                       \"https://developer.openstack.org/api-ref/placement/\""},{"line_number":69,"context_line":"                       \"#update-resource-provider-inventories\")),"},{"line_number":70,"context_line":"]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_2173d717","line":69,"range":{"start_line":66,"start_character":24,"end_line":69,"end_character":61},"updated":"2018-08-06 13:44:42.000000000","message":"The same comment as for ovs-agent patch (https://review.openstack.org/577223): Just for clarity I would list here all the possible keys, perhaps with the allowed value type (int/float).","commit_id":"783182cbce06eadb229c61317c02f620d5aab981"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"inactive contributor"},"change_message_id":"aac6fb5b258a8ec363811517c6771474267c3cd3","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                        \u0027min_unit:1,\u0027"},{"line_number":64,"context_line":"                        \u0027step_size:1,\u0027"},{"line_number":65,"context_line":"                        \u0027reserved:0\u0027,"},{"line_number":66,"context_line":"                help\u003d_(\"Key:value pairs to specify defaults used while \""},{"line_number":67,"context_line":"                       \"reporting resource provider inventories. See also: \""},{"line_number":68,"context_line":"                       \"https://developer.openstack.org/api-ref/placement/\""},{"line_number":69,"context_line":"                       \"#update-resource-provider-inventories\")),"},{"line_number":70,"context_line":"]"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_9c45701a","line":69,"range":{"start_line":66,"start_character":24,"end_line":69,"end_character":61},"in_reply_to":"3f79a3b5_2173d717","updated":"2018-08-06 14:03:07.000000000","message":"Will do that in the next patch set.","commit_id":"783182cbce06eadb229c61317c02f620d5aab981"}],"neutron/plugins/ml2/drivers/mech_sriov/agent/sriov_nic_agent.py":[{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"bc30325b152f21b09a1cbe9c6bf82e4cbf62b82a","unresolved":false,"context_lines":[{"line_number":110,"context_line":"@profiler.trace_cls(\"rpc\")"},{"line_number":111,"context_line":"class SriovNicSwitchAgent(object):"},{"line_number":112,"context_line":"    def __init__(self, physical_devices_mappings, exclude_devices,"},{"line_number":113,"context_line":"                 polling_interval, rp_bandwidths, rp_inventory_defaults):"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        self.polling_interval \u003d polling_interval"},{"line_number":116,"context_line":"        self.network_ports \u003d collections.defaultdict(list)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_3f986074","line":113,"range":{"start_line":113,"start_character":35,"end_line":113,"end_character":71},"updated":"2018-09-28 20:57:06.000000000","message":"suggestion here can have defaults here ?\nrp_bandwidths\u003d{}, rp_inventory_defaults\u003d{} then no need to modify test code ? only tests that need these value can pass the argument in agentinit ?","commit_id":"72952473b3e5d1338838f75fc994afd743acc447"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"fcaefb0f31856eead23cebde865221e6b5e919dd","unresolved":false,"context_lines":[{"line_number":110,"context_line":"@profiler.trace_cls(\"rpc\")"},{"line_number":111,"context_line":"class SriovNicSwitchAgent(object):"},{"line_number":112,"context_line":"    def __init__(self, physical_devices_mappings, exclude_devices,"},{"line_number":113,"context_line":"                 polling_interval, rp_bandwidths, rp_inventory_defaults):"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        self.polling_interval \u003d polling_interval"},{"line_number":116,"context_line":"        self.network_ports \u003d collections.defaultdict(list)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_a47bae77","line":113,"range":{"start_line":113,"start_character":35,"end_line":113,"end_character":71},"in_reply_to":"3f79a3b5_3f986074","updated":"2018-10-03 15:41:22.000000000","message":"By pep method\u0027s default argument can\u0027t be mutable.","commit_id":"72952473b3e5d1338838f75fc994afd743acc447"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"92a5266078eb0de4f411d7259b90c61a3f081dc8","unresolved":false,"context_lines":[{"line_number":110,"context_line":"@profiler.trace_cls(\"rpc\")"},{"line_number":111,"context_line":"class SriovNicSwitchAgent(object):"},{"line_number":112,"context_line":"    def __init__(self, physical_devices_mappings, exclude_devices,"},{"line_number":113,"context_line":"                 polling_interval, rp_bandwidths, rp_inventory_defaults):"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        self.polling_interval \u003d polling_interval"},{"line_number":116,"context_line":"        self.network_ports \u003d collections.defaultdict(list)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_c42caa4b","line":113,"range":{"start_line":113,"start_character":35,"end_line":113,"end_character":71},"in_reply_to":"3f79a3b5_3f986074","updated":"2018-10-03 15:40:22.000000000","message":"Well, we need these parameters now thus I think this is correct.","commit_id":"72952473b3e5d1338838f75fc994afd743acc447"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"bc30325b152f21b09a1cbe9c6bf82e4cbf62b82a","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                    \"Invalid exclude_devices: \""},{"line_number":450,"context_line":"                    \"Device name %(dev_name)s is missing from \""},{"line_number":451,"context_line":"                    \"physical_device_mappings\") % {\u0027dev_name\u0027: dev_name})"},{"line_number":452,"context_line":"        for dev_name in self.rp_bandwidths.keys():"},{"line_number":453,"context_line":"            if dev_name not in dev_net_set:"},{"line_number":454,"context_line":"                raise ValueError(_("},{"line_number":455,"context_line":"                    \"Invalid resource_provider_bandwidths: \""},{"line_number":456,"context_line":"                    \"Device name %(dev_name)s is missing from \""},{"line_number":457,"context_line":"                    \"physical_device_mappings\") % {\u0027dev_name\u0027: dev_name})"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_5fe75c10","line":457,"range":{"start_line":452,"start_character":8,"end_line":457,"end_character":73},"updated":"2018-09-28 20:57:06.000000000","message":"since this validation is almost same as one in ovs agent and I guess would be same for lb as well ? can\u0027t it be moved to common/utils and used elsewhere, no issues with it this way either.","commit_id":"72952473b3e5d1338838f75fc994afd743acc447"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"a2f38f3f5d8c04d25e654e744f67cde1abd8088d","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                    \"Invalid exclude_devices: \""},{"line_number":450,"context_line":"                    \"Device name %(dev_name)s is missing from \""},{"line_number":451,"context_line":"                    \"physical_device_mappings\") % {\u0027dev_name\u0027: dev_name})"},{"line_number":452,"context_line":"        for dev_name in self.rp_bandwidths.keys():"},{"line_number":453,"context_line":"            if dev_name not in dev_net_set:"},{"line_number":454,"context_line":"                raise ValueError(_("},{"line_number":455,"context_line":"                    \"Invalid resource_provider_bandwidths: \""},{"line_number":456,"context_line":"                    \"Device name %(dev_name)s is missing from \""},{"line_number":457,"context_line":"                    \"physical_device_mappings\") % {\u0027dev_name\u0027: dev_name})"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_7d0672cf","line":457,"range":{"start_line":452,"start_character":8,"end_line":457,"end_character":73},"in_reply_to":"3f79a3b5_24f8febe","updated":"2018-10-04 12:52:06.000000000","message":"I moved the validation to the suggested place (see: https://review.openstack.org/#/c/577223/17/neutron/common/utils.py@797)","commit_id":"72952473b3e5d1338838f75fc994afd743acc447"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"92a5266078eb0de4f411d7259b90c61a3f081dc8","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                    \"Invalid exclude_devices: \""},{"line_number":450,"context_line":"                    \"Device name %(dev_name)s is missing from \""},{"line_number":451,"context_line":"                    \"physical_device_mappings\") % {\u0027dev_name\u0027: dev_name})"},{"line_number":452,"context_line":"        for dev_name in self.rp_bandwidths.keys():"},{"line_number":453,"context_line":"            if dev_name not in dev_net_set:"},{"line_number":454,"context_line":"                raise ValueError(_("},{"line_number":455,"context_line":"                    \"Invalid resource_provider_bandwidths: \""},{"line_number":456,"context_line":"                    \"Device name %(dev_name)s is missing from \""},{"line_number":457,"context_line":"                    \"physical_device_mappings\") % {\u0027dev_name\u0027: dev_name})"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_e42f663b","line":457,"range":{"start_line":452,"start_character":8,"end_line":457,"end_character":73},"in_reply_to":"3f79a3b5_5fe75c10","updated":"2018-10-03 15:40:22.000000000","message":"+1","commit_id":"72952473b3e5d1338838f75fc994afd743acc447"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"fcaefb0f31856eead23cebde865221e6b5e919dd","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                    \"Invalid exclude_devices: \""},{"line_number":450,"context_line":"                    \"Device name %(dev_name)s is missing from \""},{"line_number":451,"context_line":"                    \"physical_device_mappings\") % {\u0027dev_name\u0027: dev_name})"},{"line_number":452,"context_line":"        for dev_name in self.rp_bandwidths.keys():"},{"line_number":453,"context_line":"            if dev_name not in dev_net_set:"},{"line_number":454,"context_line":"                raise ValueError(_("},{"line_number":455,"context_line":"                    \"Invalid resource_provider_bandwidths: \""},{"line_number":456,"context_line":"                    \"Device name %(dev_name)s is missing from \""},{"line_number":457,"context_line":"                    \"physical_device_mappings\") % {\u0027dev_name\u0027: dev_name})"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_24f8febe","line":457,"range":{"start_line":452,"start_character":8,"end_line":457,"end_character":73},"in_reply_to":"3f79a3b5_5fe75c10","updated":"2018-10-03 15:41:22.000000000","message":"Good idea, I check to move this validation logic to common/utils","commit_id":"72952473b3e5d1338838f75fc994afd743acc447"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"5a692faccb7372b74949a1b1697d30b817edaee5","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                    \"Invalid exclude_devices: \""},{"line_number":450,"context_line":"                    \"Device name %(dev_name)s is missing from \""},{"line_number":451,"context_line":"                    \"physical_device_mappings\") % {\u0027dev_name\u0027: dev_name})"},{"line_number":452,"context_line":"        for dev_name in self.rp_bandwidths.keys():"},{"line_number":453,"context_line":"            if dev_name not in dev_net_set:"},{"line_number":454,"context_line":"                raise ValueError(_("},{"line_number":455,"context_line":"                    \"Invalid resource_provider_bandwidths: \""},{"line_number":456,"context_line":"                    \"Device name %(dev_name)s is missing from \""},{"line_number":457,"context_line":"                    \"physical_device_mappings\") % {\u0027dev_name\u0027: dev_name})"},{"line_number":458,"context_line":""},{"line_number":459,"context_line":""},{"line_number":460,"context_line":"def main():"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_5dea8f77","line":457,"range":{"start_line":452,"start_character":8,"end_line":457,"end_character":73},"in_reply_to":"3f79a3b5_7d0672cf","updated":"2018-10-04 17:45:12.000000000","message":"cool thanks !","commit_id":"72952473b3e5d1338838f75fc994afd743acc447"}],"neutron/tests/unit/plugins/ml2/drivers/mech_sriov/agent/test_sriov_nic_agent.py":[{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"4524b6524c66da2f0f10dbe15df1ddda96a5e3b0","unresolved":false,"context_lines":[{"line_number":594,"context_line":""},{"line_number":595,"context_line":"class TestSriovNicAgentConfigParser(base.BaseTestCase):"},{"line_number":596,"context_line":""},{"line_number":597,"context_line":"    def test__validate_rp_in_dev_mappings(self):"},{"line_number":598,"context_line":"        with mock.patch.object("},{"line_number":599,"context_line":"                cfg.CONF.SRIOV_NIC, \u0027physical_device_mappings\u0027,"},{"line_number":600,"context_line":"                new\u003d[]), \\"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_317c5a1f","line":597,"range":{"start_line":597,"start_character":4,"end_line":597,"end_character":48},"updated":"2018-08-30 22:36:36.000000000","message":"test case for a valid dev mapping (success) can also be added","commit_id":"f277c98f1981d9984550942136af578a6f88d537"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"inactive contributor"},"change_message_id":"81679f55157a83ca5f0a0ca81f7c82446c7a1c91","unresolved":false,"context_lines":[{"line_number":594,"context_line":""},{"line_number":595,"context_line":"class TestSriovNicAgentConfigParser(base.BaseTestCase):"},{"line_number":596,"context_line":""},{"line_number":597,"context_line":"    def test__validate_rp_in_dev_mappings(self):"},{"line_number":598,"context_line":"        with mock.patch.object("},{"line_number":599,"context_line":"                cfg.CONF.SRIOV_NIC, \u0027physical_device_mappings\u0027,"},{"line_number":600,"context_line":"                new\u003d[]), \\"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_1696f44a","line":597,"range":{"start_line":597,"start_character":4,"end_line":597,"end_character":48},"in_reply_to":"3f79a3b5_2637c2b2","updated":"2018-09-26 12:11:26.000000000","message":"Lajos has a fullstack test for this too:\n\nhttps://review.openstack.org/#/c/600409/2/neutron/tests/fullstack/test_agent_placement_report.py@64","commit_id":"f277c98f1981d9984550942136af578a6f88d537"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"18291903a7fd5750777d8f3a4d6951900556e091","unresolved":false,"context_lines":[{"line_number":594,"context_line":""},{"line_number":595,"context_line":"class TestSriovNicAgentConfigParser(base.BaseTestCase):"},{"line_number":596,"context_line":""},{"line_number":597,"context_line":"    def test__validate_rp_in_dev_mappings(self):"},{"line_number":598,"context_line":"        with mock.patch.object("},{"line_number":599,"context_line":"                cfg.CONF.SRIOV_NIC, \u0027physical_device_mappings\u0027,"},{"line_number":600,"context_line":"                new\u003d[]), \\"}],"source_content_type":"text/x-python","patch_set":8,"id":"3f79a3b5_2637c2b2","line":597,"range":{"start_line":597,"start_character":4,"end_line":597,"end_character":48},"in_reply_to":"3f79a3b5_317c5a1f","updated":"2018-09-19 15:32:47.000000000","message":"+1","commit_id":"f277c98f1981d9984550942136af578a6f88d537"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"bc30325b152f21b09a1cbe9c6bf82e4cbf62b82a","unresolved":false,"context_lines":[{"line_number":504,"context_line":"        self.assertEqual({}, self.agent.network_ports)"},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"    def test_configurations_has_rp_bandwidth(self):"},{"line_number":507,"context_line":"        self.assertIn(\u0027rp_bandwidths\u0027,"},{"line_number":508,"context_line":"                      self.agent.agent_state[\u0027configurations\u0027])"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    def test_configurations_has_rp_default_inventory(self):"},{"line_number":511,"context_line":"        self.assertIn(\u0027rp_inventory_defaults\u0027,"},{"line_number":512,"context_line":"                      self.agent.agent_state[\u0027configurations\u0027])"},{"line_number":513,"context_line":""},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"class FakeAgent(object):"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_5f6e7c64","line":512,"range":{"start_line":507,"start_character":8,"end_line":512,"end_character":63},"updated":"2018-09-28 20:57:06.000000000","message":"optionally if those are empty dicts {} can also be asserted ?","commit_id":"72952473b3e5d1338838f75fc994afd743acc447"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"fcaefb0f31856eead23cebde865221e6b5e919dd","unresolved":false,"context_lines":[{"line_number":504,"context_line":"        self.assertEqual({}, self.agent.network_ports)"},{"line_number":505,"context_line":""},{"line_number":506,"context_line":"    def test_configurations_has_rp_bandwidth(self):"},{"line_number":507,"context_line":"        self.assertIn(\u0027rp_bandwidths\u0027,"},{"line_number":508,"context_line":"                      self.agent.agent_state[\u0027configurations\u0027])"},{"line_number":509,"context_line":""},{"line_number":510,"context_line":"    def test_configurations_has_rp_default_inventory(self):"},{"line_number":511,"context_line":"        self.assertIn(\u0027rp_inventory_defaults\u0027,"},{"line_number":512,"context_line":"                      self.agent.agent_state[\u0027configurations\u0027])"},{"line_number":513,"context_line":""},{"line_number":514,"context_line":""},{"line_number":515,"context_line":"class FakeAgent(object):"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_041622f3","line":512,"range":{"start_line":507,"start_character":8,"end_line":512,"end_character":63},"in_reply_to":"3f79a3b5_5f6e7c64","updated":"2018-10-03 15:41:22.000000000","message":"I changed slightly the tests to have some value in the configuration","commit_id":"72952473b3e5d1338838f75fc994afd743acc447"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"bc30325b152f21b09a1cbe9c6bf82e4cbf62b82a","unresolved":false,"context_lines":[{"line_number":592,"context_line":"                [\u0027qos\u0027], agent.agent_state[\u0027configurations\u0027][\u0027extensions\u0027])"},{"line_number":593,"context_line":""},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"class TestSriovNicAgentConfigParser(base.BaseTestCase):"},{"line_number":596,"context_line":""},{"line_number":597,"context_line":"    def test__validate_rp_in_dev_mappings(self):"},{"line_number":598,"context_line":"        with mock.patch.object("},{"line_number":599,"context_line":"                cfg.CONF.SRIOV_NIC, \u0027physical_device_mappings\u0027,"},{"line_number":600,"context_line":"                new\u003d[]), \\"},{"line_number":601,"context_line":"             mock.patch.object("},{"line_number":602,"context_line":"                cfg.CONF.SRIOV_NIC, \u0027resource_provider_bandwidths\u0027,"},{"line_number":603,"context_line":"                new\u003d[\u0027no_such_dev_in_dev_mappings:1:1\u0027]):"},{"line_number":604,"context_line":"            parser \u003d sriov_nic_agent.SriovNicAgentConfigParser()"},{"line_number":605,"context_line":"            self.assertRaises(ValueError, parser.parse)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_df97ec38","line":605,"range":{"start_line":595,"start_character":0,"end_line":605,"end_character":55},"updated":"2018-09-28 20:57:06.000000000","message":"as you mentioned for ovs agent case I assume there will be positive testcase in functional tests as well for sriov ?","commit_id":"72952473b3e5d1338838f75fc994afd743acc447"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"fcaefb0f31856eead23cebde865221e6b5e919dd","unresolved":false,"context_lines":[{"line_number":592,"context_line":"                [\u0027qos\u0027], agent.agent_state[\u0027configurations\u0027][\u0027extensions\u0027])"},{"line_number":593,"context_line":""},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"class TestSriovNicAgentConfigParser(base.BaseTestCase):"},{"line_number":596,"context_line":""},{"line_number":597,"context_line":"    def test__validate_rp_in_dev_mappings(self):"},{"line_number":598,"context_line":"        with mock.patch.object("},{"line_number":599,"context_line":"                cfg.CONF.SRIOV_NIC, \u0027physical_device_mappings\u0027,"},{"line_number":600,"context_line":"                new\u003d[]), \\"},{"line_number":601,"context_line":"             mock.patch.object("},{"line_number":602,"context_line":"                cfg.CONF.SRIOV_NIC, \u0027resource_provider_bandwidths\u0027,"},{"line_number":603,"context_line":"                new\u003d[\u0027no_such_dev_in_dev_mappings:1:1\u0027]):"},{"line_number":604,"context_line":"            parser \u003d sriov_nic_agent.SriovNicAgentConfigParser()"},{"line_number":605,"context_line":"            self.assertRaises(ValueError, parser.parse)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_84b0f2fe","line":605,"range":{"start_line":595,"start_character":0,"end_line":605,"end_character":55},"in_reply_to":"3f79a3b5_df97ec38","updated":"2018-10-03 15:41:22.000000000","message":"Actually those are fullstack tests:\nhttps://review.openstack.org/600002 for ovs-agen config and reporting\nhttps://review.openstack.org/600409 for sriov-agent config and reporting","commit_id":"72952473b3e5d1338838f75fc994afd743acc447"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"4816c2e3996d8d70ffd6773a8354defb0eedab47","unresolved":false,"context_lines":[{"line_number":532,"context_line":"        self.assertListEqual("},{"line_number":533,"context_line":"            sorted([\u0027reserved\u0027, \u0027min_unit\u0027, \u0027allocation_ratio\u0027, \u0027step_size\u0027]),"},{"line_number":534,"context_line":"            sorted(list(rp_inv_defaults.keys())))"},{"line_number":535,"context_line":"        self.assertIs(float, type(rp_inv_defaults[\u0027allocation_ratio\u0027]))"},{"line_number":536,"context_line":"        self.assertIs(int, type(rp_inv_defaults[\u0027min_unit\u0027]))"},{"line_number":537,"context_line":"        self.assertIs(int, type(rp_inv_defaults[\u0027step_size\u0027]))"},{"line_number":538,"context_line":"        self.assertIs(int, type(rp_inv_defaults[\u0027reserved\u0027]))"},{"line_number":539,"context_line":""},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"class FakeAgent(object):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3f79a3b5_2a87675d","line":538,"range":{"start_line":535,"start_character":8,"end_line":538,"end_character":61},"updated":"2018-10-03 17:07:04.000000000","message":"instead of asserting types, asserting values will be better. \nself.assertIs(1.0, rp_inv_defaults[\u0027allocation_ratio\u0027])\n\nautotype will take care and if its a mismatch it will be covered and hence both values and type are tested.","commit_id":"6b001b833e2507eae401bbd4f27ba1fbe352351b"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"5a692faccb7372b74949a1b1697d30b817edaee5","unresolved":false,"context_lines":[{"line_number":532,"context_line":"        self.assertListEqual("},{"line_number":533,"context_line":"            sorted([\u0027reserved\u0027, \u0027min_unit\u0027, \u0027allocation_ratio\u0027, \u0027step_size\u0027]),"},{"line_number":534,"context_line":"            sorted(list(rp_inv_defaults.keys())))"},{"line_number":535,"context_line":"        self.assertIs(float, type(rp_inv_defaults[\u0027allocation_ratio\u0027]))"},{"line_number":536,"context_line":"        self.assertIs(int, type(rp_inv_defaults[\u0027min_unit\u0027]))"},{"line_number":537,"context_line":"        self.assertIs(int, type(rp_inv_defaults[\u0027step_size\u0027]))"},{"line_number":538,"context_line":"        self.assertIs(int, type(rp_inv_defaults[\u0027reserved\u0027]))"},{"line_number":539,"context_line":""},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"class FakeAgent(object):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3f79a3b5_889a27c2","line":538,"range":{"start_line":535,"start_character":8,"end_line":538,"end_character":61},"in_reply_to":"3f79a3b5_1d541ec5","updated":"2018-10-04 17:45:12.000000000","message":"may be a minor type conversion thing, but I tried,\n\n\u003e\u003e\u003e bc \u003d 1.0\n\u003e\u003e\u003e bd \u003d 1\n\u003e\u003e\u003e bd \u003d float(bd)\n\u003e\u003e\u003e bc\n1.0\n\u003e\u003e\u003e bd\n1.0\n\u003e\u003e\u003e bc \u003d\u003d bd\nTrue\n\nin python3 it works !","commit_id":"6b001b833e2507eae401bbd4f27ba1fbe352351b"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"a2f38f3f5d8c04d25e654e744f67cde1abd8088d","unresolved":false,"context_lines":[{"line_number":532,"context_line":"        self.assertListEqual("},{"line_number":533,"context_line":"            sorted([\u0027reserved\u0027, \u0027min_unit\u0027, \u0027allocation_ratio\u0027, \u0027step_size\u0027]),"},{"line_number":534,"context_line":"            sorted(list(rp_inv_defaults.keys())))"},{"line_number":535,"context_line":"        self.assertIs(float, type(rp_inv_defaults[\u0027allocation_ratio\u0027]))"},{"line_number":536,"context_line":"        self.assertIs(int, type(rp_inv_defaults[\u0027min_unit\u0027]))"},{"line_number":537,"context_line":"        self.assertIs(int, type(rp_inv_defaults[\u0027step_size\u0027]))"},{"line_number":538,"context_line":"        self.assertIs(int, type(rp_inv_defaults[\u0027reserved\u0027]))"},{"line_number":539,"context_line":""},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"class FakeAgent(object):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3f79a3b5_1d541ec5","line":538,"range":{"start_line":535,"start_character":8,"end_line":538,"end_character":61},"in_reply_to":"3f79a3b5_2a87675d","updated":"2018-10-04 12:52:06.000000000","message":"I tried it but with py35 I got error like:\n\u0027testtools.matchers._impl.MismatchError: 1.0 is not 1.0\u0027","commit_id":"6b001b833e2507eae401bbd4f27ba1fbe352351b"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"d1619d8d8a24cadc1cdb44c6001f7d296d3a65b7","unresolved":false,"context_lines":[{"line_number":532,"context_line":"        self.assertListEqual("},{"line_number":533,"context_line":"            sorted([\u0027reserved\u0027, \u0027min_unit\u0027, \u0027allocation_ratio\u0027, \u0027step_size\u0027]),"},{"line_number":534,"context_line":"            sorted(list(rp_inv_defaults.keys())))"},{"line_number":535,"context_line":"        self.assertIs(float, type(rp_inv_defaults[\u0027allocation_ratio\u0027]))"},{"line_number":536,"context_line":"        self.assertIs(int, type(rp_inv_defaults[\u0027min_unit\u0027]))"},{"line_number":537,"context_line":"        self.assertIs(int, type(rp_inv_defaults[\u0027step_size\u0027]))"},{"line_number":538,"context_line":"        self.assertIs(int, type(rp_inv_defaults[\u0027reserved\u0027]))"},{"line_number":539,"context_line":""},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"class FakeAgent(object):"}],"source_content_type":"text/x-python","patch_set":11,"id":"3f79a3b5_e044004b","line":538,"range":{"start_line":535,"start_character":8,"end_line":538,"end_character":61},"in_reply_to":"3f79a3b5_889a27c2","updated":"2018-10-05 12:09:35.000000000","message":"Really, I don\u0027t know what I messed up.","commit_id":"6b001b833e2507eae401bbd4f27ba1fbe352351b"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"ea2331b255d9ed2b0b67e3bbf9fc0dbab97f626c","unresolved":false,"context_lines":[{"line_number":532,"context_line":"        self.assertListEqual("},{"line_number":533,"context_line":"            sorted([\u0027reserved\u0027, \u0027min_unit\u0027, \u0027allocation_ratio\u0027, \u0027step_size\u0027]),"},{"line_number":534,"context_line":"            sorted(list(rp_inv_defaults.keys())))"},{"line_number":535,"context_line":"        self.assertIs(1.0, rp_inv_defaults[\u0027allocation_ratio\u0027])"},{"line_number":536,"context_line":"        self.assertIs(1, rp_inv_defaults[\u0027min_unit\u0027])"},{"line_number":537,"context_line":"        self.assertIs(1, rp_inv_defaults[\u0027step_size\u0027])"},{"line_number":538,"context_line":"        self.assertIs(0, rp_inv_defaults[\u0027reserved\u0027])"},{"line_number":539,"context_line":""},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"class FakeAgent(object):"}],"source_content_type":"text/x-python","patch_set":14,"id":"3f79a3b5_b7f9651d","line":538,"range":{"start_line":535,"start_character":8,"end_line":538,"end_character":53},"updated":"2018-10-05 17:11:47.000000000","message":"cool that its passing py35 now !","commit_id":"cb860081c76b05c7d5165a616e45dafb317cf12f"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"6cdc444495900f01443003628542343f77e0000b","unresolved":false,"context_lines":[{"line_number":506,"context_line":"    def test_configurations_has_rp_bandwidth(self):"},{"line_number":507,"context_line":"        agent \u003d sriov_nic_agent.SriovNicSwitchAgent("},{"line_number":508,"context_line":"            {}, {}, 0,"},{"line_number":509,"context_line":"            {\u0027ens7\u0027: {\u0027egress\u0027: 10000, \u0027ingress\u0027: 10000}}, {})"},{"line_number":510,"context_line":"        self.assertIn(\u0027resource_provider_bandwidths\u0027,"},{"line_number":511,"context_line":"                      agent.agent_state[\u0027configurations\u0027])"},{"line_number":512,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_bc2929f2","line":509,"range":{"start_line":509,"start_character":12,"end_line":509,"end_character":57},"updated":"2018-10-08 16:59:21.000000000","message":"nit: may be define a variable for this and use it in L515 as well ?","commit_id":"87b10ea154f192ea1896b4ee6fcdeef2fbab1036"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"d275f99c1dfc6ff485dab67d3d86ba38837f2c7f","unresolved":false,"context_lines":[{"line_number":506,"context_line":"    def test_configurations_has_rp_bandwidth(self):"},{"line_number":507,"context_line":"        agent \u003d sriov_nic_agent.SriovNicSwitchAgent("},{"line_number":508,"context_line":"            {}, {}, 0,"},{"line_number":509,"context_line":"            {\u0027ens7\u0027: {\u0027egress\u0027: 10000, \u0027ingress\u0027: 10000}}, {})"},{"line_number":510,"context_line":"        self.assertIn(\u0027resource_provider_bandwidths\u0027,"},{"line_number":511,"context_line":"                      agent.agent_state[\u0027configurations\u0027])"},{"line_number":512,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_0ce6c0e8","line":509,"range":{"start_line":509,"start_character":12,"end_line":509,"end_character":57},"in_reply_to":"3f79a3b5_bc2929f2","updated":"2018-10-10 10:33:06.000000000","message":"Done","commit_id":"87b10ea154f192ea1896b4ee6fcdeef2fbab1036"}],"releasenotes/notes/bandwidth-config-sriov-bd8ff8b4d84c8792.yaml":[{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"5a692faccb7372b74949a1b1697d30b817edaee5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    New configuration options for neutron-srio-agent under section"},{"line_number":5,"context_line":"    ``[sriov_nic]``: ``resource_provider_bandwidths`` and"},{"line_number":6,"context_line":"    ``resource_provider_inventory_defaults``."},{"line_number":7,"context_line":"    The former controls the ``total`` (available bandwidth) field of the"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"3f79a3b5_088ff776","line":4,"range":{"start_line":4,"start_character":42,"end_line":4,"end_character":46},"updated":"2018-10-04 17:45:12.000000000","message":"sriov","commit_id":"6b001b833e2507eae401bbd4f27ba1fbe352351b"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"d1619d8d8a24cadc1cdb44c6001f7d296d3a65b7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    New configuration options for neutron-srio-agent under section"},{"line_number":5,"context_line":"    ``[sriov_nic]``: ``resource_provider_bandwidths`` and"},{"line_number":6,"context_line":"    ``resource_provider_inventory_defaults``."},{"line_number":7,"context_line":"    The former controls the ``total`` (available bandwidth) field of the"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"3f79a3b5_75b190e0","line":4,"range":{"start_line":4,"start_character":42,"end_line":4,"end_character":46},"in_reply_to":"3f79a3b5_088ff776","updated":"2018-10-05 12:09:35.000000000","message":"Done","commit_id":"6b001b833e2507eae401bbd4f27ba1fbe352351b"},{"author":{"_account_id":17120,"name":"Manjeet Singh Bhatia","email":"manjeet.s.bhatia@intel.com","username":"manjeets"},"change_message_id":"5a692faccb7372b74949a1b1697d30b817edaee5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    New configuration options for neutron-srio-agent under section"},{"line_number":5,"context_line":"    ``[sriov_nic]``: ``resource_provider_bandwidths`` and"},{"line_number":6,"context_line":"    ``resource_provider_inventory_defaults``."},{"line_number":7,"context_line":"    The former controls the ``total`` (available bandwidth) field of the"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3f79a3b5_68e30b3c","line":4,"range":{"start_line":4,"start_character":42,"end_line":4,"end_character":46},"updated":"2018-10-04 17:45:12.000000000","message":"sriov","commit_id":"929682cb24abd2792e7d27a07ade9537a86d5663"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"d1619d8d8a24cadc1cdb44c6001f7d296d3a65b7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    New configuration options for neutron-srio-agent under section"},{"line_number":5,"context_line":"    ``[sriov_nic]``: ``resource_provider_bandwidths`` and"},{"line_number":6,"context_line":"    ``resource_provider_inventory_defaults``."},{"line_number":7,"context_line":"    The former controls the ``total`` (available bandwidth) field of the"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3f79a3b5_55ac9487","line":4,"range":{"start_line":4,"start_character":42,"end_line":4,"end_character":46},"in_reply_to":"3f79a3b5_68e30b3c","updated":"2018-10-05 12:09:35.000000000","message":"Sorry, I missed this one, thanks","commit_id":"929682cb24abd2792e7d27a07ade9537a86d5663"}]}
