{"action":"created","issue":{"url":"https://api.github.com/repos/ansible/ansible/issues/10078","labels_url":"https://api.github.com/repos/ansible/ansible/issues/10078/labels{/name}","comments_url":"https://api.github.com/repos/ansible/ansible/issues/10078/comments","events_url":"https://api.github.com/repos/ansible/ansible/issues/10078/events","html_url":"https://github.com/ansible/ansible/pull/10078","id":55354435,"number":10078,"title":"Ansible support for Consul","user":{"login":"sgargan","id":129249,"avatar_url":"https://avatars.githubusercontent.com/u/129249?v=3","gravatar_id":"","url":"https://api.github.com/users/sgargan","html_url":"https://github.com/sgargan","followers_url":"https://api.github.com/users/sgargan/followers","following_url":"https://api.github.com/users/sgargan/following{/other_user}","gists_url":"https://api.github.com/users/sgargan/gists{/gist_id}","starred_url":"https://api.github.com/users/sgargan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sgargan/subscriptions","organizations_url":"https://api.github.com/users/sgargan/orgs","repos_url":"https://api.github.com/users/sgargan/repos","events_url":"https://api.github.com/users/sgargan/events{/privacy}","received_events_url":"https://api.github.com/users/sgargan/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ansible/ansible/labels/new_module","name":"new_module","color":"bfe5bf"},{"url":"https://api.github.com/repos/ansible/ansible/labels/P3","name":"P3","color":"fef2c0"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-01-24T01:50:15Z","updated_at":"2015-06-05T19:39:45Z","closed_at":"2015-02-11T18:58:15Z","pull_request":{"url":"https://api.github.com/repos/ansible/ansible/pulls/10078","html_url":"https://github.com/ansible/ansible/pull/10078","diff_url":"https://github.com/ansible/ansible/pull/10078.diff","patch_url":"https://github.com/ansible/ansible/pull/10078.patch"},"body":"##### Issue Type:\r\nFeature Pull Request\r\n\r\n##### Ansible Version:\r\n1.9\r\n\r\n##### Environment:\r\n\r\nOSX 10.10 (Yosemite)\r\nLinux (Ubuntu 14.04 Trusty Tahr) 3.13.0-37-generic\r\n##### Summary:\r\n\r\nInitial commit of Ansible support for the Consul clustering framework (http://consul.io).\r\n\r\nSubmission includes support for\r\n - creating and registering services and checks\r\n - reading, writing and lookup for values in consul's kv store\r\n - creating and manipulating sessions for distributed locking on values in the kv\r\n - creating and manipulating ACLs for restricting access to the kv store\r\n - inventory support that reads the Consul catalog and group nodes according to\r\n     - datacenters\r\n     - exposed services\r\n     - service availability\r\n     - arbitrary groupings from the kv store\r\n\r\nThis submission makes extensive use of the python-consul library and this is required\r\nas a dependency and can be installed from pip.\r\n\r\n##### Steps To Reproduce:\r\n\r\nThe tests were written to target a vagrant cluster which can be setup by following the\r\ninstructions here http://github.com/sgargan/consul-vagrant\r\n\r\nNote that this submission contains only the inventory & lookup plugins and tests, the modules are contained in a commit to the ansible-modules-extras project. \r\n"},"comment":{"url":"https://api.github.com/repos/ansible/ansible/issues/comments/109416122","html_url":"https://github.com/ansible/ansible/pull/10078#issuecomment-109416122","issue_url":"https://api.github.com/repos/ansible/ansible/issues/10078","id":109416122,"user":{"login":"davidbirdsong","id":407603,"avatar_url":"https://avatars.githubusercontent.com/u/407603?v=3","gravatar_id":"","url":"https://api.github.com/users/davidbirdsong","html_url":"https://github.com/davidbirdsong","followers_url":"https://api.github.com/users/davidbirdsong/followers","following_url":"https://api.github.com/users/davidbirdsong/following{/other_user}","gists_url":"https://api.github.com/users/davidbirdsong/gists{/gist_id}","starred_url":"https://api.github.com/users/davidbirdsong/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidbirdsong/subscriptions","organizations_url":"https://api.github.com/users/davidbirdsong/orgs","repos_url":"https://api.github.com/users/davidbirdsong/repos","events_url":"https://api.github.com/users/davidbirdsong/events{/privacy}","received_events_url":"https://api.github.com/users/davidbirdsong/received_events","type":"User","site_admin":false},"created_at":"2015-06-05T19:39:45Z","updated_at":"2015-06-05T19:39:45Z","body":"+1 was about to write a simpler version of this and was lucky to turn up this PR after a few searches."}}