)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"dae0b076c5aa7a55d8ab46d95455f7faf01c6fa5","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":" - Documentation"},{"line_number":13,"context_line":" - more tests that will ensure George can run in parallel"},{"line_number":14,"context_line":" - use fullstack tests in George"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"At this point, the job is added to the Experimental queue, even though"},{"line_number":17,"context_line":"I\u0027m confident the framework is stable, I don\u0027t see a value in running it"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"9f560f44_ca3666e8","line":14,"range":{"start_line":14,"start_character":3,"end_line":14,"end_character":32},"updated":"2020-08-12 08:58:23.000000000","message":"Do I understand well that you plan to run fullstack tests with this framework, in containers? Sounds good, but the debugging can be much more difficult as I see it now","commit_id":"62a5efa214e7bfef7862d44ac0c8c7afa5914c1c"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"a9f042b0e57f0101aa5e08b089bce1e8c71d3445","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":" - Documentation"},{"line_number":13,"context_line":" - more tests that will ensure George can run in parallel"},{"line_number":14,"context_line":" - use fullstack tests in George"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"At this point, the job is added to the Experimental queue, even though"},{"line_number":17,"context_line":"I\u0027m confident the framework is stable, I don\u0027t see a value in running it"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"9f560f44_d456d206","line":14,"range":{"start_line":14,"start_character":3,"end_line":14,"end_character":32},"in_reply_to":"9f560f44_ca3666e8","updated":"2020-08-17 14:08:16.000000000","message":"It\u0027s an idea that fullstack uses bunch of utilities that likely work with this framework too. My thought was that we can copy a few fullstack tests under george with a minimum burden.","commit_id":"62a5efa214e7bfef7862d44ac0c8c7afa5914c1c"}],"neutron/tests/contrib/george/build_container_images.sh":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f33b0d0e299605c358b632383a7a57962a5fb56c","unresolved":false,"context_lines":[{"line_number":9,"context_line":"BUILD_IMAGE_ERROR\u003d1"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"function build_image() {"},{"line_number":13,"context_line":"    local container_name\u003d$1"},{"line_number":14,"context_line":"    local Dockerfile\u003d$2"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-sh","patch_set":20,"id":"bf51134e_634e3497","line":12,"updated":"2020-07-03 18:33:36.000000000","message":"pep8: E020 Function declaration not in format ^function name {$","commit_id":"af5c5782a2b5132b33512f53a023dec268a95ca3"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f33b0d0e299605c358b632383a7a57962a5fb56c","unresolved":false,"context_lines":[{"line_number":21,"context_line":"}"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"function main() {"},{"line_number":25,"context_line":"    pushd $CONTRIB_DIR"},{"line_number":26,"context_line":"    for Dockerfile in $(ls containers/*/*$DOCKERFILE_SUFFIX); do"},{"line_number":27,"context_line":"        echo \"Building an image from file $Dockerfile\""}],"source_content_type":"text/x-sh","patch_set":20,"id":"bf51134e_c3458072","line":24,"updated":"2020-07-03 18:33:36.000000000","message":"pep8: E020 Function declaration not in format ^function name {$","commit_id":"af5c5782a2b5132b33512f53a023dec268a95ca3"}],"neutron/tests/contrib/george/containers/neutron-ovn-controller/neutron-ovn-controller.Dockerfile":[{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"99e3c9d2278b03b7b98dba91d579f78bb88da362","unresolved":false,"context_lines":[{"line_number":1,"context_line":"FROM registry.centos.org/centos/centos:centos8"},{"line_number":2,"context_line":"ARG RDO_REPO\u003dhttps://trunk.rdoproject.org/centos8-master/current/delorean.repo"},{"line_number":3,"context_line":"RUN yum install -y epel-release wget centos-release-openstack-ussuri \u0026\u0026 \\"},{"line_number":4,"context_line":"    wget $RDO_REPO -O /etc/yum.repos.d/delorean.repo \u0026\u0026 \\"},{"line_number":5,"context_line":"    yum install -y bash openvswitch"},{"line_number":6,"context_line":"RUN yum install -y autoconf automake libtool gcc patch make git openssl-devel python3 python3-devel python3-pip"}],"source_content_type":"text/x-dockerfile","patch_set":22,"id":"9f560f44_598751b6","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":7},"updated":"2020-08-03 17:57:06.000000000","message":"NIT: since this is c8, maybe use dnf instead of yum?","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"facf2e8ec684e2b9c8938351fbcb5c5c2d6ee832","unresolved":false,"context_lines":[{"line_number":1,"context_line":"FROM registry.centos.org/centos/centos:centos8"},{"line_number":2,"context_line":"ARG RDO_REPO\u003dhttps://trunk.rdoproject.org/centos8-master/current/delorean.repo"},{"line_number":3,"context_line":"RUN yum install -y epel-release wget centos-release-openstack-ussuri \u0026\u0026 \\"},{"line_number":4,"context_line":"    wget $RDO_REPO -O /etc/yum.repos.d/delorean.repo \u0026\u0026 \\"},{"line_number":5,"context_line":"    yum install -y bash openvswitch"},{"line_number":6,"context_line":"RUN yum install -y autoconf automake libtool gcc patch make git openssl-devel python3 python3-devel python3-pip"}],"source_content_type":"text/x-dockerfile","patch_set":22,"id":"9f560f44_f9e886e2","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":7},"in_reply_to":"9f560f44_598751b6","updated":"2020-08-10 08:37:06.000000000","message":"Done","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"99e3c9d2278b03b7b98dba91d579f78bb88da362","unresolved":false,"context_lines":[{"line_number":2,"context_line":"ARG RDO_REPO\u003dhttps://trunk.rdoproject.org/centos8-master/current/delorean.repo"},{"line_number":3,"context_line":"RUN yum install -y epel-release wget centos-release-openstack-ussuri \u0026\u0026 \\"},{"line_number":4,"context_line":"    wget $RDO_REPO -O /etc/yum.repos.d/delorean.repo \u0026\u0026 \\"},{"line_number":5,"context_line":"    yum install -y bash openvswitch"},{"line_number":6,"context_line":"RUN yum install -y autoconf automake libtool gcc patch make git openssl-devel python3 python3-devel python3-pip"},{"line_number":7,"context_line":"RUN git clone https://github.com/openvswitch/ovs.git"},{"line_number":8,"context_line":"RUN cd ovs \u0026\u0026 ./boot.sh \u0026\u0026 ./configure --prefix\u003d/usr --localstatedir\u003d/var \u0026\u0026 make -j 4"}],"source_content_type":"text/x-dockerfile","patch_set":22,"id":"9f560f44_19bb1972","line":5,"range":{"start_line":5,"start_character":24,"end_line":5,"end_character":35},"updated":"2020-08-03 17:57:06.000000000","message":"question: do we need to install ovs, or are we building it?","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"facf2e8ec684e2b9c8938351fbcb5c5c2d6ee832","unresolved":false,"context_lines":[{"line_number":2,"context_line":"ARG RDO_REPO\u003dhttps://trunk.rdoproject.org/centos8-master/current/delorean.repo"},{"line_number":3,"context_line":"RUN yum install -y epel-release wget centos-release-openstack-ussuri \u0026\u0026 \\"},{"line_number":4,"context_line":"    wget $RDO_REPO -O /etc/yum.repos.d/delorean.repo \u0026\u0026 \\"},{"line_number":5,"context_line":"    yum install -y bash openvswitch"},{"line_number":6,"context_line":"RUN yum install -y autoconf automake libtool gcc patch make git openssl-devel python3 python3-devel python3-pip"},{"line_number":7,"context_line":"RUN git clone https://github.com/openvswitch/ovs.git"},{"line_number":8,"context_line":"RUN cd ovs \u0026\u0026 ./boot.sh \u0026\u0026 ./configure --prefix\u003d/usr --localstatedir\u003d/var \u0026\u0026 make -j 4"}],"source_content_type":"text/x-dockerfile","patch_set":22,"id":"9f560f44_19ea9ad6","line":5,"range":{"start_line":5,"start_character":24,"end_line":5,"end_character":35},"in_reply_to":"9f560f44_19bb1972","updated":"2020-08-10 08:37:06.000000000","message":"It\u0027s just to install dependencies, it will be overwritten by compilation.","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"99e3c9d2278b03b7b98dba91d579f78bb88da362","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    yum install -y bash openvswitch"},{"line_number":6,"context_line":"RUN yum install -y autoconf automake libtool gcc patch make git openssl-devel python3 python3-devel python3-pip"},{"line_number":7,"context_line":"RUN git clone https://github.com/openvswitch/ovs.git"},{"line_number":8,"context_line":"RUN cd ovs \u0026\u0026 ./boot.sh \u0026\u0026 ./configure --prefix\u003d/usr --localstatedir\u003d/var \u0026\u0026 make -j 4"},{"line_number":9,"context_line":"RUN git clone https://github.com/ovn-org/ovn.git"},{"line_number":10,"context_line":"RUN cd ovn \u0026\u0026 ./boot.sh \u0026\u0026 ./configure --prefix\u003d/usr --localstatedir\u003d/var --with-ovs-source\u003d/ovs \u0026\u0026 make -j 4 \u0026\u0026 make install"},{"line_number":11,"context_line":"RUN mkdir /var/run/ovn"}],"source_content_type":"text/x-dockerfile","patch_set":22,"id":"9f560f44_d9c401f8","line":8,"range":{"start_line":8,"start_character":85,"end_line":8,"end_character":86},"updated":"2020-08-03 17:57:06.000000000","message":"NIT: use instead of -j 4, maybe\n-j$(($(nproc) + 1))","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"facf2e8ec684e2b9c8938351fbcb5c5c2d6ee832","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    yum install -y bash openvswitch"},{"line_number":6,"context_line":"RUN yum install -y autoconf automake libtool gcc patch make git openssl-devel python3 python3-devel python3-pip"},{"line_number":7,"context_line":"RUN git clone https://github.com/openvswitch/ovs.git"},{"line_number":8,"context_line":"RUN cd ovs \u0026\u0026 ./boot.sh \u0026\u0026 ./configure --prefix\u003d/usr --localstatedir\u003d/var \u0026\u0026 make -j 4"},{"line_number":9,"context_line":"RUN git clone https://github.com/ovn-org/ovn.git"},{"line_number":10,"context_line":"RUN cd ovn \u0026\u0026 ./boot.sh \u0026\u0026 ./configure --prefix\u003d/usr --localstatedir\u003d/var --with-ovs-source\u003d/ovs \u0026\u0026 make -j 4 \u0026\u0026 make install"},{"line_number":11,"context_line":"RUN mkdir /var/run/ovn"}],"source_content_type":"text/x-dockerfile","patch_set":22,"id":"9f560f44_59c1b253","line":8,"range":{"start_line":8,"start_character":85,"end_line":8,"end_character":86},"in_reply_to":"9f560f44_d9c401f8","updated":"2020-08-10 08:37:06.000000000","message":"Done","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"b922b0176ae0daeb5a5112ffffaa4ec3a8cb1699","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    dnf install -y bash openvswitch"},{"line_number":6,"context_line":"RUN dnf install -y autoconf automake libtool gcc patch make git openssl-devel python3 python3-devel python3-pip"},{"line_number":7,"context_line":"RUN git clone https://github.com/openvswitch/ovs.git"},{"line_number":8,"context_line":"RUN cd ovs \u0026\u0026 ./boot.sh \u0026\u0026 ./configure --prefix\u003d/usr --localstatedir\u003d/var \u0026\u0026 make -j 4"},{"line_number":9,"context_line":"RUN git clone https://github.com/ovn-org/ovn.git"},{"line_number":10,"context_line":"RUN cd ovn \u0026\u0026 ./boot.sh \u0026\u0026 ./configure --prefix\u003d/usr --localstatedir\u003d/var --with-ovs-source\u003d/ovs \u0026\u0026 make -j$(($(nproc) + 1)) \u0026\u0026 make install"},{"line_number":11,"context_line":"RUN mkdir /var/run/ovn"}],"source_content_type":"text/x-dockerfile","patch_set":23,"id":"9f560f44_861f2bb6","line":8,"range":{"start_line":8,"start_character":82,"end_line":8,"end_character":86},"updated":"2020-08-31 20:14:54.000000000","message":"NIT: use instead of -j 4, maybe -j$(($(nproc) + 1))\n\nJust like you did in line 10. ;^)","commit_id":"62a5efa214e7bfef7862d44ac0c8c7afa5914c1c"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"2c19ba5b9b7af4e101420b6a811b39c6b87c4b1e","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    dnf install -y bash openvswitch"},{"line_number":6,"context_line":"RUN dnf install -y autoconf automake libtool gcc patch make git openssl-devel python3 python3-devel python3-pip"},{"line_number":7,"context_line":"RUN git clone https://github.com/openvswitch/ovs.git"},{"line_number":8,"context_line":"RUN cd ovs \u0026\u0026 ./boot.sh \u0026\u0026 ./configure --prefix\u003d/usr --localstatedir\u003d/var \u0026\u0026 make -j 4"},{"line_number":9,"context_line":"RUN git clone https://github.com/ovn-org/ovn.git"},{"line_number":10,"context_line":"RUN cd ovn \u0026\u0026 ./boot.sh \u0026\u0026 ./configure --prefix\u003d/usr --localstatedir\u003d/var --with-ovs-source\u003d/ovs \u0026\u0026 make -j$(($(nproc) + 1)) \u0026\u0026 make install"},{"line_number":11,"context_line":"RUN mkdir /var/run/ovn"}],"source_content_type":"text/x-dockerfile","patch_set":23,"id":"9f560f44_3b2a832b","line":8,"range":{"start_line":8,"start_character":82,"end_line":8,"end_character":86},"in_reply_to":"9f560f44_861f2bb6","updated":"2020-09-03 10:09:05.000000000","message":"Whoops, good catch :)","commit_id":"62a5efa214e7bfef7862d44ac0c8c7afa5914c1c"}],"neutron/tests/contrib/george/containers/neutron-ovn-controller/start_services.sh":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"f33b0d0e299605c358b632383a7a57962a5fb56c","unresolved":false,"context_lines":[{"line_number":3,"context_line":"/usr/share/openvswitch/scripts/ovs-ctl start --system-id\u003drandom"},{"line_number":4,"context_line":"#/usr/share/openvswitch/scripts/ovn-ctl start_controller"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"function stop() {"},{"line_number":7,"context_line":"/usr/share/openvswitch/scripts/ovs-ctl stop"},{"line_number":8,"context_line":"killall ovn-controller"},{"line_number":9,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":20,"id":"bf51134e_834b8885","line":6,"updated":"2020-07-03 18:33:36.000000000","message":"pep8: E020 Function declaration not in format ^function name {$","commit_id":"af5c5782a2b5132b33512f53a023dec268a95ca3"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9949be912a586eae364512608a7595f52d702e77","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"/usr/share/openvswitch/scripts/ovs-ctl start --system-id\u003drandom"},{"line_number":4,"context_line":"#/usr/share/openvswitch/scripts/ovn-ctl start_controller"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"function stop {"},{"line_number":7,"context_line":"    /usr/share/openvswitch/scripts/ovs-ctl stop"}],"source_content_type":"text/x-sh","patch_set":23,"id":"9f560f44_430f172d","line":4,"updated":"2020-08-26 08:32:58.000000000","message":"do we need this commented line here?","commit_id":"62a5efa214e7bfef7862d44ac0c8c7afa5914c1c"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f14080fab222cb2a55cfdcc60817d630f82d0fd5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"/usr/share/openvswitch/scripts/ovs-ctl start --system-id\u003drandom"},{"line_number":4,"context_line":"#/usr/share/openvswitch/scripts/ovn-ctl start_controller"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"function stop {"},{"line_number":7,"context_line":"    /usr/share/openvswitch/scripts/ovs-ctl stop"}],"source_content_type":"text/x-sh","patch_set":23,"id":"9f560f44_db9d4767","line":4,"in_reply_to":"9f560f44_430f172d","updated":"2020-09-03 10:16:39.000000000","message":"Done","commit_id":"62a5efa214e7bfef7862d44ac0c8c7afa5914c1c"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"211011d71ab3dea3f62d39e8466073dc080020d1","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"trap stop SIGTERM"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"echo \"Createing ovn log directory\""},{"line_number":13,"context_line":"mkdir /var/log/ovn"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"echo \"Starting OVN controller\""}],"source_content_type":"text/x-sh","patch_set":26,"id":"9f560f44_8c6877f4","line":12,"range":{"start_line":12,"start_character":6,"end_line":12,"end_character":15},"updated":"2020-09-08 16:17:39.000000000","message":"nit: typo Creating","commit_id":"7f385cff273a77326f2465500d81b8fa26afad8d"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"89ce5fd30c21759229bf480ce570bff735a489ec","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"trap stop SIGTERM"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"echo \"Createing ovn log directory\""},{"line_number":13,"context_line":"mkdir /var/log/ovn"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"echo \"Starting OVN controller\""}],"source_content_type":"text/x-sh","patch_set":26,"id":"9f560f44_f55baa50","line":12,"range":{"start_line":12,"start_character":6,"end_line":12,"end_character":15},"in_reply_to":"9f560f44_8c6877f4","updated":"2020-09-09 08:34:11.000000000","message":"Done","commit_id":"7f385cff273a77326f2465500d81b8fa26afad8d"}],"neutron/tests/contrib/george/containers/neutron-server-ovn/neutron-server-ovn.Dockerfile":[{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"211011d71ab3dea3f62d39e8466073dc080020d1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"FROM localhost/neutron-ovn-controller:latest"},{"line_number":2,"context_line":"ADD . /neutron"},{"line_number":3,"context_line":"RUN dnf install -y python3-pip python3-devel gcc git \u0026\u0026 cd /neutron \u0026\u0026 pip3 install . \u0026\u0026 pip3 install pymysql \u0026\u0026 dnf remove -y gcc python3-devel git"},{"line_number":4,"context_line":"COPY neutron/tests/contrib/george/containers/neutron-server-ovn/start_services.sh /usr/bin/."},{"line_number":5,"context_line":"EXPOSE 6641/tcp"},{"line_number":6,"context_line":"EXPOSE 6642/tcp"}],"source_content_type":"text/x-dockerfile","patch_set":26,"id":"9f560f44_8c36b701","line":3,"range":{"start_line":3,"start_character":0,"end_line":3,"end_character":4},"updated":"2020-09-08 16:17:39.000000000","message":"nit: can we break line up with \"\\\" so it is not so long?","commit_id":"7f385cff273a77326f2465500d81b8fa26afad8d"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"89ce5fd30c21759229bf480ce570bff735a489ec","unresolved":false,"context_lines":[{"line_number":1,"context_line":"FROM localhost/neutron-ovn-controller:latest"},{"line_number":2,"context_line":"ADD . /neutron"},{"line_number":3,"context_line":"RUN dnf install -y python3-pip python3-devel gcc git \u0026\u0026 cd /neutron \u0026\u0026 pip3 install . \u0026\u0026 pip3 install pymysql \u0026\u0026 dnf remove -y gcc python3-devel git"},{"line_number":4,"context_line":"COPY neutron/tests/contrib/george/containers/neutron-server-ovn/start_services.sh /usr/bin/."},{"line_number":5,"context_line":"EXPOSE 6641/tcp"},{"line_number":6,"context_line":"EXPOSE 6642/tcp"}],"source_content_type":"text/x-dockerfile","patch_set":26,"id":"9f560f44_155f3e41","line":3,"range":{"start_line":3,"start_character":0,"end_line":3,"end_character":4},"in_reply_to":"9f560f44_8c36b701","updated":"2020-09-09 08:34:11.000000000","message":"I had it that way before and it produced ugly output when building the image. But you\u0027re right maybe it\u0027s more important to have the code readable.","commit_id":"7f385cff273a77326f2465500d81b8fa26afad8d"}],"neutron/tests/george/base.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        n_utils.execute([\u0027podman\u0027, \u0027stop\u0027, \u0027-t\u0027, \u00271\u0027] + container_names,"},{"line_number":66,"context_line":"                        run_as_root\u003dTrue, check_exit_code\u003dFalse)"},{"line_number":67,"context_line":"        LOG.debug(\"Stopping server container %s\", self.server.container.name)"},{"line_number":68,"context_line":"        n_utils.execute([\u0027podman\u0027, \u0027stop\u0027, \u0027-t\u0027, \u002730\u0027, self.server.container.name],"},{"line_number":69,"context_line":"                        run_as_root\u003dTrue, check_exit_code\u003dFalse)"},{"line_number":70,"context_line":"        container_names.append(self.server.container.name)"},{"line_number":71,"context_line":"        LOG.debug(\"Removing containers %s\", container_names)"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_15fc033d","line":68,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: E501 line too long (83 \u003e 79 characters)","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"15f912b8803ff21503e117f23f9fdec9cfe92ab1","unresolved":false,"context_lines":[{"line_number":71,"context_line":"            n_utils.execute([\u0027podman\u0027, \u0027stop\u0027, \u0027-t\u0027, \u00271\u0027] + container_names,"},{"line_number":72,"context_line":"                            run_as_root\u003dTrue, check_exit_code\u003dFalse)"},{"line_number":73,"context_line":"        if self.server:"},{"line_number":74,"context_line":"            LOG.debug(\"Stopping server container %s\", self.server.container.name)"},{"line_number":75,"context_line":"            n_utils.execute([\u0027podman\u0027, \u0027stop\u0027, \u0027-t\u0027, \u002730\u0027,"},{"line_number":76,"context_line":"                            self.server.container.name],"},{"line_number":77,"context_line":"                            run_as_root\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9f560f44_6e79f791","line":74,"updated":"2020-07-29 13:50:00.000000000","message":"pep8: E501 line too long (81 \u003e 79 characters)","commit_id":"6a3733993bd946aa4965f6c1930b568c8fb15fc9"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"99e3c9d2278b03b7b98dba91d579f78bb88da362","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    def wait_until_env_is_up(self):"},{"line_number":122,"context_line":"        n_common_utils.wait_until_true("},{"line_number":123,"context_line":"            self._env_is_ready,"},{"line_number":124,"context_line":"            timeout\u003d60,"},{"line_number":125,"context_line":"            sleep\u003d5,"},{"line_number":126,"context_line":"            exception\u003dEnvironmentException("},{"line_number":127,"context_line":"                \"The environment didn\u0027t come up.\"))"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_7cfa03bd","line":124,"range":{"start_line":124,"start_character":20,"end_line":124,"end_character":22},"updated":"2020-08-03 17:57:06.000000000","message":"question: is 60 enough? thinking scaling....","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"2ebfe16a430abecd615194ceff5da61ee8f3cfd6","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    def wait_until_env_is_up(self):"},{"line_number":122,"context_line":"        n_common_utils.wait_until_true("},{"line_number":123,"context_line":"            self._env_is_ready,"},{"line_number":124,"context_line":"            timeout\u003d60,"},{"line_number":125,"context_line":"            sleep\u003d5,"},{"line_number":126,"context_line":"            exception\u003dEnvironmentException("},{"line_number":127,"context_line":"                \"The environment didn\u0027t come up.\"))"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_46670e4e","line":124,"range":{"start_line":124,"start_character":20,"end_line":124,"end_character":22},"in_reply_to":"9f560f44_39c83e72","updated":"2020-08-10 13:29:03.000000000","message":"Ack. TY","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"facf2e8ec684e2b9c8938351fbcb5c5c2d6ee832","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    def wait_until_env_is_up(self):"},{"line_number":122,"context_line":"        n_common_utils.wait_until_true("},{"line_number":123,"context_line":"            self._env_is_ready,"},{"line_number":124,"context_line":"            timeout\u003d60,"},{"line_number":125,"context_line":"            sleep\u003d5,"},{"line_number":126,"context_line":"            exception\u003dEnvironmentException("},{"line_number":127,"context_line":"                \"The environment didn\u0027t come up.\"))"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_39c83e72","line":124,"range":{"start_line":124,"start_character":20,"end_line":124,"end_character":22},"in_reply_to":"9f560f44_7cfa03bd","updated":"2020-08-10 08:37:06.000000000","message":"So far it was enough when I tested with 200 nodes. The environment is built in parallel manner. However, we can\u0027t run that much on the gate because of memory limitations.","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9949be912a586eae364512608a7595f52d702e77","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            running_agents \u003d len("},{"line_number":132,"context_line":"                self.safe_client.client.list_agents()[\u0027agents\u0027])"},{"line_number":133,"context_line":"            agents_count \u003d len(self.computes)"},{"line_number":134,"context_line":"            return running_agents \u003d\u003d agents_count"},{"line_number":135,"context_line":"        except nc_exc.NeutronClientException:"},{"line_number":136,"context_line":"            return False"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_433d57b9","line":134,"updated":"2020-08-26 08:32:58.000000000","message":"are You sure it\u0027s correct for all cases? In case of e.g. ML2/OVS You may have more agents than compute nodes so this will never return True.\nAlso You are not checking if agents are alive or not. Is that intentional?","commit_id":"62a5efa214e7bfef7862d44ac0c8c7afa5914c1c"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"f14080fab222cb2a55cfdcc60817d630f82d0fd5","unresolved":false,"context_lines":[{"line_number":131,"context_line":"            running_agents \u003d len("},{"line_number":132,"context_line":"                self.safe_client.client.list_agents()[\u0027agents\u0027])"},{"line_number":133,"context_line":"            agents_count \u003d len(self.computes)"},{"line_number":134,"context_line":"            return running_agents \u003d\u003d agents_count"},{"line_number":135,"context_line":"        except nc_exc.NeutronClientException:"},{"line_number":136,"context_line":"            return False"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_dbab8772","line":134,"in_reply_to":"9f560f44_433d57b9","updated":"2020-09-03 10:16:39.000000000","message":"It\u0027s a great point. At this point there are no other agents than OVN controller agents. I just check they are registered which means ovn-controller from the \"node\" connected to the southbound database at the beginning. If you want, I can add liveness check but that would mean ovn-controller disconnected from the southbound database, which in case of a fault can happen anytime, so it\u0027s a question how useful the check here would be.","commit_id":"62a5efa214e7bfef7862d44ac0c8c7afa5914c1c"}],"neutron/tests/george/resources/environment.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import json"},{"line_number":14,"context_line":"import os"},{"line_number":15,"context_line":"import threading"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import fixtures"},{"line_number":18,"context_line":"import netaddr"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_55931b01","line":15,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: F401 \u0027threading\u0027 imported but unused","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from neutron.agent.linux import ip_lib"},{"line_number":24,"context_line":"from neutron.agent.linux import utils as n_utils"},{"line_number":25,"context_line":"from neutron.tests.common import config_fixtures"},{"line_number":26,"context_line":"from neutron.tests.george import base"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_3598271a","line":26,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: F401 \u0027neutron.tests.george.base\u0027 imported but unused","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    def inspect(self):"},{"line_number":95,"context_line":"        if not hasattr(self, \u0027_inspect\u0027):"},{"line_number":96,"context_line":"            cmd \u003d [\u0027podman\u0027, \u0027inspect\u0027, self.name]"},{"line_number":97,"context_line":"            self._inspect \u003d json.loads("},{"line_number":98,"context_line":"                n_utils.execute("},{"line_number":99,"context_line":"                    cmd,"},{"line_number":100,"context_line":"                    run_as_root\u003dTrue))[0]"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_959db30c","line":97,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: N521: jsonutils.loads must be used instead of json.loads","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":167,"context_line":"    def _get_device_ip(self, device_index):"},{"line_number":168,"context_line":"        network \u003d netaddr.IPNetwork("},{"line_number":169,"context_line":"            self.container.ip_wrapper.get_devices("},{"line_number":170,"context_line":"                )[device_index].addr.list()[0][\u0027cidr\u0027])"},{"line_number":171,"context_line":"        return str(network.ip)"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    def collect_logs(self):"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_75a29f4d","line":170,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: E123 closing bracket does not match indentation of opening bracket\u0027s line","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":289,"context_line":"        iface_name \u003d \u0027tap-%s\u0027 % port[\u0027id\u0027][:11]"},{"line_number":290,"context_line":"        # NOTE(jlibosva): ovs-vsctl considers colons to be a separator. When"},{"line_number":291,"context_line":"        #                 putting a mac address, we need to escape all colons"},{"line_number":292,"context_line":"        mac_address \u003d port[\u0027mac_address\u0027].replace(\u0027:\u0027, \u0027\\:\u0027)"},{"line_number":293,"context_line":"        self.container.execute("},{"line_number":294,"context_line":"            [\u0027ovs-vsctl\u0027, \u0027add-port\u0027, \u0027br-int\u0027, iface_name, \u0027--\u0027,"},{"line_number":295,"context_line":"             \u0027set\u0027, \u0027Interface\u0027, iface_name, \u0027type\u003dinternal\u0027, \u0027--\u0027,"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_d5860bbb","line":292,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: W605 invalid escape sequence \u0027\\:\u0027","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"88f7ab99075e7d31b9fb587abb7b8ad5b6bbbe4b","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"class Container(fixtures.Fixture):"},{"line_number":48,"context_line":"    def __init__(self, host, image, networks, debug\u003dFalse):"},{"line_number":49,"context_line":"        self.host \u003d host"},{"line_number":50,"context_line":"        self.image \u003d image"},{"line_number":51,"context_line":"        self.name \u003d \"{:s}-{:s}\".format(image, uuidutils.generate_uuid())"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_05500c5d","line":48,"range":{"start_line":48,"start_character":36,"end_line":48,"end_character":44},"updated":"2020-07-30 10:08:11.000000000","message":"maybe make it networks\u003dNone ?","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"facf2e8ec684e2b9c8938351fbcb5c5c2d6ee832","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"class Container(fixtures.Fixture):"},{"line_number":48,"context_line":"    def __init__(self, host, image, networks, debug\u003dFalse):"},{"line_number":49,"context_line":"        self.host \u003d host"},{"line_number":50,"context_line":"        self.image \u003d image"},{"line_number":51,"context_line":"        self.name \u003d \"{:s}-{:s}\".format(image, uuidutils.generate_uuid())"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_b9a9ee90","line":48,"range":{"start_line":48,"start_character":36,"end_line":48,"end_character":44},"in_reply_to":"9f560f44_05500c5d","updated":"2020-08-10 08:37:06.000000000","message":"I\u0027m not against, just wondering why would you do that? I think it doesn\u0027t make much sense to have a container that is not wired, so I\u0027d not make it an optional parameter.","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"2ebfe16a430abecd615194ceff5da61ee8f3cfd6","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"class Container(fixtures.Fixture):"},{"line_number":48,"context_line":"    def __init__(self, host, image, networks, debug\u003dFalse):"},{"line_number":49,"context_line":"        self.host \u003d host"},{"line_number":50,"context_line":"        self.image \u003d image"},{"line_number":51,"context_line":"        self.name \u003d \"{:s}-{:s}\".format(image, uuidutils.generate_uuid())"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_a6cf0a27","line":48,"range":{"start_line":48,"start_character":36,"end_line":48,"end_character":44},"in_reply_to":"9f560f44_b9a9ee90","updated":"2020-08-10 13:29:03.000000000","message":"ic. the only reason I was mentioning this was because of line 52, but I now see that you are just using that to handle cases when None is explicitly given. Sounds reasonable to leave it as is.","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"88f7ab99075e7d31b9fb587abb7b8ad5b6bbbe4b","unresolved":false,"context_lines":[{"line_number":209,"context_line":"                \u0027host\u0027: self.container.name,"},{"line_number":210,"context_line":"                \u0027api_paste_config\u0027: \u0027/usr/local/etc/neutron/api-paste.ini\u0027,"},{"line_number":211,"context_line":"                \u0027core_plugin\u0027: \u0027ml2\u0027,"},{"line_number":212,"context_line":"                \u0027service_plugins\u0027: \u0027ovn-router,trunk\u0027,"},{"line_number":213,"context_line":"                \u0027auth_strategy\u0027: \u0027noauth\u0027,"},{"line_number":214,"context_line":"                \u0027debug\u0027: \u0027True\u0027,"},{"line_number":215,"context_line":"                \u0027api_workers\u0027: \u00274\u0027,"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_2566f02a","line":212,"range":{"start_line":212,"start_character":17,"end_line":212,"end_character":32},"updated":"2020-07-30 10:08:11.000000000","message":"please add port_forwarding  :)","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"facf2e8ec684e2b9c8938351fbcb5c5c2d6ee832","unresolved":false,"context_lines":[{"line_number":209,"context_line":"                \u0027host\u0027: self.container.name,"},{"line_number":210,"context_line":"                \u0027api_paste_config\u0027: \u0027/usr/local/etc/neutron/api-paste.ini\u0027,"},{"line_number":211,"context_line":"                \u0027core_plugin\u0027: \u0027ml2\u0027,"},{"line_number":212,"context_line":"                \u0027service_plugins\u0027: \u0027ovn-router,trunk\u0027,"},{"line_number":213,"context_line":"                \u0027auth_strategy\u0027: \u0027noauth\u0027,"},{"line_number":214,"context_line":"                \u0027debug\u0027: \u0027True\u0027,"},{"line_number":215,"context_line":"                \u0027api_workers\u0027: \u00274\u0027,"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_99acea9f","line":212,"range":{"start_line":212,"start_character":17,"end_line":212,"end_character":32},"in_reply_to":"9f560f44_2566f02a","updated":"2020-08-10 08:37:06.000000000","message":"Done","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"}],"neutron/tests/george/resources/fixtures.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        self.container.execute([\u0027ip\u0027, \u0027net\u0027, \u0027add\u0027, self.name])"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def _cleanup(self):"},{"line_number":27,"context_line":"        self.container.execute([\u0027ip\u0027 ,\u0027net\u0027, \u0027del\u0027, self.name])"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def execute(self, cmd):"},{"line_number":30,"context_line":"        cmd \u003d [\u0027ip\u0027, \u0027net\u0027, \u0027e\u0027, self.name] + cmd"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_b5d557ba","line":27,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: E203 whitespace before \u0027,\u0027","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        self.container.execute([\u0027ip\u0027, \u0027net\u0027, \u0027add\u0027, self.name])"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    def _cleanup(self):"},{"line_number":27,"context_line":"        self.container.execute([\u0027ip\u0027 ,\u0027net\u0027, \u0027del\u0027, self.name])"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def execute(self, cmd):"},{"line_number":30,"context_line":"        cmd \u003d [\u0027ip\u0027, \u0027net\u0027, \u0027e\u0027, self.name] + cmd"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_15e363a6","line":27,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: E231 missing whitespace after \u0027,\u0027","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"}],"neutron/tests/george/resources/machine.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import threading"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import netaddr"},{"line_number":16,"context_line":"from neutron_lib import exceptions as n_lib_e"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_f5f86f4a","line":13,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: F401 \u0027threading\u0027 imported but unused","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"}],"neutron/tests/george/resources/network.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"74dbfc9f8586ced635d0c38f9693375bc055d4ef","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        self.gateway \u003d gateway"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def _setUp(self):"},{"line_number":35,"context_line":"        self.add_chain(\u0027GEORGE\u0027)"},{"line_number":36,"context_line":"        try:"},{"line_number":37,"context_line":"            self.call_iptables([\u0027-I\u0027, \u0027INPUT\u0027, \u00271\u0027, \u0027-j\u0027, \u0027GEORGE\u0027])"},{"line_number":38,"context_line":"            self.addCleanup(self.call_iptables, [\u0027-D\u0027, \u0027INPUT\u0027, \u00271\u0027])"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_37dafb1b","line":35,"updated":"2020-02-06 09:51:01.000000000","message":"Using one single chain for many parallel tests could be a problem. Tests can try to delete it (cleanup) while others are still using.\n\nIn [1] I propose to use a unique chain per test and a new method to clean the chain flows.\n\n[1] https://review.opendev.org/#/c/705956/","commit_id":"f6cfeb8cc4981f94ec478d48dc7e3cd8dbb7de16"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import os"},{"line_number":14,"context_line":"import json"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import fixtures"},{"line_number":17,"context_line":"from oslo_log import log as logging"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_55ee7b8b","line":14,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: H306: imports not in alphabetical order (os, json)","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                     ],"},{"line_number":124,"context_line":"                     \"ranges\": [[subnet]]"},{"line_number":125,"context_line":"                 }"},{"line_number":126,"context_line":"                },"},{"line_number":127,"context_line":"                {\"type\": \"portmap\","},{"line_number":128,"context_line":"                 \"capabilities\": {"},{"line_number":129,"context_line":"                    \"portMappings\": True}"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_35f30776","line":126,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: E124 closing bracket does not match visual indentation","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":126,"context_line":"                },"},{"line_number":127,"context_line":"                {\"type\": \"portmap\","},{"line_number":128,"context_line":"                 \"capabilities\": {"},{"line_number":129,"context_line":"                    \"portMappings\": True}"},{"line_number":130,"context_line":"                },"},{"line_number":131,"context_line":"                {\"type\": \"firewall\","},{"line_number":132,"context_line":"                 \"backend\": \"iptables\""}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_95e8137d","line":129,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: E121 continuation line under-indented for hanging indent","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":127,"context_line":"                {\"type\": \"portmap\","},{"line_number":128,"context_line":"                 \"capabilities\": {"},{"line_number":129,"context_line":"                    \"portMappings\": True}"},{"line_number":130,"context_line":"                },"},{"line_number":131,"context_line":"                {\"type\": \"firewall\","},{"line_number":132,"context_line":"                 \"backend\": \"iptables\""},{"line_number":133,"context_line":"                }"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_75ed7f8a","line":130,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: E124 closing bracket does not match visual indentation","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                },"},{"line_number":131,"context_line":"                {\"type\": \"firewall\","},{"line_number":132,"context_line":"                 \"backend\": \"iptables\""},{"line_number":133,"context_line":"                }"},{"line_number":134,"context_line":"            ]"},{"line_number":135,"context_line":"        }"},{"line_number":136,"context_line":"        LOG.debug(\"Created CNI network %s\", config)"}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_d501eb3b","line":133,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: E124 closing bracket does not match visual indentation","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":138,"context_line":""},{"line_number":139,"context_line":"    def _write_config(self, config):"},{"line_number":140,"context_line":"        with open(self.filepath, \u0027w\u0027) as configfile:"},{"line_number":141,"context_line":"            json.dump(config, configfile, indent\u003d2)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"    def _cleanup(self):"},{"line_number":144,"context_line":"        LOG.debug(\"Running cleanup for network %s with bridge %s\","}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_b5fef735","line":141,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: N521: jsonutils.dump must be used instead of json.dump","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"}],"neutron/tests/george/test_connectivity.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7fc7b5a3e778b7a3d6090b0153a2206a6e9ca02b","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    COMPUTES_NUM \u003d 2"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"#class TestConnectivityTenNodes(TestConnectivityTwoNodes):"},{"line_number":84,"context_line":"#    COMPUTES_NUM \u003d 10"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"bf51134e_f5dfcfd3","line":83,"updated":"2020-06-30 14:45:55.000000000","message":"pep8: E265 block comment should start with \u0027# \u0027","commit_id":"44f0ed5ccb9c21dc46cae73e6a2ee368de9fbc9a"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"88f7ab99075e7d31b9fb587abb7b8ad5b6bbbe4b","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    COMPUTES_NUM \u003d 3"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"class TestConnectivityTwoNodes2(TestConnectivityTwoNodes):"},{"line_number":80,"context_line":"    COMPUTES_NUM \u003d 2"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"class TestConnectivityScale(TestConnectivityTwoNodes):"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_e502380b","line":80,"range":{"start_line":79,"start_character":0,"end_line":80,"end_character":20},"updated":"2020-07-30 10:08:11.000000000","message":"remove or make it more interesting?","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"facf2e8ec684e2b9c8938351fbcb5c5c2d6ee832","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    COMPUTES_NUM \u003d 3"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"class TestConnectivityTwoNodes2(TestConnectivityTwoNodes):"},{"line_number":80,"context_line":"    COMPUTES_NUM \u003d 2"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"class TestConnectivityScale(TestConnectivityTwoNodes):"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_f97fe611","line":80,"range":{"start_line":79,"start_character":0,"end_line":80,"end_character":20},"in_reply_to":"9f560f44_e502380b","updated":"2020-08-10 08:37:06.000000000","message":"I added this to test parallel run of the tests and that they can\u0027t influence each other. We can remove it once we have more tests.","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"2ebfe16a430abecd615194ceff5da61ee8f3cfd6","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    COMPUTES_NUM \u003d 3"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"class TestConnectivityTwoNodes2(TestConnectivityTwoNodes):"},{"line_number":80,"context_line":"    COMPUTES_NUM \u003d 2"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"class TestConnectivityScale(TestConnectivityTwoNodes):"}],"source_content_type":"text/x-python","patch_set":22,"id":"9f560f44_26e3faa5","line":80,"range":{"start_line":79,"start_character":0,"end_line":80,"end_character":20},"in_reply_to":"9f560f44_f97fe611","updated":"2020-08-10 13:29:03.000000000","message":"Ack!","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"9949be912a586eae364512608a7595f52d702e77","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    COMPUTES_NUM \u003d 3"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"class TestConnectivityTwoNodes2(TestConnectivityTwoNodes):"},{"line_number":80,"context_line":"    COMPUTES_NUM \u003d 2"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"class TestConnectivityScale(TestConnectivityTwoNodes):"}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_e3610bab","line":80,"range":{"start_line":79,"start_character":0,"end_line":80,"end_character":20},"updated":"2020-08-26 08:32:58.000000000","message":"why we need this class?","commit_id":"62a5efa214e7bfef7862d44ac0c8c7afa5914c1c"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"ea9853228f060de567982c090fe28737aa354f43","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    COMPUTES_NUM \u003d 3"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"class TestConnectivityTwoNodes2(TestConnectivityTwoNodes):"},{"line_number":80,"context_line":"    COMPUTES_NUM \u003d 2"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"class TestConnectivityScale(TestConnectivityTwoNodes):"}],"source_content_type":"text/x-python","patch_set":23,"id":"9f560f44_bbbfb3a8","line":80,"range":{"start_line":79,"start_character":0,"end_line":80,"end_character":20},"in_reply_to":"9f560f44_e3610bab","updated":"2020-09-03 10:17:49.000000000","message":"Because we have no test cases implemented yet, it is here to prove tests can run in parallel without influencing each other. I will add a comment stating that. Thanks for asking","commit_id":"62a5efa214e7bfef7862d44ac0c8c7afa5914c1c"}],"playbooks/george/configure_george_tests.yaml":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"dae0b076c5aa7a55d8ab46d95455f7faf01c6fa5","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    - name: install podman and buildah"},{"line_number":28,"context_line":"      package:"},{"line_number":29,"context_line":"        name:"},{"line_number":30,"context_line":"          - podman"},{"line_number":31,"context_line":"          - runc"},{"line_number":32,"context_line":"          - buildah"},{"line_number":33,"context_line":"          - containernetworking-plugins"},{"line_number":34,"context_line":"          - containers-common"},{"line_number":35,"context_line":"          - containers-golang"},{"line_number":36,"context_line":"          - containers-image"},{"line_number":37,"context_line":"        state: latest"},{"line_number":38,"context_line":"      become: yes"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"9f560f44_0ae21e30","line":36,"range":{"start_line":30,"start_character":0,"end_line":36,"end_character":28},"updated":"2020-08-12 08:58:23.000000000","message":"these should be in bindep.txt, and in that case zuul do this, or am I wrong?","commit_id":"62a5efa214e7bfef7862d44ac0c8c7afa5914c1c"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"a9f042b0e57f0101aa5e08b089bce1e8c71d3445","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    - name: install podman and buildah"},{"line_number":28,"context_line":"      package:"},{"line_number":29,"context_line":"        name:"},{"line_number":30,"context_line":"          - podman"},{"line_number":31,"context_line":"          - runc"},{"line_number":32,"context_line":"          - buildah"},{"line_number":33,"context_line":"          - containernetworking-plugins"},{"line_number":34,"context_line":"          - containers-common"},{"line_number":35,"context_line":"          - containers-golang"},{"line_number":36,"context_line":"          - containers-image"},{"line_number":37,"context_line":"        state: latest"},{"line_number":38,"context_line":"      become: yes"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"9f560f44_f43af6c1","line":36,"range":{"start_line":30,"start_character":0,"end_line":36,"end_character":28},"in_reply_to":"9f560f44_0ae21e30","updated":"2020-08-17 14:08:16.000000000","message":"Thanks, I will investigate how bindep actually works.","commit_id":"62a5efa214e7bfef7862d44ac0c8c7afa5914c1c"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"26f9048b97b47dbc30bebe76fe17f4e6b8aa7d83","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    - name: install podman and buildah"},{"line_number":28,"context_line":"      package:"},{"line_number":29,"context_line":"        name:"},{"line_number":30,"context_line":"          - podman"},{"line_number":31,"context_line":"          - runc"},{"line_number":32,"context_line":"          - buildah"},{"line_number":33,"context_line":"          - containernetworking-plugins"},{"line_number":34,"context_line":"          - containers-common"},{"line_number":35,"context_line":"          - containers-golang"},{"line_number":36,"context_line":"          - containers-image"},{"line_number":37,"context_line":"        state: latest"},{"line_number":38,"context_line":"      become: yes"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"9f560f44_39cd3d30","line":36,"range":{"start_line":30,"start_character":0,"end_line":36,"end_character":28},"in_reply_to":"9f560f44_f43af6c1","updated":"2020-09-07 14:33:13.000000000","message":"I haven\u0027t implemented this in the new change as I\u0027m still investigating how to use these packages with bindep only for George.","commit_id":"62a5efa214e7bfef7862d44ac0c8c7afa5914c1c"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"211011d71ab3dea3f62d39e8466073dc080020d1","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        cmd: |"},{"line_number":58,"context_line":"          set -e"},{"line_number":59,"context_line":"          set -x"},{"line_number":60,"context_line":"          bash -x {{ project_dir }}/neutron/tests/contrib/george/build_container_images.sh"},{"line_number":61,"context_line":"        executable: /bin/bash"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"9f560f44_ac5bbb51","line":60,"range":{"start_line":60,"start_character":10,"end_line":60,"end_character":17},"updated":"2020-09-08 16:17:39.000000000","message":"if doing \"bash -x\" here , do we still need -x above?","commit_id":"7f385cff273a77326f2465500d81b8fa26afad8d"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"89ce5fd30c21759229bf480ce570bff735a489ec","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        cmd: |"},{"line_number":58,"context_line":"          set -e"},{"line_number":59,"context_line":"          set -x"},{"line_number":60,"context_line":"          bash -x {{ project_dir }}/neutron/tests/contrib/george/build_container_images.sh"},{"line_number":61,"context_line":"        executable: /bin/bash"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"9f560f44_55037610","line":60,"range":{"start_line":60,"start_character":10,"end_line":60,"end_character":17},"in_reply_to":"9f560f44_ac5bbb51","updated":"2020-09-09 08:34:11.000000000","message":"yeah, I don\u0027t know. I added it because the previous PS failed because of empty OVS_BRANCH and the set -x didn\u0027t show the executed commands.","commit_id":"7f385cff273a77326f2465500d81b8fa26afad8d"}],"zuul.d/base.yaml":[{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"25aefcb01f930eb6e780a8203c1d43c1c55903fd","unresolved":false,"context_lines":[{"line_number":74,"context_line":"      zuul_work_dir: src/opendev.org/openstack/neutron"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"- job:"},{"line_number":77,"context_line":"    name: neutron-george"},{"line_number":78,"context_line":"    parent: devstack-minimal"},{"line_number":79,"context_line":"    description: This is George"},{"line_number":80,"context_line":"    required-projects:"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"bf51134e_2c2e2bfa","line":77,"range":{"start_line":77,"start_character":9,"end_line":77,"end_character":24},"updated":"2020-06-30 09:26:35.000000000","message":"maybe neutron-ovn-george would be better","commit_id":"7048704974a959cb1554b95b8b32962444f8e988"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"88f7ab99075e7d31b9fb587abb7b8ad5b6bbbe4b","unresolved":false,"context_lines":[{"line_number":81,"context_line":"- job:"},{"line_number":82,"context_line":"    name: neutron-george"},{"line_number":83,"context_line":"    parent: neutron-system-integration"},{"line_number":84,"context_line":"    description: This is George"},{"line_number":85,"context_line":"    pre-run: playbooks/george/configure_george_tests.yaml"},{"line_number":86,"context_line":"    run: playbooks/george/run_george_run.yaml"},{"line_number":87,"context_line":"    post-run: playbooks/george/post_run.yaml"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"9f560f44_65eaa8ac","line":84,"range":{"start_line":84,"start_character":4,"end_line":84,"end_character":31},"updated":"2020-07-30 10:08:11.000000000","message":"hi George! ;)\nTell me a little more about yourself.","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"facf2e8ec684e2b9c8938351fbcb5c5c2d6ee832","unresolved":false,"context_lines":[{"line_number":81,"context_line":"- job:"},{"line_number":82,"context_line":"    name: neutron-george"},{"line_number":83,"context_line":"    parent: neutron-system-integration"},{"line_number":84,"context_line":"    description: This is George"},{"line_number":85,"context_line":"    pre-run: playbooks/george/configure_george_tests.yaml"},{"line_number":86,"context_line":"    run: playbooks/george/run_george_run.yaml"},{"line_number":87,"context_line":"    post-run: playbooks/george/post_run.yaml"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"9f560f44_d97ae221","line":84,"range":{"start_line":84,"start_character":4,"end_line":84,"end_character":31},"in_reply_to":"9f560f44_65eaa8ac","updated":"2020-08-10 08:37:06.000000000","message":"Done","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"2ebfe16a430abecd615194ceff5da61ee8f3cfd6","unresolved":false,"context_lines":[{"line_number":81,"context_line":"- job:"},{"line_number":82,"context_line":"    name: neutron-george"},{"line_number":83,"context_line":"    parent: neutron-system-integration"},{"line_number":84,"context_line":"    description: This is George"},{"line_number":85,"context_line":"    pre-run: playbooks/george/configure_george_tests.yaml"},{"line_number":86,"context_line":"    run: playbooks/george/run_george_run.yaml"},{"line_number":87,"context_line":"    post-run: playbooks/george/post_run.yaml"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"9f560f44_86ebe675","line":84,"range":{"start_line":84,"start_character":4,"end_line":84,"end_character":31},"in_reply_to":"9f560f44_d97ae221","updated":"2020-08-10 13:29:03.000000000","message":":)","commit_id":"3a284680a8106f8dfe7bda2d4d39ba6314e3bbef"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"3aaec2b558ec390f47362f2e5d8fdda523809113","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        /tmp/george-logs: logs"},{"line_number":94,"context_line":"      OVS_REPO: https://github.com/openvswitch/ovs.git"},{"line_number":95,"context_line":"      OVN_REPO: https://github.com/ovn-org/ovn.git"},{"line_number":96,"context_line":"      OVS_BRANCH: v2.13.1"},{"line_number":97,"context_line":"      Q_BUILD_OVS_FROM_GIT: True"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"9f560f44_541b1d7f","line":96,"range":{"start_line":96,"start_character":6,"end_line":96,"end_character":25},"updated":"2020-09-14 15:34:56.000000000","message":"Are we missing OVN_BRANCH ? If not, maybe lieva a hint on where that comes from.","commit_id":"edf1b98646d5b63d90d113dcb078f879681934eb"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"30899e65846cf2fc52b7ee92a4599c412dc91943","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        /tmp/george-logs: logs"},{"line_number":94,"context_line":"      OVS_REPO: https://github.com/openvswitch/ovs.git"},{"line_number":95,"context_line":"      OVN_REPO: https://github.com/ovn-org/ovn.git"},{"line_number":96,"context_line":"      OVS_BRANCH: v2.13.1"},{"line_number":97,"context_line":"      Q_BUILD_OVS_FROM_GIT: True"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"9f560f44_178515af","line":96,"range":{"start_line":96,"start_character":6,"end_line":96,"end_character":25},"in_reply_to":"9f560f44_541b1d7f","updated":"2020-09-15 14:21:41.000000000","message":"It is inherited from L17 - we inherit lots of variables from the super-job definitions. I can add a comment but I don\u0027t see why should we treat OVN_BRANCH special here.","commit_id":"edf1b98646d5b63d90d113dcb078f879681934eb"}],"zuul.d/project.yaml":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"45b4d62d9051fe735c7c6c9f228740c17a577723","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# document with summary of all tempest, neutron-tempest-plugin and grenade jobs"},{"line_number":3,"context_line":"# summary."},{"line_number":4,"context_line":"# Please update this document always when any changes to jobs are made."},{"line_number":5,"context_line":"- project:"},{"line_number":6,"context_line":"    templates:"},{"line_number":7,"context_line":"      - neutron-tempest-plugin-jobs"},{"line_number":8,"context_line":"      - openstack-cover-jobs"},{"line_number":9,"context_line":"      - openstack-lower-constraints-jobs"},{"line_number":10,"context_line":"      - openstack-python3-victoria-jobs"},{"line_number":11,"context_line":"      - publish-openstack-docs-pti"},{"line_number":12,"context_line":"      - periodic-stable-jobs"},{"line_number":13,"context_line":"      - check-requirements"},{"line_number":14,"context_line":"      - release-notes-jobs-python3"},{"line_number":15,"context_line":"    check:"},{"line_number":16,"context_line":"      jobs:"},{"line_number":17,"context_line":"        - neutron-functional"},{"line_number":18,"context_line":"        - neutron-functional-with-uwsgi"},{"line_number":19,"context_line":"        - neutron-fullstack"},{"line_number":20,"context_line":"        - neutron-fullstack-with-uwsgi"},{"line_number":21,"context_line":"        - neutron-rally-task"},{"line_number":22,"context_line":"        - neutron-grenade-multinode"},{"line_number":23,"context_line":"        - neutron-grenade-dvr-multinode"},{"line_number":24,"context_line":"        - neutron-tempest-linuxbridge"},{"line_number":25,"context_line":"        - neutron-tempest-with-uwsgi"},{"line_number":26,"context_line":"        - tempest-integrated-networking:"},{"line_number":27,"context_line":"            # We don\u0027t run the job on things like neutron docs-only changes"},{"line_number":28,"context_line":"            irrelevant-files: \u0026irrelevant-files"},{"line_number":29,"context_line":"              - ^(test-|)requirements.txt$"},{"line_number":30,"context_line":"              - ^.*\\.rst$"},{"line_number":31,"context_line":"              - ^doc/.*$"},{"line_number":32,"context_line":"              - ^neutron/locale/.*$"},{"line_number":33,"context_line":"              - ^neutron/tests/unit/.*$"},{"line_number":34,"context_line":"              - ^releasenotes/.*$"},{"line_number":35,"context_line":"              - ^setup.cfg$"},{"line_number":36,"context_line":"              - ^tools/.*$"},{"line_number":37,"context_line":"              - ^tox.ini$"},{"line_number":38,"context_line":"              - ^vagrant/.*$"},{"line_number":39,"context_line":"              - ^migration/.*$"},{"line_number":40,"context_line":"              - ^devstack/.*\\.sample$"},{"line_number":41,"context_line":"        - tempest-multinode-full-py3:"},{"line_number":42,"context_line":"            voting: false"},{"line_number":43,"context_line":"            irrelevant-files: *irrelevant-files"},{"line_number":44,"context_line":"        - neutron-tempest-dvr-ha-multinode-full"},{"line_number":45,"context_line":"        - neutron-tempest-iptables_hybrid"},{"line_number":46,"context_line":"        - ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa:"},{"line_number":47,"context_line":"            voting: false"},{"line_number":48,"context_line":"            irrelevant-files: *irrelevant-files"},{"line_number":49,"context_line":"        - tempest-slow-py3:"},{"line_number":50,"context_line":"            irrelevant-files: *irrelevant-files"},{"line_number":51,"context_line":"        - tempest-ipv6-only:"},{"line_number":52,"context_line":"            irrelevant-files: *irrelevant-files"},{"line_number":53,"context_line":"        - neutron-tempest-with-neutron-lib-master:"},{"line_number":54,"context_line":"            voting: false"},{"line_number":55,"context_line":"            irrelevant-files: *irrelevant-files"},{"line_number":56,"context_line":"        - neutron-ovn-tempest-ovs-release"},{"line_number":57,"context_line":"        - neutron-ovn-tempest-ovs-release-ipv6-only:"},{"line_number":58,"context_line":"            voting: false"},{"line_number":59,"context_line":"        # TODO(slaweq): add this job again to the check queue when it will be"},{"line_number":60,"context_line":"        # working fine on python 3"},{"line_number":61,"context_line":"        #- networking-midonet-tempest-aio-ml2-centos-7:"},{"line_number":62,"context_line":"        #    voting: false"},{"line_number":63,"context_line":"        #    irrelevant-files: *irrelevant-files"},{"line_number":64,"context_line":"        - openstacksdk-functional-devstack-networking:"},{"line_number":65,"context_line":"            voting: false"},{"line_number":66,"context_line":"        - neutron-centos-8-tripleo-standalone"},{"line_number":67,"context_line":"        - neutron-ovn-rally-task:"},{"line_number":68,"context_line":"            voting: false"},{"line_number":69,"context_line":"        # TripleO jobs that deploy OVN."},{"line_number":70,"context_line":"        # Note we don\u0027t use a project-template here, so it\u0027s easier"},{"line_number":71,"context_line":"        # to disable voting on one specific job if things go wrong."},{"line_number":72,"context_line":"        # In Stein and beyond, fs010 will run using"},{"line_number":73,"context_line":"        # networking-ovn-tripleo-ci-centos-7-containers-multinode."},{"line_number":74,"context_line":"        # If you need any support to debug these jobs in case of"},{"line_number":75,"context_line":"        # failures, please reach us on #tripleo IRC channel."},{"line_number":76,"context_line":"        - neutron-ovn-tripleo-ci-centos-8-containers-multinode:"},{"line_number":77,"context_line":"            voting: false"},{"line_number":78,"context_line":"        - neutron-ovn-tempest-slow:"},{"line_number":79,"context_line":"            voting: false"},{"line_number":80,"context_line":"        - neutron-ovn-tempest-full-multinode-ovs-master:"},{"line_number":81,"context_line":"            voting: false"},{"line_number":82,"context_line":"        - openstack-tox-py36:  # from openstack-python3-victoria-jobs template"},{"line_number":83,"context_line":"            timeout: 3600"},{"line_number":84,"context_line":"        - openstack-tox-py38:  # from openstack-python3-victoria-jobs template"},{"line_number":85,"context_line":"            timeout: 3600"},{"line_number":86,"context_line":"        - openstack-tox-lower-constraints:  # from openstack-tox-lower-constraints template"},{"line_number":87,"context_line":"            timeout: 3600"},{"line_number":88,"context_line":"        - openstack-tox-cover:  # from openstack-cover-jobs template"},{"line_number":89,"context_line":"            timeout: 4800"},{"line_number":90,"context_line":"    gate:"},{"line_number":91,"context_line":"      jobs:"},{"line_number":92,"context_line":"        - neutron-functional"},{"line_number":93,"context_line":"        - neutron-fullstack"},{"line_number":94,"context_line":"        - tempest-integrated-networking"},{"line_number":95,"context_line":"        - neutron-tempest-linuxbridge"},{"line_number":96,"context_line":"        - neutron-tempest-iptables_hybrid"},{"line_number":97,"context_line":"        - neutron-grenade-multinode"},{"line_number":98,"context_line":"        - neutron-grenade-dvr-multinode"},{"line_number":99,"context_line":"        - tempest-slow-py3:"},{"line_number":100,"context_line":"            irrelevant-files: *irrelevant-files"},{"line_number":101,"context_line":"        - tempest-ipv6-only:"},{"line_number":102,"context_line":"            irrelevant-files: *irrelevant-files"},{"line_number":103,"context_line":"        - neutron-ovn-tempest-ovs-release"},{"line_number":104,"context_line":"        - openstack-tox-py36:  # from openstack-python3-victoria-jobs template"},{"line_number":105,"context_line":"            timeout: 3600"},{"line_number":106,"context_line":"        - openstack-tox-lower-constraints:  # from openstack-tox-lower-constraints template"},{"line_number":107,"context_line":"            timeout: 3600"},{"line_number":108,"context_line":"        #- neutron-ovn-rally-task"},{"line_number":109,"context_line":"        #- neutron-ovn-tripleo-ci-centos-8-containers-multinode"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    experimental:"},{"line_number":112,"context_line":"      jobs:"},{"line_number":113,"context_line":"        - neutron-ovn-tempest-ovs-master"},{"line_number":114,"context_line":"        - neutron-ovn-grenade"},{"line_number":115,"context_line":"        - neutron-george:"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    periodic:"},{"line_number":118,"context_line":"      jobs:"},{"line_number":119,"context_line":"        - neutron-functional"},{"line_number":120,"context_line":"        - neutron-tempest-postgres-full"},{"line_number":121,"context_line":"        - neutron-tempest-mariadb-full"},{"line_number":122,"context_line":"        - neutron-tempest-with-os-ken-master"},{"line_number":123,"context_line":"        - neutron-ovn-tempest-ovs-master-fedora"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"bf51134e_2c090b95","line":123,"range":{"start_line":5,"start_character":2,"end_line":123,"end_character":0},"updated":"2020-06-30 09:25:17.000000000","message":"expected str for dictionary value @ data[\u0027experimental\u0027][\u0027jobs\u0027][2][\u0027neutron-george\u0027]","commit_id":"a183facfd80a1c0d62a96b5bed53deb1cfe05489"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:experimental","change_message_id":"ef35a94a52462cfc402c955c1ec8bb355a0360cc","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# document with summary of all tempest, neutron-tempest-plugin and grenade jobs"},{"line_number":3,"context_line":"# summary."},{"line_number":4,"context_line":"# Please update this document always when any changes to jobs are made."},{"line_number":5,"context_line":"- project:"},{"line_number":6,"context_line":"    templates:"},{"line_number":7,"context_line":"      - neutron-tempest-plugin-jobs"},{"line_number":8,"context_line":"      - openstack-cover-jobs"},{"line_number":9,"context_line":"      - openstack-lower-constraints-jobs"},{"line_number":10,"context_line":"      - openstack-python3-victoria-jobs"},{"line_number":11,"context_line":"      - publish-openstack-docs-pti"},{"line_number":12,"context_line":"      - periodic-stable-jobs"},{"line_number":13,"context_line":"      - check-requirements"},{"line_number":14,"context_line":"      - release-notes-jobs-python3"},{"line_number":15,"context_line":"    check:"},{"line_number":16,"context_line":"      jobs:"},{"line_number":17,"context_line":"        - neutron-functional"},{"line_number":18,"context_line":"        - neutron-functional-with-uwsgi"},{"line_number":19,"context_line":"        - neutron-fullstack"},{"line_number":20,"context_line":"        - neutron-fullstack-with-uwsgi"},{"line_number":21,"context_line":"        - neutron-rally-task"},{"line_number":22,"context_line":"        - neutron-grenade-multinode"},{"line_number":23,"context_line":"        - neutron-grenade-dvr-multinode"},{"line_number":24,"context_line":"        - neutron-tempest-linuxbridge"},{"line_number":25,"context_line":"        - neutron-tempest-with-uwsgi"},{"line_number":26,"context_line":"        - tempest-integrated-networking:"},{"line_number":27,"context_line":"            # We don\u0027t run the job on things like neutron docs-only changes"},{"line_number":28,"context_line":"            irrelevant-files: \u0026irrelevant-files"},{"line_number":29,"context_line":"              - ^(test-|)requirements.txt$"},{"line_number":30,"context_line":"              - ^.*\\.rst$"},{"line_number":31,"context_line":"              - ^doc/.*$"},{"line_number":32,"context_line":"              - ^neutron/locale/.*$"},{"line_number":33,"context_line":"              - ^neutron/tests/unit/.*$"},{"line_number":34,"context_line":"              - ^releasenotes/.*$"},{"line_number":35,"context_line":"              - ^setup.cfg$"},{"line_number":36,"context_line":"              - ^tools/.*$"},{"line_number":37,"context_line":"              - ^tox.ini$"},{"line_number":38,"context_line":"              - ^vagrant/.*$"},{"line_number":39,"context_line":"              - ^migration/.*$"},{"line_number":40,"context_line":"              - ^devstack/.*\\.sample$"},{"line_number":41,"context_line":"        - tempest-multinode-full-py3:"},{"line_number":42,"context_line":"            voting: false"},{"line_number":43,"context_line":"            irrelevant-files: *irrelevant-files"},{"line_number":44,"context_line":"        - neutron-tempest-dvr-ha-multinode-full"},{"line_number":45,"context_line":"        - neutron-tempest-iptables_hybrid"},{"line_number":46,"context_line":"        - ironic-tempest-ipa-wholedisk-bios-agent_ipmitool-tinyipa:"},{"line_number":47,"context_line":"            voting: false"},{"line_number":48,"context_line":"            irrelevant-files: *irrelevant-files"},{"line_number":49,"context_line":"        - tempest-slow-py3:"},{"line_number":50,"context_line":"            irrelevant-files: *irrelevant-files"},{"line_number":51,"context_line":"        - tempest-ipv6-only:"},{"line_number":52,"context_line":"            irrelevant-files: *irrelevant-files"},{"line_number":53,"context_line":"        - neutron-tempest-with-neutron-lib-master:"},{"line_number":54,"context_line":"            voting: false"},{"line_number":55,"context_line":"            irrelevant-files: *irrelevant-files"},{"line_number":56,"context_line":"        - neutron-ovn-tempest-ovs-release"},{"line_number":57,"context_line":"        - neutron-ovn-tempest-ovs-release-ipv6-only:"},{"line_number":58,"context_line":"            voting: false"},{"line_number":59,"context_line":"        # TODO(slaweq): add this job again to the check queue when it will be"},{"line_number":60,"context_line":"        # working fine on python 3"},{"line_number":61,"context_line":"        #- networking-midonet-tempest-aio-ml2-centos-7:"},{"line_number":62,"context_line":"        #    voting: false"},{"line_number":63,"context_line":"        #    irrelevant-files: *irrelevant-files"},{"line_number":64,"context_line":"        - openstacksdk-functional-devstack-networking:"},{"line_number":65,"context_line":"            voting: false"},{"line_number":66,"context_line":"        - neutron-centos-8-tripleo-standalone"},{"line_number":67,"context_line":"        - neutron-ovn-rally-task:"},{"line_number":68,"context_line":"            voting: false"},{"line_number":69,"context_line":"        # TripleO jobs that deploy OVN."},{"line_number":70,"context_line":"        # Note we don\u0027t use a project-template here, so it\u0027s easier"},{"line_number":71,"context_line":"        # to disable voting on one specific job if things go wrong."},{"line_number":72,"context_line":"        # In Stein and beyond, fs010 will run using"},{"line_number":73,"context_line":"        # networking-ovn-tripleo-ci-centos-7-containers-multinode."},{"line_number":74,"context_line":"        # If you need any support to debug these jobs in case of"},{"line_number":75,"context_line":"        # failures, please reach us on #tripleo IRC channel."},{"line_number":76,"context_line":"        - neutron-ovn-tripleo-ci-centos-8-containers-multinode:"},{"line_number":77,"context_line":"            voting: false"},{"line_number":78,"context_line":"        - neutron-ovn-tempest-slow:"},{"line_number":79,"context_line":"            voting: false"},{"line_number":80,"context_line":"        - neutron-ovn-tempest-full-multinode-ovs-master:"},{"line_number":81,"context_line":"            voting: false"},{"line_number":82,"context_line":"        - openstack-tox-py36:  # from openstack-python3-victoria-jobs template"},{"line_number":83,"context_line":"            timeout: 3600"},{"line_number":84,"context_line":"        - openstack-tox-py38:  # from openstack-python3-victoria-jobs template"},{"line_number":85,"context_line":"            timeout: 3600"},{"line_number":86,"context_line":"        - openstack-tox-lower-constraints:  # from openstack-tox-lower-constraints template"},{"line_number":87,"context_line":"            timeout: 3600"},{"line_number":88,"context_line":"        - openstack-tox-cover:  # from openstack-cover-jobs template"},{"line_number":89,"context_line":"            timeout: 4800"},{"line_number":90,"context_line":"    gate:"},{"line_number":91,"context_line":"      jobs:"},{"line_number":92,"context_line":"        - neutron-functional"},{"line_number":93,"context_line":"        - neutron-fullstack"},{"line_number":94,"context_line":"        - tempest-integrated-networking"},{"line_number":95,"context_line":"        - neutron-tempest-linuxbridge"},{"line_number":96,"context_line":"        - neutron-tempest-iptables_hybrid"},{"line_number":97,"context_line":"        - neutron-grenade-multinode"},{"line_number":98,"context_line":"        - neutron-grenade-dvr-multinode"},{"line_number":99,"context_line":"        - tempest-slow-py3:"},{"line_number":100,"context_line":"            irrelevant-files: *irrelevant-files"},{"line_number":101,"context_line":"        - tempest-ipv6-only:"},{"line_number":102,"context_line":"            irrelevant-files: *irrelevant-files"},{"line_number":103,"context_line":"        - neutron-ovn-tempest-ovs-release"},{"line_number":104,"context_line":"        - openstack-tox-py36:  # from openstack-python3-victoria-jobs template"},{"line_number":105,"context_line":"            timeout: 3600"},{"line_number":106,"context_line":"        - openstack-tox-lower-constraints:  # from openstack-tox-lower-constraints template"},{"line_number":107,"context_line":"            timeout: 3600"},{"line_number":108,"context_line":"        #- neutron-ovn-rally-task"},{"line_number":109,"context_line":"        #- neutron-ovn-tripleo-ci-centos-8-containers-multinode"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    experimental:"},{"line_number":112,"context_line":"      jobs:"},{"line_number":113,"context_line":"        - neutron-ovn-tempest-ovs-master"},{"line_number":114,"context_line":"        - neutron-ovn-grenade"},{"line_number":115,"context_line":"        - neutron-george:"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"    periodic:"},{"line_number":118,"context_line":"      jobs:"},{"line_number":119,"context_line":"        - neutron-functional"},{"line_number":120,"context_line":"        - neutron-tempest-postgres-full"},{"line_number":121,"context_line":"        - neutron-tempest-mariadb-full"},{"line_number":122,"context_line":"        - neutron-tempest-with-os-ken-master"},{"line_number":123,"context_line":"        - neutron-ovn-tempest-ovs-master-fedora"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"bf51134e_6c030375","line":123,"range":{"start_line":5,"start_character":2,"end_line":123,"end_character":0},"updated":"2020-06-30 09:25:32.000000000","message":"expected str for dictionary value @ data[\u0027experimental\u0027][\u0027jobs\u0027][2][\u0027neutron-george\u0027]","commit_id":"a183facfd80a1c0d62a96b5bed53deb1cfe05489"}]}
