{"action":"created","comment":{"url":"https://api.github.com/repos/edx/configuration/pulls/comments/57948270","id":57948270,"diff_hunk":"@@ -0,0 +1,206 @@\n+# Jenkins Analytics\n+\n+A role that sets up Jenkins for scheduling analytics tasks. \n+\n+This role performs the following steps:\n+\n+* Installs Jenkins using `jenkins_master`.\n+* Configures `config.xml` to enable security and use\n+  Linux Auth Domain.\n+* Creates Jenkins credentials. \n+* Enables the use of Jenkins CLI. \n+* Installs a seed job from configured repository, launches it and waits\n+  for it to finish.\n+\n+## Configuration\n+\n+When you are using vagrant you **need** to set `VAGRANT_JENKINS_LOCAL_VARS_FILE`\n+environment variable. This variable must point to a file containing \n+all required variables from this section.\n+\n+This file needs to contain, at least, the following variables \n+(see the next few sections for more information about them): \n+\n+* `JENKINS_ANALYTICS_USER_PASSWORD_HASHED` \n+* `JENKINS_ANALYTICS_USER_PASSWORD_PLAIN`\n+* `JENKINS_ANALYTICS_GITHUB_KEY` or `JENKINS_ANALYTICS_CREDENTIALS`\n+\n+ \n+### End-user editable configuration \n+\n+#### Jenkins user password\n+\n+You'll need to override default `jenkins` user password, please do that\n+as this sets up the **shell** password for this user. \n+\n+You'll need to set both a plain password and a hashed one.\n+To obtain a hashed password use the `mkpasswd` command, for example: ","path":"playbooks/roles/jenkins_analytics/README.md","position":37,"original_position":37,"commit_id":"ba1bd1fcf09c6d8bac40a51d4fd7e56a1ec0b932","original_commit_id":"ba1bd1fcf09c6d8bac40a51d4fd7e56a1ec0b932","user":{"login":"arbabnazar","id":7621775,"avatar_url":"https://avatars.githubusercontent.com/u/7621775?v=3","gravatar_id":"","url":"https://api.github.com/users/arbabnazar","html_url":"https://github.com/arbabnazar","followers_url":"https://api.github.com/users/arbabnazar/followers","following_url":"https://api.github.com/users/arbabnazar/following{/other_user}","gists_url":"https://api.github.com/users/arbabnazar/gists{/gist_id}","starred_url":"https://api.github.com/users/arbabnazar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/arbabnazar/subscriptions","organizations_url":"https://api.github.com/users/arbabnazar/orgs","repos_url":"https://api.github.com/users/arbabnazar/repos","events_url":"https://api.github.com/users/arbabnazar/events{/privacy}","received_events_url":"https://api.github.com/users/arbabnazar/received_events","type":"User","site_admin":false},"body":"The `whois` package makes the mkpasswd command available on Ubuntu\r\n``` sudo apt-get install -y whois```","created_at":"2016-03-30T19:26:52Z","updated_at":"2016-03-30T19:26:52Z","html_url":"https://github.com/edx/configuration/pull/2810#discussion_r57948270","pull_request_url":"https://api.github.com/repos/edx/configuration/pulls/2810","_links":{"self":{"href":"https://api.github.com/repos/edx/configuration/pulls/comments/57948270"},"html":{"href":"https://github.com/edx/configuration/pull/2810#discussion_r57948270"},"pull_request":{"href":"https://api.github.com/repos/edx/configuration/pulls/2810"}}},"pull_request":{"url":"https://api.github.com/repos/edx/configuration/pulls/2810","id":60662663,"html_url":"https://github.com/edx/configuration/pull/2810","diff_url":"https://github.com/edx/configuration/pull/2810.diff","patch_url":"https://github.com/edx/configuration/pull/2810.patch","issue_url":"https://api.github.com/repos/edx/configuration/issues/2810","number":2810,"state":"closed","locked":false,"title":"OLIVE-19 Enable automatic provisioning of jenkins instance dedicated to running analytics tasks. ","user":{"login":"jbzdak","id":112872,"avatar_url":"https://avatars.githubusercontent.com/u/112872?v=3","gravatar_id":"","url":"https://api.github.com/users/jbzdak","html_url":"https://github.com/jbzdak","followers_url":"https://api.github.com/users/jbzdak/followers","following_url":"https://api.github.com/users/jbzdak/following{/other_user}","gists_url":"https://api.github.com/users/jbzdak/gists{/gist_id}","starred_url":"https://api.github.com/users/jbzdak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbzdak/subscriptions","organizations_url":"https://api.github.com/users/jbzdak/orgs","repos_url":"https://api.github.com/users/jbzdak/repos","events_url":"https://api.github.com/users/jbzdak/events{/privacy}","received_events_url":"https://api.github.com/users/jbzdak/received_events","type":"User","site_admin":false},"body":"# Testing instructions \r\n\r\n00. Create a virtualenv and install ``requirements.txt`` there. \r\n0. Verify that you have access to: https://github.com/edx-ops/edx-jenkins-job-dsl/\r\n1. Generate a new ssh-key. \r\n2. Attach this ssh-key to your github account. \r\n3. Create a yaml file containing configuration, required configuration is explained in ``Readme.md`` (if it's not obvious what to put in the file it's a documentation bug :))\r\n4. Go to ``vagrant/base/analytic_jenkins`` and issue ``VAGRANT_JENKINS_LOCAL_VARS_FILE=your/path vagrant up``\r\n5. Expected result is that you will get a working jenkins istance that you'll be able to log in to ``192.168.33.15:8080`` or ``localhost:8080``. \r\n6. You'll be able to login using ``jenkins:password you set`` credentials to the instance. \r\n7. There will be a role called ``seed`` which role was already ran single time with success result.\r\n8. During the run ``seed`` role created a new role called: ``stub-analytics-jobs``. \r\n9. Remove the key you added to github in step 2. :) \r\n\r\n# Documentation check \r\n\r\n1. Check documentation of the new role ``playbooks/roles/jenkins_analytics/README.md`` to check whether you understand how to configure the this role. \r\n2. Check outstanding issues to check which ones are grievous enough to fix right now :) \r\n\r\n","created_at":"2016-02-25T11:17:54Z","updated_at":"2016-03-30T19:26:52Z","closed_at":"2016-03-22T15:42:05Z","merged_at":"2016-03-22T15:42:05Z","merge_commit_sha":"7ac9160bff0810734ccbf45cf77c85b3446c5f87","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/edx/configuration/pulls/2810/commits","review_comments_url":"https://api.github.com/repos/edx/configuration/pulls/2810/comments","review_comment_url":"https://api.github.com/repos/edx/configuration/pulls/comments{/number}","comments_url":"https://api.github.com/repos/edx/configuration/issues/2810/comments","statuses_url":"https://api.github.com/repos/edx/configuration/statuses/ba1bd1fcf09c6d8bac40a51d4fd7e56a1ec0b932","head":{"label":"edx:jbzdak/olive-19-auto-provision-analytics-devstack","ref":"jbzdak/olive-19-auto-provision-analytics-devstack","sha":"ba1bd1fcf09c6d8bac40a51d4fd7e56a1ec0b932","user":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=3","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"repo":{"id":9478219,"name":"configuration","full_name":"edx/configuration","owner":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=3","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/edx/configuration","description":"a simple, but flexible, way for anyone to stand up an instance of the edX platform that is fully configured and ready-to-go","fork":false,"url":"https://api.github.com/repos/edx/configuration","forks_url":"https://api.github.com/repos/edx/configuration/forks","keys_url":"https://api.github.com/repos/edx/configuration/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edx/configuration/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edx/configuration/teams","hooks_url":"https://api.github.com/repos/edx/configuration/hooks","issue_events_url":"https://api.github.com/repos/edx/configuration/issues/events{/number}","events_url":"https://api.github.com/repos/edx/configuration/events","assignees_url":"https://api.github.com/repos/edx/configuration/assignees{/user}","branches_url":"https://api.github.com/repos/edx/configuration/branches{/branch}","tags_url":"https://api.github.com/repos/edx/configuration/tags","blobs_url":"https://api.github.com/repos/edx/configuration/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edx/configuration/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edx/configuration/git/refs{/sha}","trees_url":"https://api.github.com/repos/edx/configuration/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edx/configuration/statuses/{sha}","languages_url":"https://api.github.com/repos/edx/configuration/languages","stargazers_url":"https://api.github.com/repos/edx/configuration/stargazers","contributors_url":"https://api.github.com/repos/edx/configuration/contributors","subscribers_url":"https://api.github.com/repos/edx/configuration/subscribers","subscription_url":"https://api.github.com/repos/edx/configuration/subscription","commits_url":"https://api.github.com/repos/edx/configuration/commits{/sha}","git_commits_url":"https://api.github.com/repos/edx/configuration/git/commits{/sha}","comments_url":"https://api.github.com/repos/edx/configuration/comments{/number}","issue_comment_url":"https://api.github.com/repos/edx/configuration/issues/comments{/number}","contents_url":"https://api.github.com/repos/edx/configuration/contents/{+path}","compare_url":"https://api.github.com/repos/edx/configuration/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edx/configuration/merges","archive_url":"https://api.github.com/repos/edx/configuration/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edx/configuration/downloads","issues_url":"https://api.github.com/repos/edx/configuration/issues{/number}","pulls_url":"https://api.github.com/repos/edx/configuration/pulls{/number}","milestones_url":"https://api.github.com/repos/edx/configuration/milestones{/number}","notifications_url":"https://api.github.com/repos/edx/configuration/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edx/configuration/labels{/name}","releases_url":"https://api.github.com/repos/edx/configuration/releases{/id}","deployments_url":"https://api.github.com/repos/edx/configuration/deployments","created_at":"2013-04-16T17:23:42Z","updated_at":"2016-03-22T20:11:54Z","pushed_at":"2016-03-30T17:47:05Z","git_url":"git://github.com/edx/configuration.git","ssh_url":"git@github.com:edx/configuration.git","clone_url":"https://github.com/edx/configuration.git","svn_url":"https://github.com/edx/configuration","homepage":"","size":11585,"stargazers_count":499,"watchers_count":499,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":475,"mirror_url":null,"open_issues_count":131,"forks":475,"open_issues":131,"watchers":499,"default_branch":"master"}},"base":{"label":"edx:master","ref":"master","sha":"986ab6ddae3b8c8bc90feb56f6c693a01e00bd51","user":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=3","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"repo":{"id":9478219,"name":"configuration","full_name":"edx/configuration","owner":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=3","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/edx/configuration","description":"a simple, but flexible, way for anyone to stand up an instance of the edX platform that is fully configured and ready-to-go","fork":false,"url":"https://api.github.com/repos/edx/configuration","forks_url":"https://api.github.com/repos/edx/configuration/forks","keys_url":"https://api.github.com/repos/edx/configuration/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edx/configuration/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edx/configuration/teams","hooks_url":"https://api.github.com/repos/edx/configuration/hooks","issue_events_url":"https://api.github.com/repos/edx/configuration/issues/events{/number}","events_url":"https://api.github.com/repos/edx/configuration/events","assignees_url":"https://api.github.com/repos/edx/configuration/assignees{/user}","branches_url":"https://api.github.com/repos/edx/configuration/branches{/branch}","tags_url":"https://api.github.com/repos/edx/configuration/tags","blobs_url":"https://api.github.com/repos/edx/configuration/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edx/configuration/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edx/configuration/git/refs{/sha}","trees_url":"https://api.github.com/repos/edx/configuration/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edx/configuration/statuses/{sha}","languages_url":"https://api.github.com/repos/edx/configuration/languages","stargazers_url":"https://api.github.com/repos/edx/configuration/stargazers","contributors_url":"https://api.github.com/repos/edx/configuration/contributors","subscribers_url":"https://api.github.com/repos/edx/configuration/subscribers","subscription_url":"https://api.github.com/repos/edx/configuration/subscription","commits_url":"https://api.github.com/repos/edx/configuration/commits{/sha}","git_commits_url":"https://api.github.com/repos/edx/configuration/git/commits{/sha}","comments_url":"https://api.github.com/repos/edx/configuration/comments{/number}","issue_comment_url":"https://api.github.com/repos/edx/configuration/issues/comments{/number}","contents_url":"https://api.github.com/repos/edx/configuration/contents/{+path}","compare_url":"https://api.github.com/repos/edx/configuration/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edx/configuration/merges","archive_url":"https://api.github.com/repos/edx/configuration/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edx/configuration/downloads","issues_url":"https://api.github.com/repos/edx/configuration/issues{/number}","pulls_url":"https://api.github.com/repos/edx/configuration/pulls{/number}","milestones_url":"https://api.github.com/repos/edx/configuration/milestones{/number}","notifications_url":"https://api.github.com/repos/edx/configuration/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edx/configuration/labels{/name}","releases_url":"https://api.github.com/repos/edx/configuration/releases{/id}","deployments_url":"https://api.github.com/repos/edx/configuration/deployments","created_at":"2013-04-16T17:23:42Z","updated_at":"2016-03-22T20:11:54Z","pushed_at":"2016-03-30T17:47:05Z","git_url":"git://github.com/edx/configuration.git","ssh_url":"git@github.com:edx/configuration.git","clone_url":"https://github.com/edx/configuration.git","svn_url":"https://github.com/edx/configuration","homepage":"","size":11585,"stargazers_count":499,"watchers_count":499,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":475,"mirror_url":null,"open_issues_count":131,"forks":475,"open_issues":131,"watchers":499,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/edx/configuration/pulls/2810"},"html":{"href":"https://github.com/edx/configuration/pull/2810"},"issue":{"href":"https://api.github.com/repos/edx/configuration/issues/2810"},"comments":{"href":"https://api.github.com/repos/edx/configuration/issues/2810/comments"},"review_comments":{"href":"https://api.github.com/repos/edx/configuration/pulls/2810/comments"},"review_comment":{"href":"https://api.github.com/repos/edx/configuration/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/edx/configuration/pulls/2810/commits"},"statuses":{"href":"https://api.github.com/repos/edx/configuration/statuses/ba1bd1fcf09c6d8bac40a51d4fd7e56a1ec0b932"}}}}