)]}'
{"neutron_tempest_plugin/scenario/test_vrrp.py":[{"author":{"_account_id":13995,"name":"Nate Johnston","email":"nate.johnston@redhat.com","username":"natejohnston"},"change_message_id":"ac825ee36c36077f03c27123b79f276e09da0eaa","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from neutron_tempest_plugin.scenario import base"},{"line_number":30,"context_line":"from neutron_tempest_plugin.scenario import constants as plugin_constants"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"CONF \u003d config.CONF"},{"line_number":33,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def get_keepalived_config(interface, vip_ip):"},{"line_number":37,"context_line":"    return \"\"\"vrrp_instance VIP_1 {"},{"line_number":38,"context_line":"state MASTER"},{"line_number":39,"context_line":"interface %s"},{"line_number":40,"context_line":"virtual_router_id 51"},{"line_number":41,"context_line":"priority 150"},{"line_number":42,"context_line":"advert_int 1"},{"line_number":43,"context_line":"authentication {"},{"line_number":44,"context_line":"  auth_type PASS"},{"line_number":45,"context_line":"  auth_pass secretpass"},{"line_number":46,"context_line":"  }"},{"line_number":47,"context_line":"virtual_ipaddress {"},{"line_number":48,"context_line":"  %s"},{"line_number":49,"context_line":"  }"},{"line_number":50,"context_line":"}"},{"line_number":51,"context_line":"\"\"\" % (interface, vip_ip)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"class VrrpTest(base.BaseTempestTestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_8cd36760","line":51,"range":{"start_line":32,"start_character":0,"end_line":51,"end_character":25},"updated":"2020-03-04 20:25:28.000000000","message":"nit: When I have these kinds of situations, I tend to define the docstring outside the function - where breaking indentations seems less jarring to the pythonic eye - and then just call it within the function.  Like so:\n\n    keepalived_config_template \u003d \"\"\"vrrp_instance VIP_1 {\n    state MASTER\n    interface %s\n    virtual_router_id 51\n    priority 150\n    advert_int 1\n    authentication {\n      auth_type PASS\n      auth_pass secretpass\n      }\n    virtual_ipaddress {\n      %s\n      }\n    }\n    \"\"\"\n\n    def get_keepalived_config(interface, vip_ip):\n        return keepalived_config_template % (interface, vip_ip)","commit_id":"ef7aae5585fbd8e2aef0291b5686b0c36741514d"},{"author":{"_account_id":29350,"name":"Roman Safronov","email":"rsafrono@redhat.com","username":"rsafrono"},"change_message_id":"120b3be2c0ea6ec2578492c9cf861fd5e2db3222","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from neutron_tempest_plugin.scenario import base"},{"line_number":30,"context_line":"from neutron_tempest_plugin.scenario import constants as plugin_constants"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"CONF \u003d config.CONF"},{"line_number":33,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def get_keepalived_config(interface, vip_ip):"},{"line_number":37,"context_line":"    return \"\"\"vrrp_instance VIP_1 {"},{"line_number":38,"context_line":"state MASTER"},{"line_number":39,"context_line":"interface %s"},{"line_number":40,"context_line":"virtual_router_id 51"},{"line_number":41,"context_line":"priority 150"},{"line_number":42,"context_line":"advert_int 1"},{"line_number":43,"context_line":"authentication {"},{"line_number":44,"context_line":"  auth_type PASS"},{"line_number":45,"context_line":"  auth_pass secretpass"},{"line_number":46,"context_line":"  }"},{"line_number":47,"context_line":"virtual_ipaddress {"},{"line_number":48,"context_line":"  %s"},{"line_number":49,"context_line":"  }"},{"line_number":50,"context_line":"}"},{"line_number":51,"context_line":"\"\"\" % (interface, vip_ip)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"class VrrpTest(base.BaseTempestTestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_8041b5ab","line":51,"range":{"start_line":32,"start_character":0,"end_line":51,"end_character":25},"in_reply_to":"1fa4df85_367fefe0","updated":"2020-03-09 13:01:32.000000000","message":"Done","commit_id":"ef7aae5585fbd8e2aef0291b5686b0c36741514d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"7771ec650d25dc9e441e5f6280cd8853c21317d5","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from neutron_tempest_plugin.scenario import base"},{"line_number":30,"context_line":"from neutron_tempest_plugin.scenario import constants as plugin_constants"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"CONF \u003d config.CONF"},{"line_number":33,"context_line":"LOG \u003d log.getLogger(__name__)"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"def get_keepalived_config(interface, vip_ip):"},{"line_number":37,"context_line":"    return \"\"\"vrrp_instance VIP_1 {"},{"line_number":38,"context_line":"state MASTER"},{"line_number":39,"context_line":"interface %s"},{"line_number":40,"context_line":"virtual_router_id 51"},{"line_number":41,"context_line":"priority 150"},{"line_number":42,"context_line":"advert_int 1"},{"line_number":43,"context_line":"authentication {"},{"line_number":44,"context_line":"  auth_type PASS"},{"line_number":45,"context_line":"  auth_pass secretpass"},{"line_number":46,"context_line":"  }"},{"line_number":47,"context_line":"virtual_ipaddress {"},{"line_number":48,"context_line":"  %s"},{"line_number":49,"context_line":"  }"},{"line_number":50,"context_line":"}"},{"line_number":51,"context_line":"\"\"\" % (interface, vip_ip)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"class VrrpTest(base.BaseTempestTestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_367fefe0","line":51,"range":{"start_line":32,"start_character":0,"end_line":51,"end_character":25},"in_reply_to":"1fa4df85_8cd36760","updated":"2020-03-08 16:57:48.000000000","message":"+1","commit_id":"ef7aae5585fbd8e2aef0291b5686b0c36741514d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"7771ec650d25dc9e441e5f6280cd8853c21317d5","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        ssh_client.exec_command(\"sudo yum install keepalived -y || \""},{"line_number":96,"context_line":"                                \"sudo apt install keepalived -y || true\")"},{"line_number":97,"context_line":"        try:"},{"line_number":98,"context_line":"            ssh_client.execute_script(\u0027sudo which keepalived\u0027)"},{"line_number":99,"context_line":"        except exceptions.SSHScriptFailed:"},{"line_number":100,"context_line":"            raise self.skipException("},{"line_number":101,"context_line":"                \"keepalived is not available on server %s\" % (server_id))"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_f684f7d4","line":98,"range":{"start_line":98,"start_character":39,"end_line":98,"end_character":43},"updated":"2020-03-08 16:57:48.000000000","message":"nit: is this sudo necessary here?","commit_id":"ef7aae5585fbd8e2aef0291b5686b0c36741514d"},{"author":{"_account_id":29350,"name":"Roman Safronov","email":"rsafrono@redhat.com","username":"rsafrono"},"change_message_id":"120b3be2c0ea6ec2578492c9cf861fd5e2db3222","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        ssh_client.exec_command(\"sudo yum install keepalived -y || \""},{"line_number":96,"context_line":"                                \"sudo apt install keepalived -y || true\")"},{"line_number":97,"context_line":"        try:"},{"line_number":98,"context_line":"            ssh_client.execute_script(\u0027sudo which keepalived\u0027)"},{"line_number":99,"context_line":"        except exceptions.SSHScriptFailed:"},{"line_number":100,"context_line":"            raise self.skipException("},{"line_number":101,"context_line":"                \"keepalived is not available on server %s\" % (server_id))"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_c00c8d95","line":98,"range":{"start_line":98,"start_character":39,"end_line":98,"end_character":43},"in_reply_to":"1fa4df85_f684f7d4","updated":"2020-03-09 13:01:32.000000000","message":"Done","commit_id":"ef7aae5585fbd8e2aef0291b5686b0c36741514d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"7771ec650d25dc9e441e5f6280cd8853c21317d5","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        config_text \u003d get_keepalived_config(interface, vip_ip)"},{"line_number":105,"context_line":"        config_file \u003d \u0027keepalived.conf\u0027"},{"line_number":106,"context_line":"        ssh_client.execute_script("},{"line_number":107,"context_line":"            \u0027echo \"{0}\" \u003e /tmp/{1};sudo mv \u0027"},{"line_number":108,"context_line":"            \u0027/tmp/{1} /etc/keepalived/\u0027.format(config_text, config_file))"},{"line_number":109,"context_line":"        ssh_client.exec_command(\"sudo systemctl restart keepalived\")"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_5675cbf8","line":107,"range":{"start_line":107,"start_character":35,"end_line":107,"end_character":42},"updated":"2020-03-08 16:57:48.000000000","message":"nit: for better readability I would move this to the line below","commit_id":"ef7aae5585fbd8e2aef0291b5686b0c36741514d"},{"author":{"_account_id":29350,"name":"Roman Safronov","email":"rsafrono@redhat.com","username":"rsafrono"},"change_message_id":"120b3be2c0ea6ec2578492c9cf861fd5e2db3222","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        config_text \u003d get_keepalived_config(interface, vip_ip)"},{"line_number":105,"context_line":"        config_file \u003d \u0027keepalived.conf\u0027"},{"line_number":106,"context_line":"        ssh_client.execute_script("},{"line_number":107,"context_line":"            \u0027echo \"{0}\" \u003e /tmp/{1};sudo mv \u0027"},{"line_number":108,"context_line":"            \u0027/tmp/{1} /etc/keepalived/\u0027.format(config_text, config_file))"},{"line_number":109,"context_line":"        ssh_client.exec_command(\"sudo systemctl restart keepalived\")"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_40209df7","line":107,"range":{"start_line":107,"start_character":35,"end_line":107,"end_character":42},"in_reply_to":"1fa4df85_5675cbf8","updated":"2020-03-09 13:01:32.000000000","message":"Done","commit_id":"ef7aae5585fbd8e2aef0291b5686b0c36741514d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"7771ec650d25dc9e441e5f6280cd8853c21317d5","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        - Kill active VM"},{"line_number":139,"context_line":"        - Test traffic to virtual IP. Traffic should now flow to the second VM"},{"line_number":140,"context_line":"        \"\"\""},{"line_number":141,"context_line":"        self.network \u003d self.create_network()"},{"line_number":142,"context_line":"        subnet \u003d self.create_subnet(self.network, cidr\u003d\"192.168.100.0/24\")"},{"line_number":143,"context_line":"        router \u003d self.create_router_by_client()"},{"line_number":144,"context_line":"        self.create_router_interface(router[\u0027id\u0027], subnet[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_f65dd778","line":141,"range":{"start_line":141,"start_character":8,"end_line":141,"end_character":12},"updated":"2020-03-08 16:57:48.000000000","message":"why \"network\" is class\u0027 parameter and e.g. subnet or router aren\u0027t?","commit_id":"ef7aae5585fbd8e2aef0291b5686b0c36741514d"},{"author":{"_account_id":29350,"name":"Roman Safronov","email":"rsafrono@redhat.com","username":"rsafrono"},"change_message_id":"120b3be2c0ea6ec2578492c9cf861fd5e2db3222","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        - Kill active VM"},{"line_number":139,"context_line":"        - Test traffic to virtual IP. Traffic should now flow to the second VM"},{"line_number":140,"context_line":"        \"\"\""},{"line_number":141,"context_line":"        self.network \u003d self.create_network()"},{"line_number":142,"context_line":"        subnet \u003d self.create_subnet(self.network, cidr\u003d\"192.168.100.0/24\")"},{"line_number":143,"context_line":"        router \u003d self.create_router_by_client()"},{"line_number":144,"context_line":"        self.create_router_interface(router[\u0027id\u0027], subnet[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_c081edc4","line":141,"range":{"start_line":141,"start_character":8,"end_line":141,"end_character":12},"in_reply_to":"1fa4df85_f65dd778","updated":"2020-03-09 13:01:32.000000000","message":"Done","commit_id":"ef7aae5585fbd8e2aef0291b5686b0c36741514d"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"7771ec650d25dc9e441e5f6280cd8853c21317d5","unresolved":false,"context_lines":[{"line_number":158,"context_line":"            ports[key][\u0027fip\u0027] \u003d self.create_floatingip("},{"line_number":159,"context_line":"                port\u003dports[key][\u0027port\u0027])"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        self.vms \u003d []"},{"line_number":162,"context_line":"        vm1 \u003d self._create_server(port\u003dports[\u0027vm1\u0027][\u0027port\u0027], name\u003d\u0027vm1\u0027)"},{"line_number":163,"context_line":"        vm2 \u003d self._create_server("},{"line_number":164,"context_line":"            port\u003dports[\u0027vm2\u0027][\u0027port\u0027], name\u003d\u0027vm2\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_b653df6a","line":161,"range":{"start_line":161,"start_character":8,"end_line":161,"end_character":12},"updated":"2020-03-08 16:57:48.000000000","message":"same question here, why it can\u0027t be local variable? and also that name can be confusing with the local variable \"vms\" created in L151","commit_id":"ef7aae5585fbd8e2aef0291b5686b0c36741514d"},{"author":{"_account_id":29350,"name":"Roman Safronov","email":"rsafrono@redhat.com","username":"rsafrono"},"change_message_id":"120b3be2c0ea6ec2578492c9cf861fd5e2db3222","unresolved":false,"context_lines":[{"line_number":158,"context_line":"            ports[key][\u0027fip\u0027] \u003d self.create_floatingip("},{"line_number":159,"context_line":"                port\u003dports[key][\u0027port\u0027])"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"        self.vms \u003d []"},{"line_number":162,"context_line":"        vm1 \u003d self._create_server(port\u003dports[\u0027vm1\u0027][\u0027port\u0027], name\u003d\u0027vm1\u0027)"},{"line_number":163,"context_line":"        vm2 \u003d self._create_server("},{"line_number":164,"context_line":"            port\u003dports[\u0027vm2\u0027][\u0027port\u0027], name\u003d\u0027vm2\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_806f7529","line":161,"range":{"start_line":161,"start_character":8,"end_line":161,"end_character":12},"in_reply_to":"1fa4df85_b653df6a","updated":"2020-03-09 13:01:32.000000000","message":"Done","commit_id":"ef7aae5585fbd8e2aef0291b5686b0c36741514d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"08687cff7887a6c8a1af028981ac6e6534883d9b","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                                       protocol\u003dconstants.PROTO_NAME_VRRP,"},{"line_number":73,"context_line":"                                       direction\u003dconstants.INGRESS_DIRECTION)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def _create_server(self, port, name\u003dNone, scheduler_hints\u003dNone):"},{"line_number":76,"context_line":"        if not name:"},{"line_number":77,"context_line":"            name \u003d data_utils.rand_name(\u0027vm\u0027)"},{"line_number":78,"context_line":"        params \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_5ecb2c49","line":75,"updated":"2020-03-16 19:13:12.000000000","message":"Why don\u0027t you modify BaseTempestTestCase.create_server to handle the casuistry of forcing a different host?\n\nWe have re-implemented this method in neutron-tempest-plugin several times.","commit_id":"c2f208f56ee6ba528c73b3672d66117e4b7dece3"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"08687cff7887a6c8a1af028981ac6e6534883d9b","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        return server_details[\u0027server\u0027][\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def _install_keepalived_on_server(self, ssh_client, server_id):"},{"line_number":97,"context_line":"        ssh_client.exec_command(\"sudo yum install keepalived -y || \""},{"line_number":98,"context_line":"                                \"sudo apt install keepalived -y || true\")"},{"line_number":99,"context_line":"        try:"},{"line_number":100,"context_line":"            ssh_client.execute_script(\u0027which keepalived\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_de7b9cf1","line":97,"range":{"start_line":97,"start_character":34,"end_line":97,"end_character":66},"updated":"2020-03-16 19:13:12.000000000","message":"I don\u0027t think we can do this. Can you ask Ghanshyam Mann or any other tempest core if this is possible?","commit_id":"c2f208f56ee6ba528c73b3672d66117e4b7dece3"},{"author":{"_account_id":29350,"name":"Roman Safronov","email":"rsafrono@redhat.com","username":"rsafrono"},"change_message_id":"56c91b407d1c81be28b7c027a1888d119fae0d74","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        return server_details[\u0027server\u0027][\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def _install_keepalived_on_server(self, ssh_client, server_id):"},{"line_number":97,"context_line":"        ssh_client.exec_command(\"sudo yum install keepalived -y || \""},{"line_number":98,"context_line":"                                \"sudo apt install keepalived -y || true\")"},{"line_number":99,"context_line":"        try:"},{"line_number":100,"context_line":"            ssh_client.execute_script(\u0027which keepalived\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_f9c8f274","line":97,"range":{"start_line":97,"start_character":34,"end_line":97,"end_character":66},"in_reply_to":"1fa4df85_de7b9cf1","updated":"2021-04-27 07:04:26.000000000","message":"I received twice +2 from Nate and Slawek on previous patch sets where this code was used so supposed that this is OK. And the code works fine in downstream CI, tried with rhel8 and same ubuntu 16.04 image as in upstream.","commit_id":"c2f208f56ee6ba528c73b3672d66117e4b7dece3"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"38d96067f040a4c6ca825b9db9a342fb715d11dc","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        return server_details[\u0027server\u0027][\u0027OS-EXT-SRV-ATTR:host\u0027]"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def _install_keepalived_on_server(self, ssh_client, server_id):"},{"line_number":97,"context_line":"        ssh_client.exec_command(\"sudo yum install keepalived -y || \""},{"line_number":98,"context_line":"                                \"sudo apt install keepalived -y || true\")"},{"line_number":99,"context_line":"        try:"},{"line_number":100,"context_line":"            ssh_client.execute_script(\u0027which keepalived\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"b141d4e8_4bd618ff","line":97,"range":{"start_line":97,"start_character":34,"end_line":97,"end_character":66},"in_reply_to":"1fa4df85_de7b9cf1","updated":"2020-11-23 11:23:16.000000000","message":"Maybe we should simply skip this test if used image don\u0027t have keepalived installed and not install it during every test run.","commit_id":"c2f208f56ee6ba528c73b3672d66117e4b7dece3"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"08687cff7887a6c8a1af028981ac6e6534883d9b","unresolved":false,"context_lines":[{"line_number":171,"context_line":"        vm2 \u003d self._create_server("},{"line_number":172,"context_line":"            port\u003dports[\u0027vm2\u0027][\u0027port\u0027], name\u003d\u0027vm2\u0027,"},{"line_number":173,"context_line":"            scheduler_hints\u003d{\u0027different_host\u0027: vm1[\u0027server\u0027][\u0027id\u0027]})"},{"line_number":174,"context_line":"        vms \u003d [vm1, vm2]"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"        if (self._get_vm_host(vm1[\u0027server\u0027][\u0027id\u0027]) \u003d\u003d"},{"line_number":177,"context_line":"                self._get_vm_host(vm2[\u0027server\u0027][\u0027id\u0027])):"}],"source_content_type":"text/x-python","patch_set":3,"id":"1fa4df85_9e02046f","line":174,"updated":"2020-03-16 19:13:12.000000000","message":"You should also add a cleanup for those VMs (if you use BaseTempestTestCase.create_server, the cleanups are already implemented.","commit_id":"c2f208f56ee6ba528c73b3672d66117e4b7dece3"}],"zuul.d/train_jobs.yaml":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"d801fd300169fa56f9c66f4d38cadf24f59796a9","unresolved":true,"context_lines":[{"line_number":128,"context_line":"      network_available_features: *available_features"},{"line_number":129,"context_line":"      devstack_localrc:"},{"line_number":130,"context_line":"        NETWORK_API_EXTENSIONS: \"{{ network_api_extensions | join(\u0027,\u0027) }}\""},{"line_number":131,"context_line":"        CUSTOMIZE_IMAGE: False"},{"line_number":132,"context_line":"      devstack_local_conf:"},{"line_number":133,"context_line":"        post-config:"},{"line_number":134,"context_line":"          $NEUTRON_L3_CONF:"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"eb727c1d_c1dc8f36","line":131,"range":{"start_line":131,"start_character":8,"end_line":131,"end_character":23},"updated":"2021-06-01 04:48:41.000000000","message":"Don\u0027t You skip image customization accidentally here? If I understand well this is for skipping the vrrp test, am I right?","commit_id":"c353c39c79e7f3e6801e2dd8cc00b23ead919612"},{"author":{"_account_id":29350,"name":"Roman Safronov","email":"rsafrono@redhat.com","username":"rsafrono"},"change_message_id":"66d3ee39d415a072b585998841dde9f7f0d8ecbf","unresolved":true,"context_lines":[{"line_number":128,"context_line":"      network_available_features: *available_features"},{"line_number":129,"context_line":"      devstack_localrc:"},{"line_number":130,"context_line":"        NETWORK_API_EXTENSIONS: \"{{ network_api_extensions | join(\u0027,\u0027) }}\""},{"line_number":131,"context_line":"        CUSTOMIZE_IMAGE: False"},{"line_number":132,"context_line":"      devstack_local_conf:"},{"line_number":133,"context_line":"        post-config:"},{"line_number":134,"context_line":"          $NEUTRON_L3_CONF:"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"d227e3e3_c57d83bb","line":131,"range":{"start_line":131,"start_character":8,"end_line":131,"end_character":23},"in_reply_to":"52145b6e_0a9bbdb2","updated":"2021-07-04 09:18:17.000000000","message":"Small correction, patchset 12 enabled image customization for all jobs but as appeared from stable/victoria and older there are issues with it, that\u0027s why I left it enabled only on wallaby and latest.","commit_id":"c353c39c79e7f3e6801e2dd8cc00b23ead919612"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"7c371596067cb99db0147d5df3bbab291d3be510","unresolved":false,"context_lines":[{"line_number":128,"context_line":"      network_available_features: *available_features"},{"line_number":129,"context_line":"      devstack_localrc:"},{"line_number":130,"context_line":"        NETWORK_API_EXTENSIONS: \"{{ network_api_extensions | join(\u0027,\u0027) }}\""},{"line_number":131,"context_line":"        CUSTOMIZE_IMAGE: False"},{"line_number":132,"context_line":"      devstack_local_conf:"},{"line_number":133,"context_line":"        post-config:"},{"line_number":134,"context_line":"          $NEUTRON_L3_CONF:"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"fd84dfe2_09de3ca1","line":131,"range":{"start_line":131,"start_character":8,"end_line":131,"end_character":23},"in_reply_to":"d227e3e3_c57d83bb","updated":"2021-07-06 09:29:52.000000000","message":"Ack\nThanks for the explanation","commit_id":"c353c39c79e7f3e6801e2dd8cc00b23ead919612"},{"author":{"_account_id":29350,"name":"Roman Safronov","email":"rsafrono@redhat.com","username":"rsafrono"},"change_message_id":"42a4380fcbd5a477cd2496b2ebd42a7fc37ec70a","unresolved":true,"context_lines":[{"line_number":128,"context_line":"      network_available_features: *available_features"},{"line_number":129,"context_line":"      devstack_localrc:"},{"line_number":130,"context_line":"        NETWORK_API_EXTENSIONS: \"{{ network_api_extensions | join(\u0027,\u0027) }}\""},{"line_number":131,"context_line":"        CUSTOMIZE_IMAGE: False"},{"line_number":132,"context_line":"      devstack_local_conf:"},{"line_number":133,"context_line":"        post-config:"},{"line_number":134,"context_line":"          $NEUTRON_L3_CONF:"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"52145b6e_0a9bbdb2","line":131,"range":{"start_line":131,"start_character":8,"end_line":131,"end_character":23},"in_reply_to":"eb727c1d_c1dc8f36","updated":"2021-07-04 08:54:51.000000000","message":"No, it\u0027s not accidentally. I have to disable image customization in stable/train (and older) because the customization did not work due to some incompatibility (IIRC there were libvirt broken dependencies). This could be seen in logs after I uploaded the previous patch set. Unfortunately, for some reason can\u0027t open the logs now.","commit_id":"c353c39c79e7f3e6801e2dd8cc00b23ead919612"}]}
