)]}'
{"neutron/tests/contrib/gate_hook.sh":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"f1b8f107cb834addc53a476b85e7a6a03c842101","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    load_rc_hook segments"},{"line_number":96,"context_line":"    load_rc_hook trunk"},{"line_number":97,"context_line":"    load_conf_hook vlan_provider"},{"line_number":98,"context_line":"    load_conf_hook type_drivers"},{"line_number":99,"context_line":"    load_conf_hook osprofiler"},{"line_number":100,"context_line":"    if [[ \"$VENV\" \u003d~ \"dsvm-scenario\" ]]; then"},{"line_number":101,"context_line":"        load_rc_hook ubuntu_image"}],"source_content_type":"text/x-sh","patch_set":10,"id":"7f287b81_89171852","line":98,"updated":"2017-08-25 21:45:22.000000000","message":"I think you will need to conditionalize this line so that when the job is *linuxbridge*, you don\u0027t configure available_type_drivers \u003d ...,gre,... in tempest.conf. I see the new test case still executed for linuxbridge job, and it fails because it can\u0027t bind the GRE port on any of agents (linuxbridge agent doesn\u0027t support this tunneling type).","commit_id":"550196236fa6151d0128e1342dc8a1870c0ba2da"}],"neutron/tests/contrib/hooks/linuxbridge_type_drivers":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"cac035807dd65ee706dc6cc35a77a190641b8316","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[[test-config|$TEMPEST_CONFIG]]"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"[neutron_plugin_options]"},{"line_number":4,"context_line":"available_type_drivers\u003dflat,geneve,vlan,local,vxlan"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[[post-config|/$NEUTRON_CORE_PLUGIN_CONF]]"},{"line_number":7,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":13,"id":"7f515b1d_99a22b9a","line":4,"range":{"start_line":4,"start_character":28,"end_line":4,"end_character":34},"updated":"2017-09-22 20:43:32.000000000","message":"Didn\u0027t you just remove geneve from another linuxbridge change?","commit_id":"bc32d85bfba4eaf9531695e1a4c7b766a91dbac6"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"80fc6e49681da9a4fb3e32904343c5e56af98a60","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[[test-config|$TEMPEST_CONFIG]]"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"[neutron_plugin_options]"},{"line_number":4,"context_line":"available_type_drivers\u003dflat,geneve,vlan,local,vxlan"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[[post-config|/$NEUTRON_CORE_PLUGIN_CONF]]"},{"line_number":7,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":13,"id":"7f515b1d_55f1c4cc","line":4,"range":{"start_line":4,"start_character":28,"end_line":4,"end_character":34},"in_reply_to":"7f515b1d_99a22b9a","updated":"2017-09-26 19:07:42.000000000","message":"Yes, in https://review.openstack.org/#/c/506355/ I splitted it because it\u0027s not related to the goal of this patch (add the test and pass it for both jobs).","commit_id":"bc32d85bfba4eaf9531695e1a4c7b766a91dbac6"}],"neutron/tests/tempest/config.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"1483b8ce45e05dc8fd89acfde33fbdeb6e91269f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"                default\u003d[],"},{"line_number":31,"context_line":"                help\u003d\u0027List of network types available to neutron, \u0027"},{"line_number":32,"context_line":"                     \u0027e.g. vxlan,vlan,gre.\u0027),"},{"line_number":33,"context_line":"    cfg.BoolOpt(\u0027mtu_test_support\u0027,"},{"line_number":34,"context_line":"                default\u003dFalse,"},{"line_number":35,"context_line":"                help\u003d\u0027Allow testing traffic on networks with different MTUs\u0027),"},{"line_number":36,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_78175e53","line":33,"updated":"2017-07-20 19:25:30.000000000","message":"I think existing options may be enough to achieve what you need. Specifically, just inspect that available_type_drivers have two distinct types known to have different overhead requirements (e.g. vxlan and gre; or vlan and gre; or vlan and vxlan; ...) and use the identified pair to achieve different MTUs. With the ongoing work in Pike to allow to specify mtu on network creation and update [1], it will be even simpler, but for now, I think inspection of the list of available drivers is the way to go.\n\nThe benefit of reusing the existing option and not adding a new one is that existing tempest deployments that already rely on the existing option may get the test triggered for them with no change in deployment tooling that would otherwise need to set the new mtu_test_support option.\n\nAlso, a test-specific option is an anti-pattern in tempest. Instead of a knob per test class/case, it\u0027s better to describe the cloud setup in general terms (whether it supports this or that feature; whether its api allows for X or Y; ...) and then rely on this information to determine which test cases can be executed.\n\nTell me what you think about relying on available_type_drivers.","commit_id":"55f36490061f511534791e3ae8d83a94c133708f"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"475f2abbd6bb117a9a7615dbf69f6738092c2849","unresolved":false,"context_lines":[{"line_number":30,"context_line":"                default\u003d[],"},{"line_number":31,"context_line":"                help\u003d\u0027List of network types available to neutron, \u0027"},{"line_number":32,"context_line":"                     \u0027e.g. vxlan,vlan,gre.\u0027),"},{"line_number":33,"context_line":"    cfg.BoolOpt(\u0027mtu_test_support\u0027,"},{"line_number":34,"context_line":"                default\u003dFalse,"},{"line_number":35,"context_line":"                help\u003d\u0027Allow testing traffic on networks with different MTUs\u0027),"},{"line_number":36,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff346bd7_eb838a55","line":33,"in_reply_to":"1f1a1f67_78175e53","updated":"2017-07-24 12:44:46.000000000","message":"Uploading the patch that doesn\u0027t rely on it with GRE and VXLAN, let\u0027s check that this theory is working","commit_id":"55f36490061f511534791e3ae8d83a94c133708f"}],"neutron/tests/tempest/scenario/test_mtu.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43879c3d9c526eecb72ace526147080d9851dc73","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from neutron.tests.tempest import config"},{"line_number":22,"context_line":"from neutron.tests.tempest.scenario import base, constants"},{"line_number":23,"context_line":"import netaddr"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"CONF \u003d config.CONF"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_fa8204a5","line":23,"updated":"2017-07-11 15:29:58.000000000","message":"nit: this is 3party lib, should go in the previous import section (line 14+).","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"90c453e94058b4faa3b576ae127f17d0eff0727a","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from neutron.tests.tempest import config"},{"line_number":22,"context_line":"from neutron.tests.tempest.scenario import base, constants"},{"line_number":23,"context_line":"import netaddr"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"CONF \u003d config.CONF"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_2384040c","line":23,"in_reply_to":"3f1d235d_fa8204a5","updated":"2017-07-13 12:59:15.000000000","message":"Done","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43879c3d9c526eecb72ace526147080d9851dc73","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def _create_setup(self):"},{"line_number":48,"context_line":"        self.admin_client \u003d self.os_admin.network_client"},{"line_number":49,"context_line":"        vlan_kwargs \u003d {\u0027provider:network_type\u0027: \u0027vlan\u0027,"},{"line_number":50,"context_line":"                       \u0027tenant_id\u0027: self.client.tenant_id}"},{"line_number":51,"context_line":"        for sub in (\u002710.100.0.0/16\u0027, \u002710.200.0.0/16\u0027):"},{"line_number":52,"context_line":"            vlan_kwargs[\u0027name\u0027] \u003d data_utils.rand_name(\u0027vlan-net-\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_5ab7b887","line":49,"range":{"start_line":49,"start_character":24,"end_line":49,"end_character":45},"updated":"2017-07-11 15:29:58.000000000","message":"this is part of providernet api extension, you should require it for the test class.","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"5d76fd19f18a5a3b973acf29cdd48b868d401eb3","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def _create_setup(self):"},{"line_number":48,"context_line":"        self.admin_client \u003d self.os_admin.network_client"},{"line_number":49,"context_line":"        vlan_kwargs \u003d {\u0027provider:network_type\u0027: \u0027vlan\u0027,"},{"line_number":50,"context_line":"                       \u0027tenant_id\u0027: self.client.tenant_id}"},{"line_number":51,"context_line":"        for sub in (\u002710.100.0.0/16\u0027, \u002710.200.0.0/16\u0027):"},{"line_number":52,"context_line":"            vlan_kwargs[\u0027name\u0027] \u003d data_utils.rand_name(\u0027vlan-net-\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_4f4b952a","line":49,"range":{"start_line":49,"start_character":24,"end_line":49,"end_character":45},"in_reply_to":"1f1a1f67_638afc1b","updated":"2017-07-13 18:47:13.000000000","message":"your test class should require providernet api extension to be enabled; otherwise it will fail for plugins that don\u0027t support it","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"90c453e94058b4faa3b576ae127f17d0eff0727a","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def _create_setup(self):"},{"line_number":48,"context_line":"        self.admin_client \u003d self.os_admin.network_client"},{"line_number":49,"context_line":"        vlan_kwargs \u003d {\u0027provider:network_type\u0027: \u0027vlan\u0027,"},{"line_number":50,"context_line":"                       \u0027tenant_id\u0027: self.client.tenant_id}"},{"line_number":51,"context_line":"        for sub in (\u002710.100.0.0/16\u0027, \u002710.200.0.0/16\u0027):"},{"line_number":52,"context_line":"            vlan_kwargs[\u0027name\u0027] \u003d data_utils.rand_name(\u0027vlan-net-\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_638afc1b","line":49,"range":{"start_line":49,"start_character":24,"end_line":49,"end_character":45},"in_reply_to":"3f1d235d_5ab7b887","updated":"2017-07-13 12:59:15.000000000","message":"Please elaborate on it","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43879c3d9c526eecb72ace526147080d9851dc73","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            self.addCleanup(self.client.remove_router_interface_with_subnet_id,"},{"line_number":61,"context_line":"                            self.router[\u0027id\u0027], subnet[\u0027id\u0027])"},{"line_number":62,"context_line":"        # check that MTUs are different for 2 networks"},{"line_number":63,"context_line":"        self.assertNotEqual(self.networks[0][\u0027mtu\u0027], self.networks[1][\u0027mtu\u0027])"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def create_pingable_vm(self, net):"},{"line_number":66,"context_line":"        server \u003d self.create_server("}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_da586857","line":63,"updated":"2017-07-11 15:29:58.000000000","message":"This apparently relies on neutron allocating vlans from different provider networks with different MTUs? This assumption should be expressed somewhere in tempest.conf, and the test class should be skipped if the assumption doesn\u0027t hold.","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"5d76fd19f18a5a3b973acf29cdd48b868d401eb3","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            self.addCleanup(self.client.remove_router_interface_with_subnet_id,"},{"line_number":61,"context_line":"                            self.router[\u0027id\u0027], subnet[\u0027id\u0027])"},{"line_number":62,"context_line":"        # check that MTUs are different for 2 networks"},{"line_number":63,"context_line":"        self.assertNotEqual(self.networks[0][\u0027mtu\u0027], self.networks[1][\u0027mtu\u0027])"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def create_pingable_vm(self, net):"},{"line_number":66,"context_line":"        server \u003d self.create_server("}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_8f288d34","line":63,"in_reply_to":"1f1a1f67_23abe489","updated":"2017-07-13 18:47:13.000000000","message":"if it executes in gate, and we can\u0027t set up environment for it to pass there, the test should still be smart enough not to fail if setup doesn\u0027t conform to your assumptions\n\nSpeaking of which, you can always create one vxlan, and one gre network, interconnect them, and use the pair for your fragmentation tests. those networks should get different mtus already, so that should be enough for what you try to validate.","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"90c453e94058b4faa3b576ae127f17d0eff0727a","unresolved":false,"context_lines":[{"line_number":60,"context_line":"            self.addCleanup(self.client.remove_router_interface_with_subnet_id,"},{"line_number":61,"context_line":"                            self.router[\u0027id\u0027], subnet[\u0027id\u0027])"},{"line_number":62,"context_line":"        # check that MTUs are different for 2 networks"},{"line_number":63,"context_line":"        self.assertNotEqual(self.networks[0][\u0027mtu\u0027], self.networks[1][\u0027mtu\u0027])"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def create_pingable_vm(self, net):"},{"line_number":66,"context_line":"        server \u003d self.create_server("}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_23abe489","line":63,"in_reply_to":"3f1d235d_da586857","updated":"2017-07-13 12:59:15.000000000","message":"At the moment it runs on downstream with such a configuration, if you say that the gate can be configured to support 2 physnets with 2 different VLANs, I can proceed with what you asked","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"43879c3d9c526eecb72ace526147080d9851dc73","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            self.check_connectivity(fip[\u0027floating_ip_address\u0027],"},{"line_number":92,"context_line":"                                    CONF.validation.image_ssh_user,"},{"line_number":93,"context_line":"                                    self.keypair[\u0027private_key\u0027])"},{"line_number":94,"context_line":"        min_mtu \u003d min(self.networks[0][\u0027mtu\u0027], self.networks[1][\u0027mtu\u0027])"},{"line_number":95,"context_line":"        self.check_remote_connectivity("},{"line_number":96,"context_line":"            server_ssh_client, fip2[\u0027fixed_ip_address\u0027], mtu\u003dmin_mtu)"},{"line_number":97,"context_line":"        self.check_remote_connectivity("}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_803042ea","line":94,"updated":"2017-07-11 15:29:58.000000000","message":"this test case covers a scenario where we enforce Don\u0027t Fragment in IP frames. You may also want to look at adding a scenario that doesn\u0027t set the flag in IP headers and sends max_mtu, to validate that the router correctly fragments frames as needed. (I am fine with a follow up for this.)","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"90c453e94058b4faa3b576ae127f17d0eff0727a","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            self.check_connectivity(fip[\u0027floating_ip_address\u0027],"},{"line_number":92,"context_line":"                                    CONF.validation.image_ssh_user,"},{"line_number":93,"context_line":"                                    self.keypair[\u0027private_key\u0027])"},{"line_number":94,"context_line":"        min_mtu \u003d min(self.networks[0][\u0027mtu\u0027], self.networks[1][\u0027mtu\u0027])"},{"line_number":95,"context_line":"        self.check_remote_connectivity("},{"line_number":96,"context_line":"            server_ssh_client, fip2[\u0027fixed_ip_address\u0027], mtu\u003dmin_mtu)"},{"line_number":97,"context_line":"        self.check_remote_connectivity("}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_433380ac","line":94,"in_reply_to":"3f1d235d_803042ea","updated":"2017-07-13 12:59:15.000000000","message":"Done","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"ef9816fe4bee191e57f3780f4bb91d8d92563f0e","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        min_mtu \u003d min(self.networks[0][\u0027mtu\u0027], self.networks[1][\u0027mtu\u0027])"},{"line_number":95,"context_line":"        self.check_remote_connectivity("},{"line_number":96,"context_line":"            server_ssh_client, fip2[\u0027fixed_ip_address\u0027], mtu\u003dmin_mtu)"},{"line_number":97,"context_line":"        self.check_remote_connectivity("},{"line_number":98,"context_line":"            server_ssh_client, fip2[\u0027fixed_ip_address\u0027], should_succeed\u003dFalse,"},{"line_number":99,"context_line":"            mtu\u003dmin_mtu+50)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_2e69948a","line":97,"updated":"2017-07-10 10:48:22.000000000","message":"why are we not using ICMP traffic to determine the MTU. With TCP how can you control the size of the packets?","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"90c453e94058b4faa3b576ae127f17d0eff0727a","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        min_mtu \u003d min(self.networks[0][\u0027mtu\u0027], self.networks[1][\u0027mtu\u0027])"},{"line_number":95,"context_line":"        self.check_remote_connectivity("},{"line_number":96,"context_line":"            server_ssh_client, fip2[\u0027fixed_ip_address\u0027], mtu\u003dmin_mtu)"},{"line_number":97,"context_line":"        self.check_remote_connectivity("},{"line_number":98,"context_line":"            server_ssh_client, fip2[\u0027fixed_ip_address\u0027], should_succeed\u003dFalse,"},{"line_number":99,"context_line":"            mtu\u003dmin_mtu+50)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_c31e700b","line":97,"in_reply_to":"3f1d235d_2e69948a","updated":"2017-07-13 12:59:15.000000000","message":"We do, it\u0027s ssh_client that performs ping","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3b61d3526624b470067b286c42cba69be3e17169","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        self.check_remote_connectivity("},{"line_number":96,"context_line":"            server_ssh_client, fip2[\u0027fixed_ip_address\u0027], mtu\u003dmin_mtu)"},{"line_number":97,"context_line":"        self.check_remote_connectivity("},{"line_number":98,"context_line":"            server_ssh_client, fip2[\u0027fixed_ip_address\u0027], should_succeed\u003dFalse,"},{"line_number":99,"context_line":"            mtu\u003dmin_mtu+50)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_04835758","line":98,"range":{"start_line":98,"start_character":12,"end_line":98,"end_character":28},"updated":"2017-07-10 11:56:47.000000000","message":"this is misleading. it should maybe be your icmp remote client","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"c57525875f99f9167bbaf12679cc92796ee207d4","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        self.check_remote_connectivity("},{"line_number":96,"context_line":"            server_ssh_client, fip2[\u0027fixed_ip_address\u0027], mtu\u003dmin_mtu)"},{"line_number":97,"context_line":"        self.check_remote_connectivity("},{"line_number":98,"context_line":"            server_ssh_client, fip2[\u0027fixed_ip_address\u0027], should_succeed\u003dFalse,"},{"line_number":99,"context_line":"            mtu\u003dmin_mtu+50)"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f1d235d_4a503933","line":98,"range":{"start_line":98,"start_character":12,"end_line":98,"end_character":28},"in_reply_to":"3f1d235d_04835758","updated":"2017-07-10 12:55:56.000000000","message":"It\u0027s called ssh_client as it executes command from VM when it\u0027s connected to it over SSH. We use this \"name\" in all our tests that check connectivity and it makes sense to me, thought I agree it\u0027s a little bit misleading","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"5d76fd19f18a5a3b973acf29cdd48b868d401eb3","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        self.check_remote_connectivity("},{"line_number":96,"context_line":"            server_ssh_client, fip2[\u0027fixed_ip_address\u0027], mtu\u003dmin_mtu)"},{"line_number":97,"context_line":"        self.check_remote_connectivity("},{"line_number":98,"context_line":"            server_ssh_client, fip2[\u0027fixed_ip_address\u0027], should_succeed\u003dFalse,"},{"line_number":99,"context_line":"            mtu\u003dmin_mtu+50)"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f1a1f67_cfd32538","line":98,"range":{"start_line":98,"start_character":12,"end_line":98,"end_character":28},"in_reply_to":"3f1d235d_4a503933","updated":"2017-07-13 18:47:13.000000000","message":"ssh_client is a common name for tempest tests, I think it\u0027s fine to leave it as-is.","commit_id":"dcf8f2bd9964057da6f8f7b84e4ef89f62d05ea4"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"1483b8ce45e05dc8fd89acfde33fbdeb6e91269f","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            raise cls.skipException(\"MTU support is not enabled\")"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @classmethod"},{"line_number":43,"context_line":"    @test.requires_ext(extension\u003d\"provider\", service\u003d\"network\")"},{"line_number":44,"context_line":"    def resource_setup(cls):"},{"line_number":45,"context_line":"        super(NetworkMtuBaseTest, cls).resource_setup()"},{"line_number":46,"context_line":"        # setup basic topology for servers we can log into it"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_98feba69","line":43,"range":{"start_line":43,"start_character":33,"end_line":43,"end_character":43},"updated":"2017-07-20 19:25:30.000000000","message":"nit: you can also link to neutron-lib instead, like:\n\nneutron_lib.api.definitions.provider_net.ALIAS","commit_id":"55f36490061f511534791e3ae8d83a94c133708f"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"475f2abbd6bb117a9a7615dbf69f6738092c2849","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            raise cls.skipException(\"MTU support is not enabled\")"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @classmethod"},{"line_number":43,"context_line":"    @test.requires_ext(extension\u003d\"provider\", service\u003d\"network\")"},{"line_number":44,"context_line":"    def resource_setup(cls):"},{"line_number":45,"context_line":"        super(NetworkMtuBaseTest, cls).resource_setup()"},{"line_number":46,"context_line":"        # setup basic topology for servers we can log into it"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff346bd7_2bf072c9","line":43,"range":{"start_line":43,"start_character":33,"end_line":43,"end_character":43},"in_reply_to":"1f1a1f67_98feba69","updated":"2017-07-24 12:44:46.000000000","message":"Done","commit_id":"55f36490061f511534791e3ae8d83a94c133708f"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"1483b8ce45e05dc8fd89acfde33fbdeb6e91269f","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def _create_setup(self):"},{"line_number":58,"context_line":"        self.admin_client \u003d self.os_admin.network_client"},{"line_number":59,"context_line":"        vlan_kwargs \u003d {\u0027provider:network_type\u0027: \u0027vlan\u0027,"},{"line_number":60,"context_line":"                       \u0027tenant_id\u0027: self.client.tenant_id}"},{"line_number":61,"context_line":"        for sub in (\u002710.100.0.0/16\u0027, \u002710.200.0.0/16\u0027):"},{"line_number":62,"context_line":"            vlan_kwargs[\u0027name\u0027] \u003d data_utils.rand_name(\u0027vlan-net-\u0027)"},{"line_number":63,"context_line":"            network \u003d self.admin_client.create_network(**vlan_kwargs)["}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_53cec583","line":60,"range":{"start_line":59,"start_character":23,"end_line":60,"end_character":57},"updated":"2017-07-20 19:25:30.000000000","message":"why do you think creating two vlan networks gives you different mtus? For that to work, one would first need to configure neutron-server ml2 plugin to use different base mtu values for different physical networks. Also, there is no guarantee that subsequent allocation requests will allocate segments from different physical networks.\n\nTo achieve what you try to do here would imply that you somehow expose information about configured physical networks with their corresponding base mtu values to tempest. Neither physical network names nor their respective base mtu values are not exposed via API. Names are exposed via tempest config though (see the provider_vlans option), so in theory you could somehow extend the option to also pass mtu values, but that may be hard to do without breaking existing users of the option that still pass the option value in the old format.\n\nI would suggest to instead take an alternative route using the fact that segments of different network types (f.e. vxlan vs. gre) are guaranteed to have different mtu values. So instead of creating vlan networks, pick two different tunneled network types from available_type_drivers (e.g. vxlan and gre), and use those types to create two test networks. Note that picking vlan for networks is not safe because of all the configuration knobs we have for physical networks that may affect the result mtu.\n\nIn the future (hopefully as close as Pike) we will be able to pick network mtu on network creation and update, at which point there will be no need to do all this type driver selection, because we will be able to use the same network type and still achieve different mtus. That\u0027s another tiny reason not to introduce a new tempest option for the test needs, to avoid later cleanup that would require some care about backwards compatibility of such cleanup.\n\nTo recap, I suggest you 1) inspect available_type_drivers and skip the test if it doesn\u0027t have two tunneled drivers in the list; 2) if it does, pick those two and pass them when creating test networks using provider API extension.","commit_id":"55f36490061f511534791e3ae8d83a94c133708f"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"475f2abbd6bb117a9a7615dbf69f6738092c2849","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def _create_setup(self):"},{"line_number":58,"context_line":"        self.admin_client \u003d self.os_admin.network_client"},{"line_number":59,"context_line":"        vlan_kwargs \u003d {\u0027provider:network_type\u0027: \u0027vlan\u0027,"},{"line_number":60,"context_line":"                       \u0027tenant_id\u0027: self.client.tenant_id}"},{"line_number":61,"context_line":"        for sub in (\u002710.100.0.0/16\u0027, \u002710.200.0.0/16\u0027):"},{"line_number":62,"context_line":"            vlan_kwargs[\u0027name\u0027] \u003d data_utils.rand_name(\u0027vlan-net-\u0027)"},{"line_number":63,"context_line":"            network \u003d self.admin_client.create_network(**vlan_kwargs)["}],"source_content_type":"text/x-python","patch_set":3,"id":"ff346bd7_cbed6626","line":60,"range":{"start_line":59,"start_character":23,"end_line":60,"end_character":57},"in_reply_to":"1f1a1f67_53cec583","updated":"2017-07-24 12:44:46.000000000","message":"I will leave the test with 2 VLANs in our downstream and put here the GRE and VXLAN option","commit_id":"55f36490061f511534791e3ae8d83a94c133708f"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"1483b8ce45e05dc8fd89acfde33fbdeb6e91269f","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        # fails when fragmentation is disabled"},{"line_number":117,"context_line":"        self.check_remote_connectivity("},{"line_number":118,"context_line":"            icmp_rem_client, fip2[\u0027fixed_ip_address\u0027], should_succeed\u003dFalse,"},{"line_number":119,"context_line":"            mtu\u003dself.networks[0][\u0027mtu\u0027] + 50, fragmentation\u003dFalse)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    @decorators.idempotent_id(\u00273d73ec1a-2ec6-45a9-b0f8-04a273d9d345\u0027)"},{"line_number":122,"context_line":"    def test_connectivity_max_mtu(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1f1a1f67_93557dfd","line":119,"range":{"start_line":119,"start_character":41,"end_line":119,"end_character":44},"updated":"2017-07-20 19:25:30.000000000","message":"50 is probably too much because what if e.g. +5 still works? That would be a bug that we missed.\n\nWhy not 1? This should catch all issues.","commit_id":"55f36490061f511534791e3ae8d83a94c133708f"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"475f2abbd6bb117a9a7615dbf69f6738092c2849","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        # fails when fragmentation is disabled"},{"line_number":117,"context_line":"        self.check_remote_connectivity("},{"line_number":118,"context_line":"            icmp_rem_client, fip2[\u0027fixed_ip_address\u0027], should_succeed\u003dFalse,"},{"line_number":119,"context_line":"            mtu\u003dself.networks[0][\u0027mtu\u0027] + 50, fragmentation\u003dFalse)"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"    @decorators.idempotent_id(\u00273d73ec1a-2ec6-45a9-b0f8-04a273d9d345\u0027)"},{"line_number":122,"context_line":"    def test_connectivity_max_mtu(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff346bd7_abf22205","line":119,"range":{"start_line":119,"start_character":41,"end_line":119,"end_character":44},"in_reply_to":"1f1a1f67_93557dfd","updated":"2017-07-24 12:44:46.000000000","message":"Done","commit_id":"55f36490061f511534791e3ae8d83a94c133708f"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"c260e6def9126cab196580d68f42925294706a0d","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from neutron.tests.tempest import config"},{"line_number":23,"context_line":"from neutron.tests.tempest.scenario import base"},{"line_number":24,"context_line":"from neutron.tests.tempest.scenario import constants"},{"line_number":25,"context_line":"from neutron_lib.api.definitions.provider_net import ALIAS"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"CONF \u003d config.CONF"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df3967d1_9c5de816","line":25,"updated":"2017-08-03 18:18:03.000000000","message":"nit: we usually don\u0027t import symbols from modules, but import modules themselves and access symbols with \u0027.\u0027","commit_id":"c661a3096a2a8f5530ce1622c99d591aa9fba53a"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"bc6f8ff142ea977b172bb94ff7a7440276067932","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from neutron.tests.tempest import config"},{"line_number":23,"context_line":"from neutron.tests.tempest.scenario import base"},{"line_number":24,"context_line":"from neutron.tests.tempest.scenario import constants"},{"line_number":25,"context_line":"from neutron_lib.api.definitions.provider_net import ALIAS"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"CONF \u003d config.CONF"},{"line_number":28,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9f436f4f_690b0424","line":25,"in_reply_to":"df3967d1_9c5de816","updated":"2017-08-22 05:53:02.000000000","message":"Done","commit_id":"c661a3096a2a8f5530ce1622c99d591aa9fba53a"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"c260e6def9126cab196580d68f42925294706a0d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        cls.create_pingable_secgroup_rule("},{"line_number":48,"context_line":"            secgroup_id\u003dcls.secgroup[\u0027security_group\u0027][\u0027id\u0027])"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _create_setup(self):"},{"line_number":51,"context_line":"        self.admin_client \u003d self.os_admin.network_client"},{"line_number":52,"context_line":"        net_kwargs \u003d {\u0027tenant_id\u0027: self.client.tenant_id}"},{"line_number":53,"context_line":"        for sub, net_type in ("}],"source_content_type":"text/x-python","patch_set":6,"id":"df3967d1_7c85a459","line":50,"updated":"2017-08-03 18:18:03.000000000","message":"these test cases should be skipped if availabel_type_drivers doesn\u0027t contain the requested types (gre and vxlan).","commit_id":"c661a3096a2a8f5530ce1622c99d591aa9fba53a"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"bc6f8ff142ea977b172bb94ff7a7440276067932","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        cls.create_pingable_secgroup_rule("},{"line_number":48,"context_line":"            secgroup_id\u003dcls.secgroup[\u0027security_group\u0027][\u0027id\u0027])"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def _create_setup(self):"},{"line_number":51,"context_line":"        self.admin_client \u003d self.os_admin.network_client"},{"line_number":52,"context_line":"        net_kwargs \u003d {\u0027tenant_id\u0027: self.client.tenant_id}"},{"line_number":53,"context_line":"        for sub, net_type in ("}],"source_content_type":"text/x-python","patch_set":6,"id":"9f436f4f_a9be8cd1","line":50,"in_reply_to":"df3967d1_7c85a459","updated":"2017-08-22 05:53:02.000000000","message":"Done","commit_id":"c661a3096a2a8f5530ce1622c99d591aa9fba53a"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"9286c974e9245108ea825ca0d2a5c7f2f3f46aef","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    @classmethod"},{"line_number":36,"context_line":"    def skip_checks(cls):"},{"line_number":37,"context_line":"        super(NetworkMtuBaseTest, cls).skip_checks()"},{"line_number":38,"context_line":"        if (\"vxlan\" and \"gre\" not in"},{"line_number":39,"context_line":"                config.CONF.neutron_plugin_options.available_type_drivers):"},{"line_number":40,"context_line":"            raise cls.skipException(\"GRE or VXLAN type_driver is not enabled\")"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":9,"id":"7f287b81_7ce65beb","line":39,"range":{"start_line":38,"start_character":12,"end_line":39,"end_character":73},"updated":"2017-08-22 19:33:13.000000000","message":"should be:\n\n\u0027vxlan\u0027 in ... and \u0027gre\u0027 in ...\n\notherwise you only check that \u0027gre\u0027 is in the list, and \u0027vxlan\u0027 is always True in boolean context.","commit_id":"607d5ebf9365325942a68e4e4a8df99fb22efbfc"},{"author":{"_account_id":21302,"name":"Gena","email":"gcheresh@redhat.com","username":"gcheresh"},"change_message_id":"702d12f15710ce6cf16c2abfb33e8609f0e61eb5","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    @classmethod"},{"line_number":36,"context_line":"    def skip_checks(cls):"},{"line_number":37,"context_line":"        super(NetworkMtuBaseTest, cls).skip_checks()"},{"line_number":38,"context_line":"        if (\"vxlan\" and \"gre\" not in"},{"line_number":39,"context_line":"                config.CONF.neutron_plugin_options.available_type_drivers):"},{"line_number":40,"context_line":"            raise cls.skipException(\"GRE or VXLAN type_driver is not enabled\")"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":9,"id":"7f287b81_a398e51a","line":39,"range":{"start_line":38,"start_character":12,"end_line":39,"end_character":73},"in_reply_to":"7f287b81_7ce65beb","updated":"2017-08-24 12:30:27.000000000","message":"Done","commit_id":"607d5ebf9365325942a68e4e4a8df99fb22efbfc"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"9a8dbaf8e671e8dcc6701350c130a03a24273fc3","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        super(NetworkMtuBaseTest, cls).skip_checks()"},{"line_number":38,"context_line":"        if (\"vxlan\" not in"},{"line_number":39,"context_line":"                config.CONF.neutron_plugin_options.available_type_drivers"},{"line_number":40,"context_line":"            and \"gre\" not in"},{"line_number":41,"context_line":"                config.CONF.neutron_plugin_options.available_type_drivers):"},{"line_number":42,"context_line":"            raise cls.skipException(\"GRE or VXLAN type_driver is not enabled\")"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"7f515b1d_c6c45743","line":40,"range":{"start_line":40,"start_character":12,"end_line":40,"end_character":15},"updated":"2017-09-22 02:40:14.000000000","message":"or","commit_id":"d9c22253b4035095448a5cbdcca16425a0d50980"}]}
