{"action":"created","issue":{"url":"https://api.github.com/repos/girder/girder/issues/1561","repository_url":"https://api.github.com/repos/girder/girder","labels_url":"https://api.github.com/repos/girder/girder/issues/1561/labels{/name}","comments_url":"https://api.github.com/repos/girder/girder/issues/1561/comments","events_url":"https://api.github.com/repos/girder/girder/issues/1561/events","html_url":"https://github.com/girder/girder/pull/1561","id":175346653,"number":1561,"title":"Ansible Role","user":{"login":"danlamanna","id":608229,"avatar_url":"https://avatars.githubusercontent.com/u/608229?v=3","gravatar_id":"","url":"https://api.github.com/users/danlamanna","html_url":"https://github.com/danlamanna","followers_url":"https://api.github.com/users/danlamanna/followers","following_url":"https://api.github.com/users/danlamanna/following{/other_user}","gists_url":"https://api.github.com/users/danlamanna/gists{/gist_id}","starred_url":"https://api.github.com/users/danlamanna/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danlamanna/subscriptions","organizations_url":"https://api.github.com/users/danlamanna/orgs","repos_url":"https://api.github.com/users/danlamanna/repos","events_url":"https://api.github.com/users/danlamanna/events{/privacy}","received_events_url":"https://api.github.com/users/danlamanna/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2016-09-06T20:42:00Z","updated_at":"2016-09-14T18:46:01Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/girder/girder/pulls/1561","html_url":"https://github.com/girder/girder/pull/1561","diff_url":"https://github.com/girder/girder/pull/1561.diff","patch_url":"https://github.com/girder/girder/pull/1561.patch"},"body":"This PR glues together a lot of the work that has been done with Ansible and Girder over the past year. The majority of the work on the actual role comes from @kotfic and @brianhelba. (It's based off of #1513 but diverges quite a bit, hence the separate PR).\r\n\r\nThere's been a lot of discussion internally about how a Girder role will function and what it will support. The consensus seems to be that the Girder role will install Girder and only Girder, and anything beyond that must be done in a playbook designed specifically for the site the user is deploying to (we break this a little bit by installing node in our role).\r\n\r\n### Examples (seen [here](https://github.com/girder/girder/tree/ansible-role-refactor/devops/ansible/examples))\r\nA large part of this work is having enough examples that people can look through to match their real world needs for deploying Girder. After combing through the repos mentioned recently on girder-devel I assembled a number of examples illustrating common use cases for Girder deployment.\r\n\r\nPrimarily:\r\n- Deploying Girder under NGINX\r\n- Installing Girder under a virtual environment\r\n- Using the Girder Ansible Client library to configure a running instance of Girder\r\n- Altering the Girder configuration file (for altering server settings, alternative mongo URIs, etc)\r\n\r\n### Docs\r\nSome docs were added, see [provisioning.rst](https://github.com/girder/girder/blob/ansible-role-refactor/docs/provisioning.rst).\r\n\r\n### To test\r\nNote: The tests have to be run serially (it's possible to change this, but it's not low hanging fruit) and take a while\r\n```\r\ncmake -D ANSIBLE_TESTS=ON -D ANSIBLE_CLIENT_TESTS=ON\r\nctest -L '^girder_ansible'\r\n```\r\n\r\n### To try out\r\n```\r\nGIRDER_EXAMPLE=girder-nginx vagrant up\r\n\r\n# this can be done with any of the examples, e.g\r\nGIRDER_EXAMPLE=girder-configure-lib vagrant up\r\n```\r\n\r\n### Other notes\r\n- CMake logic has been added/unified to allow our testing of Ansible to be in our main test suite (disabled by default) and labeled to allow for easy testing\r\n- I'm in the middle of setting up nightly builds for this and forcing @jbeezley to do the same so we're covering Linux and Mac hosts\r\n- Testing the examples just aims for a clean vagrant up, though it should probably be ironed out in the future\r\n\r\n### Future Work\r\n- Supporting Ubuntu 16.04    \r\n  This role does support 16.04 (@cjh1) (despite Vagrant having many issues with 16.04), however the 3rd party Mongo role we're\r\n      using in our base playbooks doesn't. I've submitted a [PR](https://github.com/Stouts/Stouts.mongodb/pull/28) and hope that will be accepted so we don't have to create our own Mongo role.\r\n- Support different python binaries    \r\n  Right now it just uses the system python, ideally installing/specifying python3 for example would be simple to do.\r\n- Convert Travis to use Ansible    \r\n  This isn't urgent at all, but there's no reason that I can see that would block us from having our travis environment provisioned via ansible.    \r\n\r\n\r\n~~This is still pretty raw and I've uncovered a few more bugs just today, so it's marked WIP for now but feedback is still appreciated.~~"},"comment":{"url":"https://api.github.com/repos/girder/girder/issues/comments/247115140","html_url":"https://github.com/girder/girder/pull/1561#issuecomment-247115140","issue_url":"https://api.github.com/repos/girder/girder/issues/1561","id":247115140,"user":{"login":"kotfic","id":669959,"avatar_url":"https://avatars.githubusercontent.com/u/669959?v=3","gravatar_id":"","url":"https://api.github.com/users/kotfic","html_url":"https://github.com/kotfic","followers_url":"https://api.github.com/users/kotfic/followers","following_url":"https://api.github.com/users/kotfic/following{/other_user}","gists_url":"https://api.github.com/users/kotfic/gists{/gist_id}","starred_url":"https://api.github.com/users/kotfic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kotfic/subscriptions","organizations_url":"https://api.github.com/users/kotfic/orgs","repos_url":"https://api.github.com/users/kotfic/repos","events_url":"https://api.github.com/users/kotfic/events{/privacy}","received_events_url":"https://api.github.com/users/kotfic/received_events","type":"User","site_admin":false},"created_at":"2016-09-14T18:46:01Z","updated_at":"2016-09-14T18:46:01Z","body":"another comment"}}
{"actor":{"display_login":"kotfic"}}