{"action":"created","comment":{"url":"https://api.github.com/repos/shortdudey123/chef-gluster/pulls/comments/45258330","id":45258330,"diff_hunk":"@@ -18,5 +18,5 @@\n # limitations under the License.\n #\n \n-default['gluster']['version'] = '3.4'\n+default['gluster']['version'] = '3.6'","path":"attributes/default.rb","position":5,"original_position":5,"commit_id":"9ef2f73ae511537ef06d3019cc6851ed61ad85a0","original_commit_id":"9ef2f73ae511537ef06d3019cc6851ed61ad85a0","user":{"login":"Seth-Karlo","id":10834938,"avatar_url":"https://avatars.githubusercontent.com/u/10834938?v=3","gravatar_id":"","url":"https://api.github.com/users/Seth-Karlo","html_url":"https://github.com/Seth-Karlo","followers_url":"https://api.github.com/users/Seth-Karlo/followers","following_url":"https://api.github.com/users/Seth-Karlo/following{/other_user}","gists_url":"https://api.github.com/users/Seth-Karlo/gists{/gist_id}","starred_url":"https://api.github.com/users/Seth-Karlo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Seth-Karlo/subscriptions","organizations_url":"https://api.github.com/users/Seth-Karlo/orgs","repos_url":"https://api.github.com/users/Seth-Karlo/repos","events_url":"https://api.github.com/users/Seth-Karlo/events{/privacy}","received_events_url":"https://api.github.com/users/Seth-Karlo/received_events","type":"User","site_admin":false},"body":"I'm leaving it at 3.6, 3.7 breaks on CentOS 7.1","created_at":"2015-11-18T20:53:24Z","updated_at":"2015-11-18T20:53:24Z","html_url":"https://github.com/shortdudey123/chef-gluster/pull/47#discussion_r45258330","pull_request_url":"https://api.github.com/repos/shortdudey123/chef-gluster/pulls/47","_links":{"self":{"href":"https://api.github.com/repos/shortdudey123/chef-gluster/pulls/comments/45258330"},"html":{"href":"https://github.com/shortdudey123/chef-gluster/pull/47#discussion_r45258330"},"pull_request":{"href":"https://api.github.com/repos/shortdudey123/chef-gluster/pulls/47"}}},"pull_request":{"url":"https://api.github.com/repos/shortdudey123/chef-gluster/pulls/47","id":49976830,"html_url":"https://github.com/shortdudey123/chef-gluster/pull/47","diff_url":"https://github.com/shortdudey123/chef-gluster/pull/47.diff","patch_url":"https://github.com/shortdudey123/chef-gluster/pull/47.patch","issue_url":"https://api.github.com/repos/shortdudey123/chef-gluster/issues/47","number":47,"state":"open","locked":false,"title":"Re-architecture of gluster cookbook to support multi-volume per peer, LVM, size declaration. Removal of broken code. Working kitchen testing.","user":{"login":"Seth-Karlo","id":10834938,"avatar_url":"https://avatars.githubusercontent.com/u/10834938?v=3","gravatar_id":"","url":"https://api.github.com/users/Seth-Karlo","html_url":"https://github.com/Seth-Karlo","followers_url":"https://api.github.com/users/Seth-Karlo/followers","following_url":"https://api.github.com/users/Seth-Karlo/following{/other_user}","gists_url":"https://api.github.com/users/Seth-Karlo/gists{/gist_id}","starred_url":"https://api.github.com/users/Seth-Karlo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Seth-Karlo/subscriptions","organizations_url":"https://api.github.com/users/Seth-Karlo/orgs","repos_url":"https://api.github.com/users/Seth-Karlo/repos","events_url":"https://api.github.com/users/Seth-Karlo/events{/privacy}","received_events_url":"https://api.github.com/users/Seth-Karlo/received_events","type":"User","site_admin":false},"body":"Hey @shortdudey123 ,\r\n\r\nThere's a lot changed here, so I'll run through it. Rather than declaring bricks on a peer level, I've moved bricks to be declared at a volume level, which makes more sense and allows for multiple volumes per peer. It also allows for different types of volumes per peer. In addition, I've added the LVM cookbook into the dependencies, and the cookbook now requires an additional, blank, block device to be added to the servers at boot time (I use terraform to deploy, so this is relatively simple when you are using cloud-based deployment methods). By using this method, you can define a size per volume, which can then be extended at a later date (the cookbook auto-resizes the LV when it's increased without any downtime). This does mean that the old way of using a whole disk is now unavailable and will prevent people from just upgrading to this cookbook: **to stress, people will probably need to rebuild their gluster nodes to upgrade to this method, as it's an architecture rewrite**.\r\n\r\nI've put an example of attributes into the attributes commented out. I've also bumped the default version to 3.6 from 3.4, as 3.4 breaks on the kitchen setup.\r\n\r\nSome problems that still need to be addressed but I'm working through them:\r\n-Ensuring that the 'master' node doesn't attempt to add a new volume until all of the other nodes have created the LV first: this is a common issue with chef and we'd need to think of some sort of locking mechanism to get around it. I'm using a service discovery tool to get around this issue at the moment but it would be nice to get it in here too.\r\n-You can only create one brick per volume per peer, and it would be nice to be able to have multiple bricks per peer, especially for striped volumes that see performance increase when you use this method. This can be solved by changing the server_setup section to use a 'brick name' rather than the volume name for the LV, but I haven't had time to dig into it properly\r\n-The size is per LV, but if you create a distributed (or distributed-striped/replicated etc) volume this size will show up as a multiple of this value. Not sure if we want to add logic that detects that and changes the size accordingly.\r\n\r\nI have written some monitoring recipes too that use public/private repos to install NRPE nagios checks. I'll try and open a PR for them soon.\r\n\r\nFinally, I have a request: would you be willing to consider adding me as a collaborator to this project? I've rewritten a large part of it and am actively invested in using it in the future. Being able to discuss potential changes and test them with you before merging is of big interest to me.\r\n\r\nThanks!\r\n\r\nAndy\r\n\r\nP.S: I suspect the rake tests will fail, I'll fix them in a minute.","created_at":"2015-11-06T16:50:15Z","updated_at":"2015-11-18T20:53:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"28205734c94ce635f8efe258aee6190fa0d54f27","assignee":null,"milestone":{"url":"https://api.github.com/repos/shortdudey123/chef-gluster/milestones/2","html_url":"https://github.com/shortdudey123/chef-gluster/milestones/v5.0.0","labels_url":"https://api.github.com/repos/shortdudey123/chef-gluster/milestones/2/labels","id":1411501,"number":2,"title":"v5.0.0","description":null,"creator":{"login":"shortdudey123","id":3051981,"avatar_url":"https://avatars.githubusercontent.com/u/3051981?v=3","gravatar_id":"","url":"https://api.github.com/users/shortdudey123","html_url":"https://github.com/shortdudey123","followers_url":"https://api.github.com/users/shortdudey123/followers","following_url":"https://api.github.com/users/shortdudey123/following{/other_user}","gists_url":"https://api.github.com/users/shortdudey123/gists{/gist_id}","starred_url":"https://api.github.com/users/shortdudey123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shortdudey123/subscriptions","organizations_url":"https://api.github.com/users/shortdudey123/orgs","repos_url":"https://api.github.com/users/shortdudey123/repos","events_url":"https://api.github.com/users/shortdudey123/events{/privacy}","received_events_url":"https://api.github.com/users/shortdudey123/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2015-11-14T08:23:25Z","updated_at":"2015-11-14T08:23:25Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/shortdudey123/chef-gluster/pulls/47/commits","review_comments_url":"https://api.github.com/repos/shortdudey123/chef-gluster/pulls/47/comments","review_comment_url":"https://api.github.com/repos/shortdudey123/chef-gluster/pulls/comments{/number}","comments_url":"https://api.github.com/repos/shortdudey123/chef-gluster/issues/47/comments","statuses_url":"https://api.github.com/repos/shortdudey123/chef-gluster/statuses/9ef2f73ae511537ef06d3019cc6851ed61ad85a0","head":{"label":"Seth-Karlo:master","ref":"master","sha":"9ef2f73ae511537ef06d3019cc6851ed61ad85a0","user":{"login":"Seth-Karlo","id":10834938,"avatar_url":"https://avatars.githubusercontent.com/u/10834938?v=3","gravatar_id":"","url":"https://api.github.com/users/Seth-Karlo","html_url":"https://github.com/Seth-Karlo","followers_url":"https://api.github.com/users/Seth-Karlo/followers","following_url":"https://api.github.com/users/Seth-Karlo/following{/other_user}","gists_url":"https://api.github.com/users/Seth-Karlo/gists{/gist_id}","starred_url":"https://api.github.com/users/Seth-Karlo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Seth-Karlo/subscriptions","organizations_url":"https://api.github.com/users/Seth-Karlo/orgs","repos_url":"https://api.github.com/users/Seth-Karlo/repos","events_url":"https://api.github.com/users/Seth-Karlo/events{/privacy}","received_events_url":"https://api.github.com/users/Seth-Karlo/received_events","type":"User","site_admin":false},"repo":{"id":39835549,"name":"chef-gluster","full_name":"Seth-Karlo/chef-gluster","owner":{"login":"Seth-Karlo","id":10834938,"avatar_url":"https://avatars.githubusercontent.com/u/10834938?v=3","gravatar_id":"","url":"https://api.github.com/users/Seth-Karlo","html_url":"https://github.com/Seth-Karlo","followers_url":"https://api.github.com/users/Seth-Karlo/followers","following_url":"https://api.github.com/users/Seth-Karlo/following{/other_user}","gists_url":"https://api.github.com/users/Seth-Karlo/gists{/gist_id}","starred_url":"https://api.github.com/users/Seth-Karlo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Seth-Karlo/subscriptions","organizations_url":"https://api.github.com/users/Seth-Karlo/orgs","repos_url":"https://api.github.com/users/Seth-Karlo/repos","events_url":"https://api.github.com/users/Seth-Karlo/events{/privacy}","received_events_url":"https://api.github.com/users/Seth-Karlo/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Seth-Karlo/chef-gluster","description":"Chef cookbook for deploying Gluster","fork":true,"url":"https://api.github.com/repos/Seth-Karlo/chef-gluster","forks_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/forks","keys_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/teams","hooks_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/hooks","issue_events_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/issues/events{/number}","events_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/events","assignees_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/assignees{/user}","branches_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/branches{/branch}","tags_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/tags","blobs_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/git/refs{/sha}","trees_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/statuses/{sha}","languages_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/languages","stargazers_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/stargazers","contributors_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/contributors","subscribers_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/subscribers","subscription_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/subscription","commits_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/commits{/sha}","git_commits_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/git/commits{/sha}","comments_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/comments{/number}","issue_comment_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/issues/comments{/number}","contents_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/contents/{+path}","compare_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/merges","archive_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/downloads","issues_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/issues{/number}","pulls_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/pulls{/number}","milestones_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/milestones{/number}","notifications_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/labels{/name}","releases_url":"https://api.github.com/repos/Seth-Karlo/chef-gluster/releases{/id}","created_at":"2015-07-28T13:30:11Z","updated_at":"2015-07-28T13:30:11Z","pushed_at":"2015-11-06T17:14:48Z","git_url":"git://github.com/Seth-Karlo/chef-gluster.git","ssh_url":"git@github.com:Seth-Karlo/chef-gluster.git","clone_url":"https://github.com/Seth-Karlo/chef-gluster.git","svn_url":"https://github.com/Seth-Karlo/chef-gluster","homepage":null,"size":210,"stargazers_count":0,"watchers_count":0,"language":"Ruby","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":"shortdudey123:master","ref":"master","sha":"10da1f88d582f55cbb16e335726c47f635cd0283","user":{"login":"shortdudey123","id":3051981,"avatar_url":"https://avatars.githubusercontent.com/u/3051981?v=3","gravatar_id":"","url":"https://api.github.com/users/shortdudey123","html_url":"https://github.com/shortdudey123","followers_url":"https://api.github.com/users/shortdudey123/followers","following_url":"https://api.github.com/users/shortdudey123/following{/other_user}","gists_url":"https://api.github.com/users/shortdudey123/gists{/gist_id}","starred_url":"https://api.github.com/users/shortdudey123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shortdudey123/subscriptions","organizations_url":"https://api.github.com/users/shortdudey123/orgs","repos_url":"https://api.github.com/users/shortdudey123/repos","events_url":"https://api.github.com/users/shortdudey123/events{/privacy}","received_events_url":"https://api.github.com/users/shortdudey123/received_events","type":"User","site_admin":false},"repo":{"id":23468648,"name":"chef-gluster","full_name":"shortdudey123/chef-gluster","owner":{"login":"shortdudey123","id":3051981,"avatar_url":"https://avatars.githubusercontent.com/u/3051981?v=3","gravatar_id":"","url":"https://api.github.com/users/shortdudey123","html_url":"https://github.com/shortdudey123","followers_url":"https://api.github.com/users/shortdudey123/followers","following_url":"https://api.github.com/users/shortdudey123/following{/other_user}","gists_url":"https://api.github.com/users/shortdudey123/gists{/gist_id}","starred_url":"https://api.github.com/users/shortdudey123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shortdudey123/subscriptions","organizations_url":"https://api.github.com/users/shortdudey123/orgs","repos_url":"https://api.github.com/users/shortdudey123/repos","events_url":"https://api.github.com/users/shortdudey123/events{/privacy}","received_events_url":"https://api.github.com/users/shortdudey123/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/shortdudey123/chef-gluster","description":"Chef cookbook for deploying Gluster","fork":false,"url":"https://api.github.com/repos/shortdudey123/chef-gluster","forks_url":"https://api.github.com/repos/shortdudey123/chef-gluster/forks","keys_url":"https://api.github.com/repos/shortdudey123/chef-gluster/keys{/key_id}","collaborators_url":"https://api.github.com/repos/shortdudey123/chef-gluster/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/shortdudey123/chef-gluster/teams","hooks_url":"https://api.github.com/repos/shortdudey123/chef-gluster/hooks","issue_events_url":"https://api.github.com/repos/shortdudey123/chef-gluster/issues/events{/number}","events_url":"https://api.github.com/repos/shortdudey123/chef-gluster/events","assignees_url":"https://api.github.com/repos/shortdudey123/chef-gluster/assignees{/user}","branches_url":"https://api.github.com/repos/shortdudey123/chef-gluster/branches{/branch}","tags_url":"https://api.github.com/repos/shortdudey123/chef-gluster/tags","blobs_url":"https://api.github.com/repos/shortdudey123/chef-gluster/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/shortdudey123/chef-gluster/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/shortdudey123/chef-gluster/git/refs{/sha}","trees_url":"https://api.github.com/repos/shortdudey123/chef-gluster/git/trees{/sha}","statuses_url":"https://api.github.com/repos/shortdudey123/chef-gluster/statuses/{sha}","languages_url":"https://api.github.com/repos/shortdudey123/chef-gluster/languages","stargazers_url":"https://api.github.com/repos/shortdudey123/chef-gluster/stargazers","contributors_url":"https://api.github.com/repos/shortdudey123/chef-gluster/contributors","subscribers_url":"https://api.github.com/repos/shortdudey123/chef-gluster/subscribers","subscription_url":"https://api.github.com/repos/shortdudey123/chef-gluster/subscription","commits_url":"https://api.github.com/repos/shortdudey123/chef-gluster/commits{/sha}","git_commits_url":"https://api.github.com/repos/shortdudey123/chef-gluster/git/commits{/sha}","comments_url":"https://api.github.com/repos/shortdudey123/chef-gluster/comments{/number}","issue_comment_url":"https://api.github.com/repos/shortdudey123/chef-gluster/issues/comments{/number}","contents_url":"https://api.github.com/repos/shortdudey123/chef-gluster/contents/{+path}","compare_url":"https://api.github.com/repos/shortdudey123/chef-gluster/compare/{base}...{head}","merges_url":"https://api.github.com/repos/shortdudey123/chef-gluster/merges","archive_url":"https://api.github.com/repos/shortdudey123/chef-gluster/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/shortdudey123/chef-gluster/downloads","issues_url":"https://api.github.com/repos/shortdudey123/chef-gluster/issues{/number}","pulls_url":"https://api.github.com/repos/shortdudey123/chef-gluster/pulls{/number}","milestones_url":"https://api.github.com/repos/shortdudey123/chef-gluster/milestones{/number}","notifications_url":"https://api.github.com/repos/shortdudey123/chef-gluster/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/shortdudey123/chef-gluster/labels{/name}","releases_url":"https://api.github.com/repos/shortdudey123/chef-gluster/releases{/id}","created_at":"2014-08-29T15:34:25Z","updated_at":"2015-09-22T15:05:10Z","pushed_at":"2015-11-06T17:14:48Z","git_url":"git://github.com/shortdudey123/chef-gluster.git","ssh_url":"git@github.com:shortdudey123/chef-gluster.git","clone_url":"https://github.com/shortdudey123/chef-gluster.git","svn_url":"https://github.com/shortdudey123/chef-gluster","homepage":null,"size":480,"stargazers_count":5,"watchers_count":5,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":21,"mirror_url":null,"open_issues_count":4,"forks":21,"open_issues":4,"watchers":5,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/shortdudey123/chef-gluster/pulls/47"},"html":{"href":"https://github.com/shortdudey123/chef-gluster/pull/47"},"issue":{"href":"https://api.github.com/repos/shortdudey123/chef-gluster/issues/47"},"comments":{"href":"https://api.github.com/repos/shortdudey123/chef-gluster/issues/47/comments"},"review_comments":{"href":"https://api.github.com/repos/shortdudey123/chef-gluster/pulls/47/comments"},"review_comment":{"href":"https://api.github.com/repos/shortdudey123/chef-gluster/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/shortdudey123/chef-gluster/pulls/47/commits"},"statuses":{"href":"https://api.github.com/repos/shortdudey123/chef-gluster/statuses/9ef2f73ae511537ef06d3019cc6851ed61ad85a0"}}}}