{"action":"created","comment":{"url":"https://api.github.com/repos/kata-containers/tests/pulls/comments/204049186","pull_request_review_id":139053888,"id":204049186,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwNDA0OTE4Ng==","diff_hunk":"@@ -0,0 +1,540 @@\n+#!/bin/bash\n+#\n+# Copyright (c) 2018 Intel Corporation\n+#\n+# SPDX-License-Identifier: Apache-2.0\n+#\n+# This test measures the following network essentials:\n+# - bandwith simplex\n+# - bandwith duplex\n+# - jitter\n+#\n+# These metrics/results will be got from the interconnection between\n+# a client and a server using iperf tool.\n+# The following cases are covered:\n+#\n+# case 1:\n+#  container-server <----> container-client\n+#\n+# case 2\"\n+#  container-server <----> host-client\n+\n+set -e\n+\n+SCRIPT_PATH=$(dirname \"$(readlink -f \"$0\")\")\n+source \"${SCRIPT_PATH}/lib/network-common.bash\"\n+source \"${SCRIPT_PATH}/../lib/common.bash\"\n+\n+# Port number where the server will run\n+port=\"${port:-5201}\"\n+fwd_port=\"${fwd_port:-$port:$port}\"\n+# Image name\n+image=\"${image:-gabyct/network}\"\n+# Measurement time (seconds)\n+transmit_timeout=\"${transmit_timeout:-5}\"\n+\n+# Iperf server configuration\n+# Set the TMPDIR to an existing tmpfs mount to avoid a 9p unlink error\n+init_cmds=\"export TMPDIR=/dev/shm\"\n+server_command=\"$init_cmds && iperf3 -s\"\n+\n+# Test single direction TCP bandwith\n+function iperf3_bandwidth() {\n+\tlocal TEST_NAME=\"network iperf3 bandwidth\"\n+\tlocal server_address=$(start_server \"$image\" \"$server_command\" \"$server_extra_args\")\n+\n+\t# Verify server IP address\n+\tif [ -z \"$server_address\" ];then\n+\t\tclean_env\n+\t\tdie \"server: ip address no found\"\n+\tfi\n+\n+\t# Start client\n+\tlocal client_command=\"$init_cmds && iperf3 -c ${server_address} -t ${transmit_timeout}\"\n+\n+\tmetrics_json_init\n+\n+\t# Start server\n+\tresult=$(start_client \"$image\" \"$client_command\" \"$client_extra_args\")\n+\n+\t# Save configuration\n+\tmetrics_json_start_array\n+\n+\tlocal result_line=$(echo \"$result\" | grep -m1 -E '\\breceiver\\b')\n+\tlocal -a results\n+\tread -a results <<< $result_line\n+\tlocal total_bandwidth=${results[6]}\n+\tlocal total_bandwidth_units=${results[7]}\n+\n+\tlocal json=\"$(cat << EOF\n+ \t{\n+ \t\t\"iperf3 network bandwidth\": {\n+\t\t\t\"Result\" : $total_bandwidth,\n+\t\t\t\"Units\"  : \"$total_bandwidth_units\"\n+\t\t}\n+\t}\n+EOF\n+)\"\n+\n+\tmetrics_json_add_array_element \"$json\"\n+\tmetrics_json_end_array \"Results\"\n+\tmetrics_json_save\n+\tclean_env\n+}\n+\n+# Test jitter on single direction UDP\n+function iperf3_jitter() {\n+\tlocal TEST_NAME=\"network iperf3 jitter\"\n+\t# Start server\n+\tlocal server_address=$(start_server \"$image\" \"$server_command\" \"$server_extra_args\")\n+\n+\t# Verify server IP address\n+\tif [ -z \"$server_address\" ];then\n+\t\tclean_env\n+\t\tdie \"server: ip address no found\"\n+\tfi\n+\n+\tmetrics_json_init\n+\n+\t# Start server\n+\tlocal client_command=\"$init_cmds && iperf3 -c ${server_address} -u -t ${transmit_timeout}\"\n+\tresult=$(start_client \"$image\" \"$client_command\" \"$client_extra_args\")\n+\n+\t# Save configuration\n+\tmetrics_json_start_array\n+\n+\tlocal result_line=$(echo \"$result\" | grep -m2 -A2 -E '\\bJitter\\b' | tail -1)\n+\tlocal -a results\n+\tread -a results <<< $result_line\n+\tlocal total_jitter=${results[8]}\n+\tlocal total_jitter_units=${results[9]}\n+\n+\tlocal json=\"$(cat << EOF\n+\t{\n+\t\t\"iperf3 network jitter\": {\n+\t\t\t\"Result\" : $total_jitter,\n+\t\t\t\"Units\"  : \"$total_jitter_units\"\n+\t\t}\n+\t}\n+EOF\n+)\"\n+\n+\tmetrics_json_add_array_element \"$json\"\n+\tmetrics_json_end_array \"Results\"\n+\tmetrics_json_save\n+\tclean_env\n+}\n+\n+# Run bi-directional TCP test, and extract results for both directions\n+function iperf3_bidirectional_bandwidth_client_server() {\n+\tlocal TEST_NAME=\"network iperf3 bidirectional bandwidth\"\n+\t# Start server\n+\tlocal server_address=$(start_server \"$image\" \"$server_command\" \"$server_extra_args\")\n+\n+\t# Verify server IP address\n+\tif [ -z \"$server_address\" ];then\n+\t\tclean_env\n+\t\tdie \"server: ip address no found\"\n+\tfi\n+\n+\tmetrics_json_init\n+\n+\t# Start client\n+\tlocal client_command=\"$init_cmds && iperf3 -c ${server_address} -d -t ${transmit_timeout}\"\n+\tresult=$(start_client \"$image\" \"$client_command\" \"$client_extra_args\")\n+\n+\t# Save configuration\n+\tmetrics_json_start_array\n+\n+\tlocal client_result=$(echo \"$result\" | grep -m1 -E '\\breceiver\\b')\n+\tlocal server_result=$(echo \"$result\" | grep -m1 -E '\\bsender\\b')\n+\tlocal -a client_results\n+\tread -a client_results <<< ${client_result}\n+\tread -a server_results <<< ${server_result}\n+\tlocal total_bidirectional_client_bandwidth=${client_results[6]}\n+\tlocal total_bidirectional_client_bandwidth_units=${client_results[7]}\n+\tlocal total_bidirectional_server_bandwidth=${server_results[6]}\n+\tlocal total_bidirectional_server_bandwidth_units=${server_results[7]}\n+\n+\tlocal json=\"$(cat << EOF\n+\t{\n+\t\t\"network iperf3 bidir bw client to server\": {\n+\t\t\t\"Result\" : $total_bidirectional_client_bandwidth,\n+\t\t\t\"Units\"  : \"$total_bidirectional_client_bandwidth_units\"\n+\t\t},\n+\t\t\"network iperf3 bidir bw server to client\": {\n+ \t\t\t\"Result\" : $total_bidirectional_server_bandwidth,\n+\t\t\t\"Units\"  : \"$total_bidirectional_server_bandwidth_units\"\n+\t\t}\n+\t}\n+EOF\n+)\"\n+\n+\tmetrics_json_add_array_element \"$json\"\n+\tmetrics_json_end_array \"Results\"\n+\tmetrics_json_save\n+\tclean_env\n+}\n+\n+# This function checks/verify if the iperf3 server\n+# is ready/up for requests.\n+function check_iperf_server() {\n+\t# timeout of 3 seconds aprox.\n+\tlocal time_out=6\n+\tlocal period=0.5\n+\tlocal test_cmd=\"iperf3 -c \"$server_address\" -t 1\"\n+\n+\t# check tools dependencies\n+\tlocal cmds=(\"netstat\")\n+\tcheck_cmds \"${cmds[@]}\"\n+\n+\twhile [ 1 ]; do\n+\t\tif ! bash -c \"$test_cmd\" > /dev/null 2>&1; then\n+\t\t\techo \"waiting for server...\"\n+\t\t\tcount=$((count+1))\n+\t\t\tsleep $period\n+\t\telse\n+\t\t\techo \"iperf server is up!\"\n+\t\t\tbreak;\n+\t\tfi\n+\n+\t\tif [ \"$count\" == \"$time_out\" ]; then\n+\t\t\tdie \"iperf server init fails\"\n+\t\tfi\n+\tdone\n+\n+\t# Check listening port\n+\tlport=\"$(netstat -atun | grep \"$port\" | grep \"LISTEN\")\"\n+\tif [ -z \"$lport\" ]; then\n+\t\tdie \"port is not listening\"\n+\tfi\n+}\n+\n+# This function parses the output of iperf execution\n+function parse_iperf_bwd() {\n+\tlocal TEST_NAME=\"$1\"\n+\tlocal result=\"$2\"\n+\n+\tmetrics_json_init\n+\n+\tif [ -z \"$result\" ]; then\n+\t\tdie \"no result output\"\n+\tfi\n+\n+\t# Save configuration\n+\tmetrics_json_start_array\n+\n+\t# Filter receiver/sender results\n+\trx_res=$(echo \"$result\" | grep \"receiver\" | awk -F \"]\" '{print $2}')\n+\ttx_res=$(echo \"$result\" | grep \"sender\" | awk -F \"]\" '{print $2}')\n+\n+ \t# Getting results\n+\trx_bwd=$(echo \"$rx_res\" | awk '{print $5}')\n+\ttx_bwd=$(echo \"$tx_res\" | awk '{print $5}')\n+\trx_uts=$(echo \"$rx_res\" | awk '{print $6}')\n+\ttx_uts=$(echo \"$tx_res\" | awk '{print $6}')\n+\n+\tlocal json=\"$(cat << EOF\n+\t{\n+ \t\t\"${TEST_NAME} receiver\": {","path":"metrics/network/network-metrics-iperf3.sh","position":239,"original_position":239,"commit_id":"c8a5394628f895d854680e911babc1048ed595d9","original_commit_id":"c8a5394628f895d854680e911babc1048ed595d9","user":{"login":"grahamwhaley","id":4761717,"node_id":"MDQ6VXNlcjQ3NjE3MTc=","avatar_url":"https://avatars3.githubusercontent.com/u/4761717?v=4","gravatar_id":"","url":"https://api.github.com/users/grahamwhaley","html_url":"https://github.com/grahamwhaley","followers_url":"https://api.github.com/users/grahamwhaley/followers","following_url":"https://api.github.com/users/grahamwhaley/following{/other_user}","gists_url":"https://api.github.com/users/grahamwhaley/gists{/gist_id}","starred_url":"https://api.github.com/users/grahamwhaley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grahamwhaley/subscriptions","organizations_url":"https://api.github.com/users/grahamwhaley/orgs","repos_url":"https://api.github.com/users/grahamwhaley/repos","events_url":"https://api.github.com/users/grahamwhaley/events{/privacy}","received_events_url":"https://api.github.com/users/grahamwhaley/received_events","type":"User","site_admin":false},"body":"The `TEST_NAME` is encoded during the `metrics_json_init` I think, so is somewhat redundant here - I'd drop it from these section names.","created_at":"2018-07-20T13:46:20Z","updated_at":"2018-07-20T14:04:49Z","html_url":"https://github.com/kata-containers/tests/pull/510#discussion_r204049186","pull_request_url":"https://api.github.com/repos/kata-containers/tests/pulls/510","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/kata-containers/tests/pulls/comments/204049186"},"html":{"href":"https://github.com/kata-containers/tests/pull/510#discussion_r204049186"},"pull_request":{"href":"https://api.github.com/repos/kata-containers/tests/pulls/510"}}},"pull_request":{"url":"https://api.github.com/repos/kata-containers/tests/pulls/510","id":202302563,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAyMzAyNTYz","html_url":"https://github.com/kata-containers/tests/pull/510","diff_url":"https://github.com/kata-containers/tests/pull/510.diff","patch_url":"https://github.com/kata-containers/tests/pull/510.patch","issue_url":"https://api.github.com/repos/kata-containers/tests/issues/510","number":510,"state":"open","locked":false,"title":"metrics: Iperf3 bandwidth, jitter, multiqueue and bidirectional tests","user":{"login":"GabyCT","id":20359065,"node_id":"MDQ6VXNlcjIwMzU5MDY1","avatar_url":"https://avatars1.githubusercontent.com/u/20359065?v=4","gravatar_id":"","url":"https://api.github.com/users/GabyCT","html_url":"https://github.com/GabyCT","followers_url":"https://api.github.com/users/GabyCT/followers","following_url":"https://api.github.com/users/GabyCT/following{/other_user}","gists_url":"https://api.github.com/users/GabyCT/gists{/gist_id}","starred_url":"https://api.github.com/users/GabyCT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GabyCT/subscriptions","organizations_url":"https://api.github.com/users/GabyCT/orgs","repos_url":"https://api.github.com/users/GabyCT/repos","events_url":"https://api.github.com/users/GabyCT/events{/privacy}","received_events_url":"https://api.github.com/users/GabyCT/received_events","type":"User","site_admin":false},"body":"This test measures bandwidth, jitter, multiqueue and bidirectional\r\nbandwidth using iperf3.\r\n\r\nFixes #509\r\n\r\nSigned-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>","created_at":"2018-07-18T15:58:51Z","updated_at":"2018-07-20T14:04:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4724de24664d42df56384f7a0092a5efd67209aa","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/kata-containers/tests/pulls/510/commits","review_comments_url":"https://api.github.com/repos/kata-containers/tests/pulls/510/comments","review_comment_url":"https://api.github.com/repos/kata-containers/tests/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kata-containers/tests/issues/510/comments","statuses_url":"https://api.github.com/repos/kata-containers/tests/statuses/c8a5394628f895d854680e911babc1048ed595d9","head":{"label":"GabyCT:topic/addbandwidthiperf","ref":"topic/addbandwidthiperf","sha":"c8a5394628f895d854680e911babc1048ed595d9","user":{"login":"GabyCT","id":20359065,"node_id":"MDQ6VXNlcjIwMzU5MDY1","avatar_url":"https://avatars1.githubusercontent.com/u/20359065?v=4","gravatar_id":"","url":"https://api.github.com/users/GabyCT","html_url":"https://github.com/GabyCT","followers_url":"https://api.github.com/users/GabyCT/followers","following_url":"https://api.github.com/users/GabyCT/following{/other_user}","gists_url":"https://api.github.com/users/GabyCT/gists{/gist_id}","starred_url":"https://api.github.com/users/GabyCT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GabyCT/subscriptions","organizations_url":"https://api.github.com/users/GabyCT/orgs","repos_url":"https://api.github.com/users/GabyCT/repos","events_url":"https://api.github.com/users/GabyCT/events{/privacy}","received_events_url":"https://api.github.com/users/GabyCT/received_events","type":"User","site_admin":false},"repo":{"id":118497136,"node_id":"MDEwOlJlcG9zaXRvcnkxMTg0OTcxMzY=","name":"tests-1","full_name":"GabyCT/tests-1","owner":{"login":"GabyCT","id":20359065,"node_id":"MDQ6VXNlcjIwMzU5MDY1","avatar_url":"https://avatars1.githubusercontent.com/u/20359065?v=4","gravatar_id":"","url":"https://api.github.com/users/GabyCT","html_url":"https://github.com/GabyCT","followers_url":"https://api.github.com/users/GabyCT/followers","following_url":"https://api.github.com/users/GabyCT/following{/other_user}","gists_url":"https://api.github.com/users/GabyCT/gists{/gist_id}","starred_url":"https://api.github.com/users/GabyCT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GabyCT/subscriptions","organizations_url":"https://api.github.com/users/GabyCT/orgs","repos_url":"https://api.github.com/users/GabyCT/repos","events_url":"https://api.github.com/users/GabyCT/events{/privacy}","received_events_url":"https://api.github.com/users/GabyCT/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/GabyCT/tests-1","description":"Kata Containers tests, CI, and metrics","fork":true,"url":"https://api.github.com/repos/GabyCT/tests-1","forks_url":"https://api.github.com/repos/GabyCT/tests-1/forks","keys_url":"https://api.github.com/repos/GabyCT/tests-1/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GabyCT/tests-1/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GabyCT/tests-1/teams","hooks_url":"https://api.github.com/repos/GabyCT/tests-1/hooks","issue_events_url":"https://api.github.com/repos/GabyCT/tests-1/issues/events{/number}","events_url":"https://api.github.com/repos/GabyCT/tests-1/events","assignees_url":"https://api.github.com/repos/GabyCT/tests-1/assignees{/user}","branches_url":"https://api.github.com/repos/GabyCT/tests-1/branches{/branch}","tags_url":"https://api.github.com/repos/GabyCT/tests-1/tags","blobs_url":"https://api.github.com/repos/GabyCT/tests-1/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GabyCT/tests-1/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GabyCT/tests-1/git/refs{/sha}","trees_url":"https://api.github.com/repos/GabyCT/tests-1/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GabyCT/tests-1/statuses/{sha}","languages_url":"https://api.github.com/repos/GabyCT/tests-1/languages","stargazers_url":"https://api.github.com/repos/GabyCT/tests-1/stargazers","contributors_url":"https://api.github.com/repos/GabyCT/tests-1/contributors","subscribers_url":"https://api.github.com/repos/GabyCT/tests-1/subscribers","subscription_url":"https://api.github.com/repos/GabyCT/tests-1/subscription","commits_url":"https://api.github.com/repos/GabyCT/tests-1/commits{/sha}","git_commits_url":"https://api.github.com/repos/GabyCT/tests-1/git/commits{/sha}","comments_url":"https://api.github.com/repos/GabyCT/tests-1/comments{/number}","issue_comment_url":"https://api.github.com/repos/GabyCT/tests-1/issues/comments{/number}","contents_url":"https://api.github.com/repos/GabyCT/tests-1/contents/{+path}","compare_url":"https://api.github.com/repos/GabyCT/tests-1/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GabyCT/tests-1/merges","archive_url":"https://api.github.com/repos/GabyCT/tests-1/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GabyCT/tests-1/downloads","issues_url":"https://api.github.com/repos/GabyCT/tests-1/issues{/number}","pulls_url":"https://api.github.com/repos/GabyCT/tests-1/pulls{/number}","milestones_url":"https://api.github.com/repos/GabyCT/tests-1/milestones{/number}","notifications_url":"https://api.github.com/repos/GabyCT/tests-1/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GabyCT/tests-1/labels{/name}","releases_url":"https://api.github.com/repos/GabyCT/tests-1/releases{/id}","deployments_url":"https://api.github.com/repos/GabyCT/tests-1/deployments","created_at":"2018-01-22T18:24:47Z","updated_at":"2018-06-06T21:42:50Z","pushed_at":"2018-07-18T16:17:43Z","git_url":"git://github.com/GabyCT/tests-1.git","ssh_url":"git@github.com:GabyCT/tests-1.git","clone_url":"https://github.com/GabyCT/tests-1.git","svn_url":"https://github.com/GabyCT/tests-1","homepage":"","size":2170,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"kata-containers:master","ref":"master","sha":"805092aeeeb8897b355bbcb2b174ff3d5dda59ae","user":{"login":"kata-containers","id":33289952,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMzMjg5OTUy","avatar_url":"https://avatars3.githubusercontent.com/u/33289952?v=4","gravatar_id":"","url":"https://api.github.com/users/kata-containers","html_url":"https://github.com/kata-containers","followers_url":"https://api.github.com/users/kata-containers/followers","following_url":"https://api.github.com/users/kata-containers/following{/other_user}","gists_url":"https://api.github.com/users/kata-containers/gists{/gist_id}","starred_url":"https://api.github.com/users/kata-containers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kata-containers/subscriptions","organizations_url":"https://api.github.com/users/kata-containers/orgs","repos_url":"https://api.github.com/users/kata-containers/repos","events_url":"https://api.github.com/users/kata-containers/events{/privacy}","received_events_url":"https://api.github.com/users/kata-containers/received_events","type":"Organization","site_admin":false},"repo":{"id":110539912,"node_id":"MDEwOlJlcG9zaXRvcnkxMTA1Mzk5MTI=","name":"tests","full_name":"kata-containers/tests","owner":{"login":"kata-containers","id":33289952,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMzMjg5OTUy","avatar_url":"https://avatars3.githubusercontent.com/u/33289952?v=4","gravatar_id":"","url":"https://api.github.com/users/kata-containers","html_url":"https://github.com/kata-containers","followers_url":"https://api.github.com/users/kata-containers/followers","following_url":"https://api.github.com/users/kata-containers/following{/other_user}","gists_url":"https://api.github.com/users/kata-containers/gists{/gist_id}","starred_url":"https://api.github.com/users/kata-containers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kata-containers/subscriptions","organizations_url":"https://api.github.com/users/kata-containers/orgs","repos_url":"https://api.github.com/users/kata-containers/repos","events_url":"https://api.github.com/users/kata-containers/events{/privacy}","received_events_url":"https://api.github.com/users/kata-containers/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/kata-containers/tests","description":"Kata Containers tests, CI, and metrics","fork":false,"url":"https://api.github.com/repos/kata-containers/tests","forks_url":"https://api.github.com/repos/kata-containers/tests/forks","keys_url":"https://api.github.com/repos/kata-containers/tests/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kata-containers/tests/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kata-containers/tests/teams","hooks_url":"https://api.github.com/repos/kata-containers/tests/hooks","issue_events_url":"https://api.github.com/repos/kata-containers/tests/issues/events{/number}","events_url":"https://api.github.com/repos/kata-containers/tests/events","assignees_url":"https://api.github.com/repos/kata-containers/tests/assignees{/user}","branches_url":"https://api.github.com/repos/kata-containers/tests/branches{/branch}","tags_url":"https://api.github.com/repos/kata-containers/tests/tags","blobs_url":"https://api.github.com/repos/kata-containers/tests/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kata-containers/tests/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kata-containers/tests/git/refs{/sha}","trees_url":"https://api.github.com/repos/kata-containers/tests/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kata-containers/tests/statuses/{sha}","languages_url":"https://api.github.com/repos/kata-containers/tests/languages","stargazers_url":"https://api.github.com/repos/kata-containers/tests/stargazers","contributors_url":"https://api.github.com/repos/kata-containers/tests/contributors","subscribers_url":"https://api.github.com/repos/kata-containers/tests/subscribers","subscription_url":"https://api.github.com/repos/kata-containers/tests/subscription","commits_url":"https://api.github.com/repos/kata-containers/tests/commits{/sha}","git_commits_url":"https://api.github.com/repos/kata-containers/tests/git/commits{/sha}","comments_url":"https://api.github.com/repos/kata-containers/tests/comments{/number}","issue_comment_url":"https://api.github.com/repos/kata-containers/tests/issues/comments{/number}","contents_url":"https://api.github.com/repos/kata-containers/tests/contents/{+path}","compare_url":"https://api.github.com/repos/kata-containers/tests/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kata-containers/tests/merges","archive_url":"https://api.github.com/repos/kata-containers/tests/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kata-containers/tests/downloads","issues_url":"https://api.github.com/repos/kata-containers/tests/issues{/number}","pulls_url":"https://api.github.com/repos/kata-containers/tests/pulls{/number}","milestones_url":"https://api.github.com/repos/kata-containers/tests/milestones{/number}","notifications_url":"https://api.github.com/repos/kata-containers/tests/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kata-containers/tests/labels{/name}","releases_url":"https://api.github.com/repos/kata-containers/tests/releases{/id}","deployments_url":"https://api.github.com/repos/kata-containers/tests/deployments","created_at":"2017-11-13T11:28:08Z","updated_at":"2018-07-17T22:36:31Z","pushed_at":"2018-07-20T13:17:21Z","git_url":"git://github.com/kata-containers/tests.git","ssh_url":"git@github.com:kata-containers/tests.git","clone_url":"https://github.com/kata-containers/tests.git","svn_url":"https://github.com/kata-containers/tests","homepage":"","size":2014,"stargazers_count":17,"watchers_count":17,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":24,"mirror_url":null,"archived":false,"open_issues_count":55,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":24,"open_issues":55,"watchers":17,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kata-containers/tests/pulls/510"},"html":{"href":"https://github.com/kata-containers/tests/pull/510"},"issue":{"href":"https://api.github.com/repos/kata-containers/tests/issues/510"},"comments":{"href":"https://api.github.com/repos/kata-containers/tests/issues/510/comments"},"review_comments":{"href":"https://api.github.com/repos/kata-containers/tests/pulls/510/comments"},"review_comment":{"href":"https://api.github.com/repos/kata-containers/tests/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kata-containers/tests/pulls/510/commits"},"statuses":{"href":"https://api.github.com/repos/kata-containers/tests/statuses/c8a5394628f895d854680e911babc1048ed595d9"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"grahamwhaley"}}