)]}'
{"tests/run.yml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"dd98877a0bb439c75d356cefa1036a8509e5eb89","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            chdir: \"{{ kolla_ansible_src_dir }}\""},{"line_number":207,"context_line":"          environment:"},{"line_number":208,"context_line":"            ACTION: \"{{ scenario }}\""},{"line_number":209,"context_line":"            DASHBOARD_URL: \"http://{{ api_interface_address if hostvars | length \u003e 2 else \u0027169.254.169.10\u0027 }}\""},{"line_number":210,"context_line":"          when: scenario not in [\u0027ironic\u0027, \u0027scenario_nfv\u0027]"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        - name: Run test-zun.sh script"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7faddb67_b6099f31","line":209,"range":{"start_line":209,"start_character":35,"end_line":209,"end_character":109},"updated":"2019-08-20 17:12:25.000000000","message":"maybe just make kolla_internal_vip_address a fact in this playbook, preseed globals template with it, and reuse, reuse, DRY!","commit_id":"9a824721b01babc5a8a5bba85ca2d57a552983ca"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a1e1e893d2a6fd06f679c98881b30e330cc7ca5b","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            chdir: \"{{ kolla_ansible_src_dir }}\""},{"line_number":207,"context_line":"          environment:"},{"line_number":208,"context_line":"            ACTION: \"{{ scenario }}\""},{"line_number":209,"context_line":"            DASHBOARD_URL: \"http://{{ api_interface_address if hostvars | length \u003e 2 else \u0027169.254.169.10\u0027 }}\""},{"line_number":210,"context_line":"          when: scenario not in [\u0027ironic\u0027, \u0027scenario_nfv\u0027]"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        - name: Run test-zun.sh script"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"5faad753_7054b453","line":209,"range":{"start_line":209,"start_character":35,"end_line":209,"end_character":109},"in_reply_to":"7faddb67_17fae241","updated":"2019-09-14 19:00:33.000000000","message":"\u003e You typed reuse twice. Don\u0027t repeat yourself :p\n\nDRY from now on - I pumice!","commit_id":"9a824721b01babc5a8a5bba85ca2d57a552983ca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1dd4389bc602329506f7ffbdc7ab6d92873515a2","unresolved":false,"context_lines":[{"line_number":206,"context_line":"            chdir: \"{{ kolla_ansible_src_dir }}\""},{"line_number":207,"context_line":"          environment:"},{"line_number":208,"context_line":"            ACTION: \"{{ scenario }}\""},{"line_number":209,"context_line":"            DASHBOARD_URL: \"http://{{ api_interface_address if hostvars | length \u003e 2 else \u0027169.254.169.10\u0027 }}\""},{"line_number":210,"context_line":"          when: scenario not in [\u0027ironic\u0027, \u0027scenario_nfv\u0027]"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        - name: Run test-zun.sh script"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7faddb67_17fae241","line":209,"range":{"start_line":209,"start_character":35,"end_line":209,"end_character":109},"in_reply_to":"7faddb67_b6099f31","updated":"2019-09-11 15:48:30.000000000","message":"You typed reuse twice. Don\u0027t repeat yourself :p","commit_id":"9a824721b01babc5a8a5bba85ca2d57a552983ca"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"f77d44b680b49ca2986d5cd8779b0ee77b97ef30","unresolved":false,"context_lines":[{"line_number":13,"context_line":"        is_ceph: \"{{ \u0027ceph\u0027 in scenario }}\""},{"line_number":14,"context_line":"        api_interface_address: \"{{ nodepool.private_ipv4 }}\""},{"line_number":15,"context_line":"        # FIXME: in multi node env, api_interface may be different on each node."},{"line_number":16,"context_line":"        api_interface_name: \u003e-"},{"line_number":17,"context_line":"          {{ ansible_interfaces |"},{"line_number":18,"context_line":"             map(\u0027replace\u0027, \u0027-\u0027, \u0027_\u0027) |"},{"line_number":19,"context_line":"             map(\u0027extract\u0027, ansible_facts) |"},{"line_number":20,"context_line":"             selectattr(\u0027ipv4.address\u0027, \u0027defined\u0027) |"},{"line_number":21,"context_line":"             selectattr(\u0027ipv4.address\u0027, \u0027equalto\u0027, api_interface_address) |"},{"line_number":22,"context_line":"             first |"},{"line_number":23,"context_line":"             attr(\u0027device\u0027) }}"},{"line_number":24,"context_line":"        # We use HAProxy and a VIP for single node, not for multinode jobs."},{"line_number":25,"context_line":"        kolla_internal_vip_address: \"{{ api_interface_address if hostvars | length \u003e 2 else \u0027169.254.169.10\u0027 }}\""},{"line_number":26,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_cc659c46","line":23,"range":{"start_line":16,"start_character":8,"end_line":23,"end_character":30},"updated":"2019-08-21 10:58:06.000000000","message":"you didn\u0027t have to do this but I guess you like this notation","commit_id":"fec51968635023e691ce15bd052bbd2ac7fc832b"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a1e1e893d2a6fd06f679c98881b30e330cc7ca5b","unresolved":false,"context_lines":[{"line_number":13,"context_line":"        is_ceph: \"{{ \u0027ceph\u0027 in scenario }}\""},{"line_number":14,"context_line":"        api_interface_address: \"{{ nodepool.private_ipv4 }}\""},{"line_number":15,"context_line":"        # FIXME: in multi node env, api_interface may be different on each node."},{"line_number":16,"context_line":"        api_interface_name: \u003e-"},{"line_number":17,"context_line":"          {{ ansible_interfaces |"},{"line_number":18,"context_line":"             map(\u0027replace\u0027, \u0027-\u0027, \u0027_\u0027) |"},{"line_number":19,"context_line":"             map(\u0027extract\u0027, ansible_facts) |"},{"line_number":20,"context_line":"             selectattr(\u0027ipv4.address\u0027, \u0027defined\u0027) |"},{"line_number":21,"context_line":"             selectattr(\u0027ipv4.address\u0027, \u0027equalto\u0027, api_interface_address) |"},{"line_number":22,"context_line":"             first |"},{"line_number":23,"context_line":"             attr(\u0027device\u0027) }}"},{"line_number":24,"context_line":"        # We use HAProxy and a VIP for single node, not for multinode jobs."},{"line_number":25,"context_line":"        kolla_internal_vip_address: \"{{ api_interface_address if hostvars | length \u003e 2 else \u0027169.254.169.10\u0027 }}\""},{"line_number":26,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"5faad753_304abcab","line":23,"range":{"start_line":16,"start_character":8,"end_line":23,"end_character":30},"in_reply_to":"7faddb67_8ce9e47f","updated":"2019-09-14 19:00:33.000000000","message":"\u003e True, I didn\u0027t.\n\nIt\u0027s going to go away with VXLAN thankfully. :-)","commit_id":"fec51968635023e691ce15bd052bbd2ac7fc832b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1dd4389bc602329506f7ffbdc7ab6d92873515a2","unresolved":false,"context_lines":[{"line_number":13,"context_line":"        is_ceph: \"{{ \u0027ceph\u0027 in scenario }}\""},{"line_number":14,"context_line":"        api_interface_address: \"{{ nodepool.private_ipv4 }}\""},{"line_number":15,"context_line":"        # FIXME: in multi node env, api_interface may be different on each node."},{"line_number":16,"context_line":"        api_interface_name: \u003e-"},{"line_number":17,"context_line":"          {{ ansible_interfaces |"},{"line_number":18,"context_line":"             map(\u0027replace\u0027, \u0027-\u0027, \u0027_\u0027) |"},{"line_number":19,"context_line":"             map(\u0027extract\u0027, ansible_facts) |"},{"line_number":20,"context_line":"             selectattr(\u0027ipv4.address\u0027, \u0027defined\u0027) |"},{"line_number":21,"context_line":"             selectattr(\u0027ipv4.address\u0027, \u0027equalto\u0027, api_interface_address) |"},{"line_number":22,"context_line":"             first |"},{"line_number":23,"context_line":"             attr(\u0027device\u0027) }}"},{"line_number":24,"context_line":"        # We use HAProxy and a VIP for single node, not for multinode jobs."},{"line_number":25,"context_line":"        kolla_internal_vip_address: \"{{ api_interface_address if hostvars | length \u003e 2 else \u0027169.254.169.10\u0027 }}\""},{"line_number":26,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_8ce9e47f","line":23,"range":{"start_line":16,"start_character":8,"end_line":23,"end_character":30},"in_reply_to":"7faddb67_cc659c46","updated":"2019-09-11 15:48:30.000000000","message":"True, I didn\u0027t.","commit_id":"fec51968635023e691ce15bd052bbd2ac7fc832b"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"f77d44b680b49ca2986d5cd8779b0ee77b97ef30","unresolved":false,"context_lines":[{"line_number":22,"context_line":"             first |"},{"line_number":23,"context_line":"             attr(\u0027device\u0027) }}"},{"line_number":24,"context_line":"        # We use HAProxy and a VIP for single node, not for multinode jobs."},{"line_number":25,"context_line":"        kolla_internal_vip_address: \"{{ api_interface_address if hostvars | length \u003e 2 else \u0027169.254.169.10\u0027 }}\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    - name: Prepare disks for Ceph or LVM"},{"line_number":28,"context_line":"      script: \"setup_disks.sh {{ disk_type }}\""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"7faddb67_8c8244c6","line":25,"range":{"start_line":25,"start_character":40,"end_line":25,"end_character":61},"updated":"2019-08-21 10:58:06.000000000","message":"of primary (and has to be in the next task)","commit_id":"fec51968635023e691ce15bd052bbd2ac7fc832b"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"a1e1e893d2a6fd06f679c98881b30e330cc7ca5b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"             first |"},{"line_number":23,"context_line":"             attr(\u0027device\u0027) }}"},{"line_number":24,"context_line":"        # We use HAProxy and a VIP for single node, not for multinode jobs."},{"line_number":25,"context_line":"        kolla_internal_vip_address: \"{{ api_interface_address if hostvars | length \u003e 2 else \u0027169.254.169.10\u0027 }}\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    - name: Prepare disks for Ceph or LVM"},{"line_number":28,"context_line":"      script: \"setup_disks.sh {{ disk_type }}\""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"5faad753_d0c80823","line":25,"range":{"start_line":25,"start_character":40,"end_line":25,"end_character":61},"in_reply_to":"7faddb67_8c8244c6","updated":"2019-09-14 19:00:33.000000000","message":"Ok, it\u0027s used only on primary so it\u0027s irrelevant whether others get it wrong or not.","commit_id":"fec51968635023e691ce15bd052bbd2ac7fc832b"}],"tests/test-openstack.sh":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"b695d00f1647e9d820e22b1e4b0a4c8e9c51f610","unresolved":false,"context_lines":[{"line_number":84,"context_line":"function test_dashboard {"},{"line_number":85,"context_line":"    echo \"TESTING: Dashboard\""},{"line_number":86,"context_line":"    output\u003d$(curl --include --location --fail $DASHBOARD_URL)"},{"line_number":87,"context_line":"    if ! echo \"$output\" | grep Login; then"},{"line_number":88,"context_line":"        echo \"Could not find \u0027Login\u0027 in dashboard HTML\""},{"line_number":89,"context_line":"        echo \"$output\""},{"line_number":90,"context_line":"        return 1"}],"source_content_type":"text/x-sh","patch_set":2,"id":"7faddb67_99942f38","line":87,"range":{"start_line":87,"start_character":4,"end_line":87,"end_character":42},"updated":"2019-08-14 16:01:53.000000000","message":"still better than nothing :-)","commit_id":"41ca165a1d2b45b3d5eec206ae0ded410e605477"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8c03cb9b8fef4c738cd89c1e041d4712d23c333b","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    . /etc/kolla/admin-openrc.sh"},{"line_number":94,"context_line":"    . ~/openstackclient-venv/bin/activate"},{"line_number":95,"context_line":"    test_smoke"},{"line_number":96,"context_line":"    test_nova_cinder"},{"line_number":97,"context_line":"    test_dashboard"},{"line_number":98,"context_line":"}"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-sh","patch_set":6,"id":"7faddb67_e5ba1b09","line":96,"range":{"start_line":96,"start_character":4,"end_line":96,"end_character":20},"updated":"2019-08-19 10:59:08.000000000","message":"test_nova_neutron_glance_cinder ?\nin fact they are all tested in there, only nova and cinder directly via client though","commit_id":"76aad53fd7ae84d310f0a03006417dd7b632fa47"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"52dd508098d69761353acddf774a9c27567c35f3","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    . /etc/kolla/admin-openrc.sh"},{"line_number":94,"context_line":"    . ~/openstackclient-venv/bin/activate"},{"line_number":95,"context_line":"    test_smoke"},{"line_number":96,"context_line":"    test_nova_cinder"},{"line_number":97,"context_line":"    test_dashboard"},{"line_number":98,"context_line":"}"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-sh","patch_set":6,"id":"7faddb67_453bef36","line":96,"range":{"start_line":96,"start_character":4,"end_line":96,"end_character":20},"in_reply_to":"7faddb67_054df739","updated":"2019-08-19 11:28:34.000000000","message":"yeah, I like that, we also not necessarily test cinder - not tested unless with ceph or lvm","commit_id":"76aad53fd7ae84d310f0a03006417dd7b632fa47"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"7467bfae2a004a16dfa667107bfcfefcf2ee074d","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    . /etc/kolla/admin-openrc.sh"},{"line_number":94,"context_line":"    . ~/openstackclient-venv/bin/activate"},{"line_number":95,"context_line":"    test_smoke"},{"line_number":96,"context_line":"    test_nova_cinder"},{"line_number":97,"context_line":"    test_dashboard"},{"line_number":98,"context_line":"}"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-sh","patch_set":6,"id":"7faddb67_054df739","line":96,"range":{"start_line":96,"start_character":4,"end_line":96,"end_character":20},"in_reply_to":"7faddb67_e5ba1b09","updated":"2019-08-19 11:00:43.000000000","message":"true, got a better name? test_instance_boot?","commit_id":"76aad53fd7ae84d310f0a03006417dd7b632fa47"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"dd98877a0bb439c75d356cefa1036a8509e5eb89","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        attempt\u003d$((attempt+1))"},{"line_number":82,"context_line":"        if [[ $attempt -eq 10 ]]; then"},{"line_number":83,"context_line":"            echo \"FAILED: Dashboard did not become accessible\""},{"line_number":84,"context_line":"            curl --include --location --fail $DASHBOARD_URL"},{"line_number":85,"context_line":"            return 1"},{"line_number":86,"context_line":"        fi"},{"line_number":87,"context_line":"        sleep 10"},{"line_number":88,"context_line":"    done"}],"source_content_type":"text/x-sh","patch_set":7,"id":"7faddb67_f63ab7e3","line":85,"range":{"start_line":84,"start_character":12,"end_line":85,"end_character":20},"updated":"2019-08-20 17:12:25.000000000","message":"since you assume it to fail, better || return 1 (but could start working and then it works weird again)\nbetter yet, capture output from the looped curl with tee into some log file with appending and we are golden, could also tee to stdout since we capture this","commit_id":"9a824721b01babc5a8a5bba85ca2d57a552983ca"}]}
