{"action":"opened","number":544,"pull_request":{"url":"https://api.github.com/repos/RackHD/RackHD/pulls/544","id":99279509,"html_url":"https://github.com/RackHD/RackHD/pull/544","diff_url":"https://github.com/RackHD/RackHD/pull/544.diff","patch_url":"https://github.com/RackHD/RackHD/pull/544.patch","issue_url":"https://api.github.com/repos/RackHD/RackHD/issues/544","number":544,"state":"open","locked":false,"title":"rac-3802 bring larval logging and stream monitors to public space","user":{"login":"stuart-stanley","id":10092278,"avatar_url":"https://avatars.githubusercontent.com/u/10092278?v=3","gravatar_id":"","url":"https://api.github.com/users/stuart-stanley","html_url":"https://github.com/stuart-stanley","followers_url":"https://api.github.com/users/stuart-stanley/followers","following_url":"https://api.github.com/users/stuart-stanley/following{/other_user}","gists_url":"https://api.github.com/users/stuart-stanley/gists{/gist_id}","starred_url":"https://api.github.com/users/stuart-stanley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stuart-stanley/subscriptions","organizations_url":"https://api.github.com/users/stuart-stanley/orgs","repos_url":"https://api.github.com/users/stuart-stanley/repos","events_url":"https://api.github.com/users/stuart-stanley/events{/privacy}","received_events_url":"https://api.github.com/users/stuart-stanley/received_events","type":"User","site_admin":false},"body":"Change to common/fit_common.py\r\n* bring in new \"flogging\" (fit-logging) module from stream-monitor plugin space\r\n* added a merged file to flogging (all_all).\r\n* adjust run_nose() method to:\r\n** fix: not use lucky-scoping to get access to noseopts variable\r\n** converted invocation to use built environment and args set (rather than monster subprocess string)\r\n*** env passed in via official api\r\n*** noseargs passed in the same\r\n*** converted from dangerous string to list-of-args\r\n* added run_from_module() method (see changes to tests/rackhd11/test_rackhd11_api_catalogs.py)\r\n\r\nEverything under stream-monitor is basically the plugin from PR https://github.com/stuart-stanley/nose-observer-plugin/pull/1.\r\nIt contains four sub-dirs and some support files. This is implemented as a plugin for nose!\r\n* support files:\r\n** readme, mkenv.sh, and requirements.\r\n* sm_plugin:\r\n** the real plugin base. basically just enough smarts right now to orchestrate telling future stream-sources \"test starting!\" \"test ending!\" and so on.\r\n* stream-sources: where all the actual stream \"sources\" will live. At the moment, this contains a (test harness) logging stream monitor:\r\n** smart enough to detect our local-loggers\r\n** able to inject additional log message to bracket test start/stops\r\n** ...which also means those contact points will be available to use a common scanner (did I see XXX? Yeah? GO BOOM!) and so on.\r\n* flogging is the code for:\r\n** rac-263 (basic log handles for use in test areas)\r\n** rac-264 (granular logging levels)\r\n** this code is meant to be used from fit_tests via common/fit_common.py:get_loggers()\r\n\r\ntests/rackhd11/test_rackhd11_api_catalogs.py shows an example conversion:\r\n* bring in the multi-loggers holder\r\n* convert a couple of prints to use them:\r\n** use of \"non-expert I'm just writing a test\" simplified form of logger\r\n** demo the use of debug_0, _1, and _2 (logger levels) vs just \"debug\"\r\n* convert __name__ module invoker to use new run_from_module to nose this specific file\r\n\r\nStragglers:\r\n* touched up requirements file\r\n* Update Vagrant to use correct mkenv steps\r\n* Update README to use correct mkenv steps.\r\n\r\nTested with:\r\npython run.py --show-plan\r\npython run.py --group=\"pollers_api2.tests\"\r\npython run_tests.py -stack 1 -test util/display_rackhd_nodes.py\r\npython run_tests.py -stack 1 -test deploy/rackhd_stack_init.py -list\r\npython run_tests.py -stack 1 -test tests -group smoke\r\npython run_tests.py -stack 1 -test tests/api-cit/v2_0/nodes_tests_fit.py -list\r\npython run_tests.py -stack 1 -test tests/api-cit/v2_0/nodes_tests_fit.py:NodesTests.test_07_node_catalogs\r\npython run_tests.py -stack 1 -test tests/api-cit/v2_0/nodes_tests_fit.py\r\npython run_tests.py -stack 1 -test tests -group nodes_api2_tests\r\n\r\n@RackHD/corecommitters @johren @jimturnquist @stuart-stanley @gpaulos @hohene \r\n","created_at":"2016-12-23T20:34:54Z","updated_at":"2016-12-23T20:34:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/RackHD/RackHD/pulls/544/commits","review_comments_url":"https://api.github.com/repos/RackHD/RackHD/pulls/544/comments","review_comment_url":"https://api.github.com/repos/RackHD/RackHD/pulls/comments{/number}","comments_url":"https://api.github.com/repos/RackHD/RackHD/issues/544/comments","statuses_url":"https://api.github.com/repos/RackHD/RackHD/statuses/b8df9a1a2bf2cd56b97803153633f27a3e2a18d3","head":{"label":"stuart-stanley:rac-3802-larval-logging-and-streams-to-oss","ref":"rac-3802-larval-logging-and-streams-to-oss","sha":"b8df9a1a2bf2cd56b97803153633f27a3e2a18d3","user":{"login":"stuart-stanley","id":10092278,"avatar_url":"https://avatars.githubusercontent.com/u/10092278?v=3","gravatar_id":"","url":"https://api.github.com/users/stuart-stanley","html_url":"https://github.com/stuart-stanley","followers_url":"https://api.github.com/users/stuart-stanley/followers","following_url":"https://api.github.com/users/stuart-stanley/following{/other_user}","gists_url":"https://api.github.com/users/stuart-stanley/gists{/gist_id}","starred_url":"https://api.github.com/users/stuart-stanley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stuart-stanley/subscriptions","organizations_url":"https://api.github.com/users/stuart-stanley/orgs","repos_url":"https://api.github.com/users/stuart-stanley/repos","events_url":"https://api.github.com/users/stuart-stanley/events{/privacy}","received_events_url":"https://api.github.com/users/stuart-stanley/received_events","type":"User","site_admin":false},"repo":{"id":62665965,"name":"RackHD","full_name":"stuart-stanley/RackHD","owner":{"login":"stuart-stanley","id":10092278,"avatar_url":"https://avatars.githubusercontent.com/u/10092278?v=3","gravatar_id":"","url":"https://api.github.com/users/stuart-stanley","html_url":"https://github.com/stuart-stanley","followers_url":"https://api.github.com/users/stuart-stanley/followers","following_url":"https://api.github.com/users/stuart-stanley/following{/other_user}","gists_url":"https://api.github.com/users/stuart-stanley/gists{/gist_id}","starred_url":"https://api.github.com/users/stuart-stanley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stuart-stanley/subscriptions","organizations_url":"https://api.github.com/users/stuart-stanley/orgs","repos_url":"https://api.github.com/users/stuart-stanley/repos","events_url":"https://api.github.com/users/stuart-stanley/events{/privacy}","received_events_url":"https://api.github.com/users/stuart-stanley/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/stuart-stanley/RackHD","description":"RackHD™ provides hardware management and orchestration services","fork":true,"url":"https://api.github.com/repos/stuart-stanley/RackHD","forks_url":"https://api.github.com/repos/stuart-stanley/RackHD/forks","keys_url":"https://api.github.com/repos/stuart-stanley/RackHD/keys{/key_id}","collaborators_url":"https://api.github.com/repos/stuart-stanley/RackHD/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/stuart-stanley/RackHD/teams","hooks_url":"https://api.github.com/repos/stuart-stanley/RackHD/hooks","issue_events_url":"https://api.github.com/repos/stuart-stanley/RackHD/issues/events{/number}","events_url":"https://api.github.com/repos/stuart-stanley/RackHD/events","assignees_url":"https://api.github.com/repos/stuart-stanley/RackHD/assignees{/user}","branches_url":"https://api.github.com/repos/stuart-stanley/RackHD/branches{/branch}","tags_url":"https://api.github.com/repos/stuart-stanley/RackHD/tags","blobs_url":"https://api.github.com/repos/stuart-stanley/RackHD/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/stuart-stanley/RackHD/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/stuart-stanley/RackHD/git/refs{/sha}","trees_url":"https://api.github.com/repos/stuart-stanley/RackHD/git/trees{/sha}","statuses_url":"https://api.github.com/repos/stuart-stanley/RackHD/statuses/{sha}","languages_url":"https://api.github.com/repos/stuart-stanley/RackHD/languages","stargazers_url":"https://api.github.com/repos/stuart-stanley/RackHD/stargazers","contributors_url":"https://api.github.com/repos/stuart-stanley/RackHD/contributors","subscribers_url":"https://api.github.com/repos/stuart-stanley/RackHD/subscribers","subscription_url":"https://api.github.com/repos/stuart-stanley/RackHD/subscription","commits_url":"https://api.github.com/repos/stuart-stanley/RackHD/commits{/sha}","git_commits_url":"https://api.github.com/repos/stuart-stanley/RackHD/git/commits{/sha}","comments_url":"https://api.github.com/repos/stuart-stanley/RackHD/comments{/number}","issue_comment_url":"https://api.github.com/repos/stuart-stanley/RackHD/issues/comments{/number}","contents_url":"https://api.github.com/repos/stuart-stanley/RackHD/contents/{+path}","compare_url":"https://api.github.com/repos/stuart-stanley/RackHD/compare/{base}...{head}","merges_url":"https://api.github.com/repos/stuart-stanley/RackHD/merges","archive_url":"https://api.github.com/repos/stuart-stanley/RackHD/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/stuart-stanley/RackHD/downloads","issues_url":"https://api.github.com/repos/stuart-stanley/RackHD/issues{/number}","pulls_url":"https://api.github.com/repos/stuart-stanley/RackHD/pulls{/number}","milestones_url":"https://api.github.com/repos/stuart-stanley/RackHD/milestones{/number}","notifications_url":"https://api.github.com/repos/stuart-stanley/RackHD/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/stuart-stanley/RackHD/labels{/name}","releases_url":"https://api.github.com/repos/stuart-stanley/RackHD/releases{/id}","deployments_url":"https://api.github.com/repos/stuart-stanley/RackHD/deployments","created_at":"2016-07-05T20:04:31Z","updated_at":"2016-07-05T20:04:32Z","pushed_at":"2016-12-23T20:33:05Z","git_url":"git://github.com/stuart-stanley/RackHD.git","ssh_url":"git@github.com:stuart-stanley/RackHD.git","clone_url":"https://github.com/stuart-stanley/RackHD.git","svn_url":"https://github.com/stuart-stanley/RackHD","homepage":" http://rackhd.readthedocs.io","size":2832,"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":"0ff50bb2462f576de95337959e620a01dfe90bdc","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-12-20T06:54:07Z","pushed_at":"2016-12-23T20:03:37Z","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":2834,"stargazers_count":203,"watchers_count":203,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":97,"mirror_url":null,"open_issues_count":75,"forks":97,"open_issues":75,"watchers":203,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/RackHD/RackHD/pulls/544"},"html":{"href":"https://github.com/RackHD/RackHD/pull/544"},"issue":{"href":"https://api.github.com/repos/RackHD/RackHD/issues/544"},"comments":{"href":"https://api.github.com/repos/RackHD/RackHD/issues/544/comments"},"review_comments":{"href":"https://api.github.com/repos/RackHD/RackHD/pulls/544/comments"},"review_comment":{"href":"https://api.github.com/repos/RackHD/RackHD/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/RackHD/RackHD/pulls/544/commits"},"statuses":{"href":"https://api.github.com/repos/RackHD/RackHD/statuses/b8df9a1a2bf2cd56b97803153633f27a3e2a18d3"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":993,"deletions":63,"changed_files":28}}
{"actor":{"display_login":"stuart-stanley"}}