{"action":"created","comment":{"url":"https://api.github.com/repos/RackHD/RackHD/pulls/comments/74663651","id":74663651,"diff_hunk":"@@ -0,0 +1,521 @@\n+# Copyright 2016, EMC, Inc.\n+\n+\"\"\"\n+ RackHD 1.1 common test utlitiies\n+\n+ authors: ehohenstein, yuchi zhang\n+\n+ Purpose/intent\n+ This utility library contain helper functions for parsing response data from the RackHD APIs.\n+\"\"\"\n+\n+import sys\n+import subprocess\n+sys.path.append(subprocess.check_output(\"git rev-parse --show-toplevel\", shell=True).rstrip(\"\\n\") + \"/common\")\n+import fit_common\n+\n+import unicodedata\n+import json\n+\n+##########################################\n+#  Node List Utils\n+##########################################\n+\n+def rackhd_get_node_list():","path":"test/fit_tests/common/test_api_utils.py","position":24,"original_position":24,"commit_id":"bd48bae9e7df33db10d6564f76a02a5900e0b0aa","original_commit_id":"bd48bae9e7df33db10d6564f76a02a5900e0b0aa","user":{"login":"heckj","id":43388,"avatar_url":"https://avatars.githubusercontent.com/u/43388?v=3","gravatar_id":"","url":"https://api.github.com/users/heckj","html_url":"https://github.com/heckj","followers_url":"https://api.github.com/users/heckj/followers","following_url":"https://api.github.com/users/heckj/following{/other_user}","gists_url":"https://api.github.com/users/heckj/gists{/gist_id}","starred_url":"https://api.github.com/users/heckj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heckj/subscriptions","organizations_url":"https://api.github.com/users/heckj/orgs","repos_url":"https://api.github.com/users/heckj/repos","events_url":"https://api.github.com/users/heckj/events{/privacy}","received_events_url":"https://api.github.com/users/heckj/received_events","type":"User","site_admin":false},"body":"@hohene the on-http git repository includes bits to generate two additional debian packageswith a 1.1 and 2.0 python library from swagger definition files. Packages are pushed to bintray as well. Probably not the ideal place to store libraries for RackHD, but since they update with this repository, we've been using it to date for the current tests in https://github.com/rackhd/rackhd tests","created_at":"2016-08-12T21:32:55Z","updated_at":"2016-08-12T21:32:55Z","html_url":"https://github.com/RackHD/RackHD/pull/370#discussion_r74663651","pull_request_url":"https://api.github.com/repos/RackHD/RackHD/pulls/370","_links":{"self":{"href":"https://api.github.com/repos/RackHD/RackHD/pulls/comments/74663651"},"html":{"href":"https://github.com/RackHD/RackHD/pull/370#discussion_r74663651"},"pull_request":{"href":"https://api.github.com/repos/RackHD/RackHD/pulls/370"}}},"pull_request":{"url":"https://api.github.com/repos/RackHD/RackHD/pulls/370","id":80489630,"html_url":"https://github.com/RackHD/RackHD/pull/370","diff_url":"https://github.com/RackHD/RackHD/pull/370.diff","patch_url":"https://github.com/RackHD/RackHD/pull/370.patch","issue_url":"https://api.github.com/repos/RackHD/RackHD/issues/370","number":370,"state":"open","locked":false,"title":"Add FIT tests to rackhd test","user":{"login":"gpaulos","id":10143363,"avatar_url":"https://avatars.githubusercontent.com/u/10143363?v=3","gravatar_id":"","url":"https://api.github.com/users/gpaulos","html_url":"https://github.com/gpaulos","followers_url":"https://api.github.com/users/gpaulos/followers","following_url":"https://api.github.com/users/gpaulos/following{/other_user}","gists_url":"https://api.github.com/users/gpaulos/gists{/gist_id}","starred_url":"https://api.github.com/users/gpaulos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gpaulos/subscriptions","organizations_url":"https://api.github.com/users/gpaulos/orgs","repos_url":"https://api.github.com/users/gpaulos/repos","events_url":"https://api.github.com/users/gpaulos/events{/privacy}","received_events_url":"https://api.github.com/users/gpaulos/received_events","type":"User","site_admin":false},"body":"This PR is the FIT (Functional Integration Test) test suite that is used by OnRack (Corsair) to test RackHD/OnRack via Jenkins.\r\n\r\nFIT tests are located in the RackHD/test/fit_tests directory. They will not interfere with existing test jobs running from RackHD/test directory.\r\n\r\nThe goal is to integrate all RackHD/OnRack testing under a single universal and unified framework. This is the first step towards achieveing that goal.\r\n\r\nCurrently FIT contains 185 tests total, of which 164 are 'smoke' tests.\r\n\r\nThe framework has been tested and operated under both real hardware stacks and Vagrant simulated stacks. It is adaptable to many diverse environments via configuration files in RackHD/test/fit_tests/config/.  Refer to README files for operation and configuration.\r\n\r\nResult from a Jenkins FIT test run is available here (EMC internal):\r\nhttps://roebling.hwimo.lab.emc.com/jenkins/job/Running-Tests/job/RackHD-FIT-Smoke-Test/65/\r\n\r\nThe test failures are related to the following bugs:\r\nODR-801 - SKU pack failures\r\nODR-803 - management server fails on redfish\r\nODR-812 - api/2.0/skus fail post/put\r\nODR-796 - chassis/enclosure issues\r\nODR-795 - chassis/enclosure issues\r\nODR-793 - chassis/enclosure issues\r\n\r\nShort-term goal is to get a clean run of FIT smoke test by fixing product bugs and any other test bugs that may crop up.\r\n\r\nMedium-term goal is to run FIT along with legacy test suite as the release test gate.\r\n\r\nLong-term goal is to unify all testing under a single suite.\r\n\r\n- George Paulos","created_at":"2016-08-08T17:27:35Z","updated_at":"2016-08-12T21:32:55Z","closed_at":null,"merged_at":null,"merge_commit_sha":"575aabdc1282bb6cbc67070db9083d63f1d83b49","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/RackHD/RackHD/pulls/370/commits","review_comments_url":"https://api.github.com/repos/RackHD/RackHD/pulls/370/comments","review_comment_url":"https://api.github.com/repos/RackHD/RackHD/pulls/comments{/number}","comments_url":"https://api.github.com/repos/RackHD/RackHD/issues/370/comments","statuses_url":"https://api.github.com/repos/RackHD/RackHD/statuses/bd48bae9e7df33db10d6564f76a02a5900e0b0aa","head":{"label":"gpaulos:add-fit_tests-to-rackhd-test","ref":"add-fit_tests-to-rackhd-test","sha":"bd48bae9e7df33db10d6564f76a02a5900e0b0aa","user":{"login":"gpaulos","id":10143363,"avatar_url":"https://avatars.githubusercontent.com/u/10143363?v=3","gravatar_id":"","url":"https://api.github.com/users/gpaulos","html_url":"https://github.com/gpaulos","followers_url":"https://api.github.com/users/gpaulos/followers","following_url":"https://api.github.com/users/gpaulos/following{/other_user}","gists_url":"https://api.github.com/users/gpaulos/gists{/gist_id}","starred_url":"https://api.github.com/users/gpaulos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gpaulos/subscriptions","organizations_url":"https://api.github.com/users/gpaulos/orgs","repos_url":"https://api.github.com/users/gpaulos/repos","events_url":"https://api.github.com/users/gpaulos/events{/privacy}","received_events_url":"https://api.github.com/users/gpaulos/received_events","type":"User","site_admin":false},"repo":{"id":65032256,"name":"RackHD","full_name":"gpaulos/RackHD","owner":{"login":"gpaulos","id":10143363,"avatar_url":"https://avatars.githubusercontent.com/u/10143363?v=3","gravatar_id":"","url":"https://api.github.com/users/gpaulos","html_url":"https://github.com/gpaulos","followers_url":"https://api.github.com/users/gpaulos/followers","following_url":"https://api.github.com/users/gpaulos/following{/other_user}","gists_url":"https://api.github.com/users/gpaulos/gists{/gist_id}","starred_url":"https://api.github.com/users/gpaulos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gpaulos/subscriptions","organizations_url":"https://api.github.com/users/gpaulos/orgs","repos_url":"https://api.github.com/users/gpaulos/repos","events_url":"https://api.github.com/users/gpaulos/events{/privacy}","received_events_url":"https://api.github.com/users/gpaulos/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/gpaulos/RackHD","description":"RackHD™ provides hardware management and orchestration services","fork":true,"url":"https://api.github.com/repos/gpaulos/RackHD","forks_url":"https://api.github.com/repos/gpaulos/RackHD/forks","keys_url":"https://api.github.com/repos/gpaulos/RackHD/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gpaulos/RackHD/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gpaulos/RackHD/teams","hooks_url":"https://api.github.com/repos/gpaulos/RackHD/hooks","issue_events_url":"https://api.github.com/repos/gpaulos/RackHD/issues/events{/number}","events_url":"https://api.github.com/repos/gpaulos/RackHD/events","assignees_url":"https://api.github.com/repos/gpaulos/RackHD/assignees{/user}","branches_url":"https://api.github.com/repos/gpaulos/RackHD/branches{/branch}","tags_url":"https://api.github.com/repos/gpaulos/RackHD/tags","blobs_url":"https://api.github.com/repos/gpaulos/RackHD/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gpaulos/RackHD/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gpaulos/RackHD/git/refs{/sha}","trees_url":"https://api.github.com/repos/gpaulos/RackHD/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gpaulos/RackHD/statuses/{sha}","languages_url":"https://api.github.com/repos/gpaulos/RackHD/languages","stargazers_url":"https://api.github.com/repos/gpaulos/RackHD/stargazers","contributors_url":"https://api.github.com/repos/gpaulos/RackHD/contributors","subscribers_url":"https://api.github.com/repos/gpaulos/RackHD/subscribers","subscription_url":"https://api.github.com/repos/gpaulos/RackHD/subscription","commits_url":"https://api.github.com/repos/gpaulos/RackHD/commits{/sha}","git_commits_url":"https://api.github.com/repos/gpaulos/RackHD/git/commits{/sha}","comments_url":"https://api.github.com/repos/gpaulos/RackHD/comments{/number}","issue_comment_url":"https://api.github.com/repos/gpaulos/RackHD/issues/comments{/number}","contents_url":"https://api.github.com/repos/gpaulos/RackHD/contents/{+path}","compare_url":"https://api.github.com/repos/gpaulos/RackHD/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gpaulos/RackHD/merges","archive_url":"https://api.github.com/repos/gpaulos/RackHD/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gpaulos/RackHD/downloads","issues_url":"https://api.github.com/repos/gpaulos/RackHD/issues{/number}","pulls_url":"https://api.github.com/repos/gpaulos/RackHD/pulls{/number}","milestones_url":"https://api.github.com/repos/gpaulos/RackHD/milestones{/number}","notifications_url":"https://api.github.com/repos/gpaulos/RackHD/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gpaulos/RackHD/labels{/name}","releases_url":"https://api.github.com/repos/gpaulos/RackHD/releases{/id}","deployments_url":"https://api.github.com/repos/gpaulos/RackHD/deployments","created_at":"2016-08-05T16:13:01Z","updated_at":"2016-08-05T16:13:02Z","pushed_at":"2016-08-11T18:57:18Z","git_url":"git://github.com/gpaulos/RackHD.git","ssh_url":"git@github.com:gpaulos/RackHD.git","clone_url":"https://github.com/gpaulos/RackHD.git","svn_url":"https://github.com/gpaulos/RackHD","homepage":" http://rackhd.readthedocs.io","size":2433,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"RackHD:master","ref":"master","sha":"cdadd5830cf5e82525fedd19b08c986fa3ca7c2c","user":{"login":"RackHD","id":13982662,"avatar_url":"https://avatars.githubusercontent.com/u/13982662?v=3","gravatar_id":"","url":"https://api.github.com/users/RackHD","html_url":"https://github.com/RackHD","followers_url":"https://api.github.com/users/RackHD/followers","following_url":"https://api.github.com/users/RackHD/following{/other_user}","gists_url":"https://api.github.com/users/RackHD/gists{/gist_id}","starred_url":"https://api.github.com/users/RackHD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RackHD/subscriptions","organizations_url":"https://api.github.com/users/RackHD/orgs","repos_url":"https://api.github.com/users/RackHD/repos","events_url":"https://api.github.com/users/RackHD/events{/privacy}","received_events_url":"https://api.github.com/users/RackHD/received_events","type":"Organization","site_admin":false},"repo":{"id":45687347,"name":"RackHD","full_name":"RackHD/RackHD","owner":{"login":"RackHD","id":13982662,"avatar_url":"https://avatars.githubusercontent.com/u/13982662?v=3","gravatar_id":"","url":"https://api.github.com/users/RackHD","html_url":"https://github.com/RackHD","followers_url":"https://api.github.com/users/RackHD/followers","following_url":"https://api.github.com/users/RackHD/following{/other_user}","gists_url":"https://api.github.com/users/RackHD/gists{/gist_id}","starred_url":"https://api.github.com/users/RackHD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RackHD/subscriptions","organizations_url":"https://api.github.com/users/RackHD/orgs","repos_url":"https://api.github.com/users/RackHD/repos","events_url":"https://api.github.com/users/RackHD/events{/privacy}","received_events_url":"https://api.github.com/users/RackHD/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/RackHD/RackHD","description":"RackHD™ provides hardware management and orchestration services","fork":false,"url":"https://api.github.com/repos/RackHD/RackHD","forks_url":"https://api.github.com/repos/RackHD/RackHD/forks","keys_url":"https://api.github.com/repos/RackHD/RackHD/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RackHD/RackHD/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RackHD/RackHD/teams","hooks_url":"https://api.github.com/repos/RackHD/RackHD/hooks","issue_events_url":"https://api.github.com/repos/RackHD/RackHD/issues/events{/number}","events_url":"https://api.github.com/repos/RackHD/RackHD/events","assignees_url":"https://api.github.com/repos/RackHD/RackHD/assignees{/user}","branches_url":"https://api.github.com/repos/RackHD/RackHD/branches{/branch}","tags_url":"https://api.github.com/repos/RackHD/RackHD/tags","blobs_url":"https://api.github.com/repos/RackHD/RackHD/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RackHD/RackHD/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RackHD/RackHD/git/refs{/sha}","trees_url":"https://api.github.com/repos/RackHD/RackHD/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RackHD/RackHD/statuses/{sha}","languages_url":"https://api.github.com/repos/RackHD/RackHD/languages","stargazers_url":"https://api.github.com/repos/RackHD/RackHD/stargazers","contributors_url":"https://api.github.com/repos/RackHD/RackHD/contributors","subscribers_url":"https://api.github.com/repos/RackHD/RackHD/subscribers","subscription_url":"https://api.github.com/repos/RackHD/RackHD/subscription","commits_url":"https://api.github.com/repos/RackHD/RackHD/commits{/sha}","git_commits_url":"https://api.github.com/repos/RackHD/RackHD/git/commits{/sha}","comments_url":"https://api.github.com/repos/RackHD/RackHD/comments{/number}","issue_comment_url":"https://api.github.com/repos/RackHD/RackHD/issues/comments{/number}","contents_url":"https://api.github.com/repos/RackHD/RackHD/contents/{+path}","compare_url":"https://api.github.com/repos/RackHD/RackHD/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RackHD/RackHD/merges","archive_url":"https://api.github.com/repos/RackHD/RackHD/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RackHD/RackHD/downloads","issues_url":"https://api.github.com/repos/RackHD/RackHD/issues{/number}","pulls_url":"https://api.github.com/repos/RackHD/RackHD/pulls{/number}","milestones_url":"https://api.github.com/repos/RackHD/RackHD/milestones{/number}","notifications_url":"https://api.github.com/repos/RackHD/RackHD/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RackHD/RackHD/labels{/name}","releases_url":"https://api.github.com/repos/RackHD/RackHD/releases{/id}","deployments_url":"https://api.github.com/repos/RackHD/RackHD/deployments","created_at":"2015-11-06T14:42:16Z","updated_at":"2016-08-05T10:12:17Z","pushed_at":"2016-08-12T21:18:53Z","git_url":"git://github.com/RackHD/RackHD.git","ssh_url":"git@github.com:RackHD/RackHD.git","clone_url":"https://github.com/RackHD/RackHD.git","svn_url":"https://github.com/RackHD/RackHD","homepage":" http://rackhd.readthedocs.io","size":2888,"stargazers_count":153,"watchers_count":153,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":73,"mirror_url":null,"open_issues_count":69,"forks":73,"open_issues":69,"watchers":153,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/RackHD/RackHD/pulls/370"},"html":{"href":"https://github.com/RackHD/RackHD/pull/370"},"issue":{"href":"https://api.github.com/repos/RackHD/RackHD/issues/370"},"comments":{"href":"https://api.github.com/repos/RackHD/RackHD/issues/370/comments"},"review_comments":{"href":"https://api.github.com/repos/RackHD/RackHD/pulls/370/comments"},"review_comment":{"href":"https://api.github.com/repos/RackHD/RackHD/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/RackHD/RackHD/pulls/370/commits"},"statuses":{"href":"https://api.github.com/repos/RackHD/RackHD/statuses/bd48bae9e7df33db10d6564f76a02a5900e0b0aa"}}}}
{"actor":{"display_login":"heckj"}}