)]}'
{"test-prepare-host.yml":[{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"0303e870632c4e6fde9d991b9944c43ffda68888","unresolved":false,"context_lines":[{"line_number":22,"context_line":"      apt:"},{"line_number":23,"context_line":"        update_cache: yes"},{"line_number":24,"context_line":"      when: ansible_os_family \u003d\u003d \u0027Debian\u0027"},{"line_number":25,"context_line":"    - name: Update yum package"},{"line_number":26,"context_line":"      yum:"},{"line_number":27,"context_line":"        name: \u0027*\u0027"},{"line_number":28,"context_line":"        state: latest"},{"line_number":29,"context_line":"        update_cache: yes"},{"line_number":30,"context_line":"    - name: Ensure roots new public ssh key is in authorized_keys"},{"line_number":31,"context_line":"      authorized_key:"},{"line_number":32,"context_line":"        user: root"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3ac371cc_0b174f52","line":29,"range":{"start_line":25,"start_character":0,"end_line":29,"end_character":25},"updated":"2016-08-15 08:52:33.000000000","message":"I think we could skip that part.\n\nWe don\u0027t need to update every package, we just need to update cache, which could be done when installing the yum package in the consuming roles.","commit_id":"8a08fee833a419d4525e49aeda76117be075fd3c"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"0303e870632c4e6fde9d991b9944c43ffda68888","unresolved":false,"context_lines":[{"line_number":57,"context_line":"      when:"},{"line_number":58,"context_line":"        - groups[\u0027neutron_openvswitch_agent\u0027] | length \u003e 0"},{"line_number":59,"context_line":"  post_tasks:"},{"line_number":60,"context_line":"    - name: Create bridges"},{"line_number":61,"context_line":"      shell: /sbin/brctl addbr {{ item.name }} || true"},{"line_number":62,"context_line":"      with_items: bridges"},{"line_number":63,"context_line":"      when: bridges is defined"},{"line_number":64,"context_line":"    - name: IP bridges"},{"line_number":65,"context_line":"      command: /sbin/ifconfig {{ item.name }} {{ item.ip_addr }} netmask 255.255.255.0"},{"line_number":66,"context_line":"      with_items: bridges"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3ac371cc_1d9b12cb","line":63,"range":{"start_line":60,"start_character":0,"end_line":63,"end_character":30},"updated":"2016-08-15 08:52:33.000000000","message":"If we include ovs test vars above (which is fine), we should probably make sure the following rules are conditional for linux bridge.","commit_id":"8a08fee833a419d4525e49aeda76117be075fd3c"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"0303e870632c4e6fde9d991b9944c43ffda68888","unresolved":false,"context_lines":[{"line_number":69,"context_line":"      command: /sbin/iptables -A POSTROUTING -t mangle -p tcp --dport 22 -j CHECKSUM --checksum-fill"},{"line_number":70,"context_line":"    - name: Add iptables rules for lxc natting"},{"line_number":71,"context_line":"      command: /usr/local/bin/lxc-system-manage iptables-create"},{"line_number":72,"context_line":"    - name: Install pip packages"},{"line_number":73,"context_line":"      command: /usr/local/bin/pip install {{ item }}"},{"line_number":74,"context_line":"      register: install_packages"},{"line_number":75,"context_line":"      until: install_packages|success"},{"line_number":76,"context_line":"      retries: 5"},{"line_number":77,"context_line":"      delay: 2"},{"line_number":78,"context_line":"      with_items:"},{"line_number":79,"context_line":"        - lxc-python2"},{"line_number":80,"context_line":"        - python-openstackclient"},{"line_number":81,"context_line":"        - python-ironicclient"},{"line_number":82,"context_line":"  roles:"},{"line_number":83,"context_line":"    - role: \"lxc_hosts\""},{"line_number":84,"context_line":"  vars_files:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3ac371cc_1dd03253","line":81,"range":{"start_line":72,"start_character":0,"end_line":81,"end_character":29},"updated":"2016-08-15 08:52:33.000000000","message":"I\u0027d rather have that solved in a different -- more standard way. Let\u0027s add a #TODO (evrardjp) - cleanup to latest standard before the line:\n\n- name: Install pip packages","commit_id":"8a08fee833a419d4525e49aeda76117be075fd3c"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"d1e0cc86baf39f4c077d5ab04e9a42c402de59fd","unresolved":false,"context_lines":[{"line_number":37,"context_line":"      set_fact:"},{"line_number":38,"context_line":"        lxc_container_cache_files:"},{"line_number":39,"context_line":"          - { src: \u0027/etc/pip.conf\u0027, dest: \u0027/etc/pip.conf\u0027 }"},{"line_number":40,"context_line":"          - { src: \u0027/etc/apt/apt.conf.d/99unauthenticated\u0027, dest: \u0027/etc/apt/apt.conf.d/99unauthenticated\u0027 }"},{"line_number":41,"context_line":"      when: nodepool.stat.exists | bool"},{"line_number":42,"context_line":"    - name: Determine the existing Ubuntu repo configuration"},{"line_number":43,"context_line":"      shell: \u0027awk \"/^deb .*ubuntu\\/? {{ ansible_distribution_release }} main/ {print \\$2; exit}\" /etc/apt/sources.list\u0027"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3ac371cc_6e6875f6","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":107},"updated":"2016-08-15 17:26:10.000000000","message":"This line is no longer required.","commit_id":"025f1164a1ef28ea0bfa4125fcebc3881bc555fc"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"d1e0cc86baf39f4c077d5ab04e9a42c402de59fd","unresolved":false,"context_lines":[{"line_number":43,"context_line":"      shell: \u0027awk \"/^deb .*ubuntu\\/? {{ ansible_distribution_release }} main/ {print \\$2; exit}\" /etc/apt/sources.list\u0027"},{"line_number":44,"context_line":"      register: ubuntu_repo"},{"line_number":45,"context_line":"      changed_when: false"},{"line_number":46,"context_line":"    - name: Set apt repo facts based on discovered information"},{"line_number":47,"context_line":"      set_fact:"},{"line_number":48,"context_line":"        lxc_container_template_main_apt_repo: \"{{ ubuntu_repo.stdout }}\""},{"line_number":49,"context_line":"        lxc_container_template_security_apt_rep: \"{{ ubuntu_repo.stdout }}\""},{"line_number":50,"context_line":"    - name: Include OVS testing vars"},{"line_number":51,"context_line":"      include_vars: ovs_test_vars.yml"},{"line_number":52,"context_line":"      when:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3ac371cc_ce3b69ea","line":49,"range":{"start_line":46,"start_character":0,"end_line":49,"end_character":75},"updated":"2016-08-15 17:26:10.000000000","message":"Another fact needs to be set for UCA: https://github.com/openstack/openstack-ansible-os_nova/blob/master/tests/test-install-nova.yml#L96-L110","commit_id":"025f1164a1ef28ea0bfa4125fcebc3881bc555fc"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"d1e0cc86baf39f4c077d5ab04e9a42c402de59fd","unresolved":false,"context_lines":[{"line_number":52,"context_line":"      when:"},{"line_number":53,"context_line":"        - groups[\u0027neutron_openvswitch_agent\u0027] | length \u003e 0"},{"line_number":54,"context_line":"  post_tasks:"},{"line_number":55,"context_line":"    - name: Create bridges"},{"line_number":56,"context_line":"      shell: /sbin/brctl addbr {{ item.name }} || true"},{"line_number":57,"context_line":"      with_items: bridges"},{"line_number":58,"context_line":"      when: bridges is defined"},{"line_number":59,"context_line":"    - name: IP bridges"},{"line_number":60,"context_line":"      command: /sbin/ifconfig {{ item.name }} {{ item.ip_addr }} netmask 255.255.255.0"},{"line_number":61,"context_line":"      with_items: bridges"},{"line_number":62,"context_line":"      when: bridges is defined"},{"line_number":63,"context_line":"    - name: Add iptables rule to ensure ssh checksum is correct"},{"line_number":64,"context_line":"      command: /sbin/iptables -A POSTROUTING -t mangle -p tcp --dport 22 -j CHECKSUM --checksum-fill"},{"line_number":65,"context_line":"    - name: Add iptables rules for lxc natting"},{"line_number":66,"context_line":"      command: /usr/local/bin/lxc-system-manage iptables-create"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"    #TODO (evrardjp) - cleanup to latest standard before the line:"},{"line_number":69,"context_line":"    - name: Install pip packages"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3ac371cc_ee8625b8","line":66,"range":{"start_line":55,"start_character":0,"end_line":66,"end_character":63},"updated":"2016-08-15 17:26:10.000000000","message":"I may be wrong but I think that there\u0027s quite a bit from https://review.openstack.org/354830 which should be moved into the tests repo - either in this patch or another.","commit_id":"025f1164a1ef28ea0bfa4125fcebc3881bc555fc"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"d1e0cc86baf39f4c077d5ab04e9a42c402de59fd","unresolved":false,"context_lines":[{"line_number":73,"context_line":"      retries: 5"},{"line_number":74,"context_line":"      delay: 2"},{"line_number":75,"context_line":"      with_items:"},{"line_number":76,"context_line":"        - lxc-python2"},{"line_number":77,"context_line":"        - python-openstackclient"},{"line_number":78,"context_line":"        - python-ironicclient"},{"line_number":79,"context_line":"  roles:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3ac371cc_8eee9189","line":76,"range":{"start_line":76,"start_character":0,"end_line":76,"end_character":21},"updated":"2016-08-15 17:26:10.000000000","message":"I think this is required before the execution of the lxc_hosts role, isn\u0027t it?","commit_id":"025f1164a1ef28ea0bfa4125fcebc3881bc555fc"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"d1e0cc86baf39f4c077d5ab04e9a42c402de59fd","unresolved":false,"context_lines":[{"line_number":74,"context_line":"      delay: 2"},{"line_number":75,"context_line":"      with_items:"},{"line_number":76,"context_line":"        - lxc-python2"},{"line_number":77,"context_line":"        - python-openstackclient"},{"line_number":78,"context_line":"        - python-ironicclient"},{"line_number":79,"context_line":"  roles:"},{"line_number":80,"context_line":"    - role: \"lxc_hosts\""},{"line_number":81,"context_line":"  vars_files:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3ac371cc_6e651544","line":78,"range":{"start_line":77,"start_character":0,"end_line":78,"end_character":29},"updated":"2016-08-15 17:26:10.000000000","message":"These are a little odd to include? What\u0027re they for?","commit_id":"025f1164a1ef28ea0bfa4125fcebc3881bc555fc"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"d1e0cc86baf39f4c077d5ab04e9a42c402de59fd","unresolved":false,"context_lines":[{"line_number":76,"context_line":"        - lxc-python2"},{"line_number":77,"context_line":"        - python-openstackclient"},{"line_number":78,"context_line":"        - python-ironicclient"},{"line_number":79,"context_line":"  roles:"},{"line_number":80,"context_line":"    - role: \"lxc_hosts\""},{"line_number":81,"context_line":"  vars_files:"},{"line_number":82,"context_line":"    - test-vars.yml"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3ac371cc_4ee659b5","line":80,"range":{"start_line":79,"start_character":0,"end_line":80,"end_character":23},"updated":"2016-08-15 17:26:10.000000000","message":"I would prefer the role execution to be between pre_tasks and post_tasks so that the sequence is a little more obvious.","commit_id":"025f1164a1ef28ea0bfa4125fcebc3881bc555fc"},{"author":{"_account_id":17068,"name":"Jean-Philippe Evrard","email":"openstack@a.spamming.party","username":"evrardjp"},"change_message_id":"7d16d0cb863a47c7a78ebb806d2b25a63ddf1a08","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        lxc_container_template_main_apt_repo: \"{{ ubuntu_repo.stdout }}\""},{"line_number":48,"context_line":"        lxc_container_template_security_apt_rep: \"{{ ubuntu_repo.stdout }}\""},{"line_number":49,"context_line":"        uca_apt_repo_url: \"{{ ubuntu_repo_url.stdout | netorigin }}/ubuntu-cloud-archive\""},{"line_number":50,"context_line":"    - name: Include OVS testing vars"},{"line_number":51,"context_line":"      include_vars: ovs_test_vars.yml"},{"line_number":52,"context_line":"      when:"},{"line_number":53,"context_line":"        - groups[\u0027neutron_openvswitch_agent\u0027] | length \u003e 0"},{"line_number":54,"context_line":"  roles:"},{"line_number":55,"context_line":"    - role: \"lxc_hosts\""},{"line_number":56,"context_line":"  post_tasks:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3ac371cc_821b8f72","line":53,"range":{"start_line":50,"start_character":0,"end_line":53,"end_character":58},"updated":"2016-08-17 14:56:48.000000000","message":"this seems neutron specific testing instead of being generic. Maybe we should be removing this.","commit_id":"fd94337a721a00821c9aca01379de3b6b2437c5f"},{"author":{"_account_id":19814,"name":"Travis Truman (automagically)","email":"travis_truman@cable.comcast.com","username":"trumant"},"change_message_id":"b5b0fbf7ce986482a5d0f253d2029dbd0744afc3","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        lxc_container_cache_files:"},{"line_number":39,"context_line":"          - { src: \u0027/etc/pip.conf\u0027, dest: \u0027/etc/pip.conf\u0027 }"},{"line_number":40,"context_line":"      when: nodepool.stat.exists | bool"},{"line_number":41,"context_line":"    - name: Determine the existing Ubuntu repo configuration"},{"line_number":42,"context_line":"      shell: \u0027awk \"/^deb .*ubuntu\\/? {{ ansible_distribution_release }} main/ {print \\$2; exit}\" /etc/apt/sources.list\u0027"},{"line_number":43,"context_line":"      register: ubuntu_repo"},{"line_number":44,"context_line":"      changed_when: false"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3ac371cc_1484eb5b","line":41,"updated":"2016-08-17 19:03:15.000000000","message":"Add when: ansible_os_family \u003d\u003d \u0027Debian\u0027","commit_id":"e1355efa214ef3766a7a630194791dba81d1b9cf"},{"author":{"_account_id":19814,"name":"Travis Truman (automagically)","email":"travis_truman@cable.comcast.com","username":"trumant"},"change_message_id":"b5b0fbf7ce986482a5d0f253d2029dbd0744afc3","unresolved":false,"context_lines":[{"line_number":42,"context_line":"      shell: \u0027awk \"/^deb .*ubuntu\\/? {{ ansible_distribution_release }} main/ {print \\$2; exit}\" /etc/apt/sources.list\u0027"},{"line_number":43,"context_line":"      register: ubuntu_repo"},{"line_number":44,"context_line":"      changed_when: false"},{"line_number":45,"context_line":"    - name: Set apt repo facts based on discovered information"},{"line_number":46,"context_line":"      set_fact:"},{"line_number":47,"context_line":"        lxc_container_template_main_apt_repo: \"{{ ubuntu_repo.stdout }}\""},{"line_number":48,"context_line":"        lxc_container_template_security_apt_rep: \"{{ ubuntu_repo.stdout }}\""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3ac371cc_d48ed377","line":45,"updated":"2016-08-17 19:03:15.000000000","message":"Add when: ansible_os_family \u003d\u003d \u0027Debian\u0027","commit_id":"e1355efa214ef3766a7a630194791dba81d1b9cf"}]}
