From eafe0f18b3660ac718cf6f2804227d3b7e28f522 Mon Sep 17 00:00:00 2001 From: Walter Huf Date: Thu, 30 Oct 2014 11:40:37 -0500 Subject: [PATCH 1/4] Works around the giant cephfs changes --- attributes/mds.rb | 1 + attributes/repo.rb | 2 +- recipes/mds.rb | 20 ++++++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/attributes/mds.rb b/attributes/mds.rb index 54c21cd..ad66e45 100644 --- a/attributes/mds.rb +++ b/attributes/mds.rb @@ -1,6 +1,7 @@ include_attribute 'ceph' default['ceph']['mds']['init_style'] = node['init_style'] +default['ceph']['mds']['fs']['ceph'] = {'data_pool' => 'data', 'metadata_pool' => 'metadata'} case node['platform_family'] when 'debian' diff --git a/attributes/repo.rb b/attributes/repo.rb index f215493..d3ecfbe 100644 --- a/attributes/repo.rb +++ b/attributes/repo.rb @@ -1,6 +1,6 @@ default['ceph']['branch'] = 'stable' # Can be stable, testing or dev. # Major release version to install or gitbuilder branch -default['ceph']['version'] = 'firefly' +default['ceph']['version'] = 'giant' default['ceph']['el_add_epel'] = true default['ceph']['repo_url'] = 'http://ceph.com' default['ceph']['extras_repo_url'] = 'http://ceph.com/packages/ceph-extras' diff --git a/recipes/mds.rb b/recipes/mds.rb index aedff15..cd73b23 100644 --- a/recipes/mds.rb +++ b/recipes/mds.rb @@ -22,6 +22,26 @@ cluster = 'ceph' +if node['ceph']['version'] >= 'giant' + # doesn't work on non-mon nodes, will need to be moved to lwrp + node['ceph']['mds']['fs'].keys.each do |fs| + metadata_pool = node['ceph']['mds']['fs'][fs]['metadata_pool'] + data_pool = node['ceph']['mds']['fs'][fs]['data_pool'] + + [metadata_pool, data_pool].each do |pool_name| + execute "ensure ceph pool #{pool_name} exists" do + command "ceph osd pool create #{pool_name} 32" + not_if "rados lspools | grep '^#{Regexp.quote(pool_name)}$'" + end + end + + execute "ensure cephfs #{fs} exists" do + command "ceph fs new #{fs} #{metadata_pool} #{data_pool}" + not_if "ceph fs ls | grep '^#{Regexp.quote(fs)}$'" + end + end +end + directory "/var/lib/ceph/mds/#{cluster}-#{node['hostname']}" do owner 'root' group 'root' From dbd82b097f1c42727fee422c65c8b2cd61ac591c Mon Sep 17 00:00:00 2001 From: Walter Huf Date: Thu, 23 Oct 2014 10:14:18 -0500 Subject: [PATCH 2/4] Fixes cephfs with fuse on successive runs The fstab and stuff need the weird option string as the 'device' But the mount command shows 'ceph-fuse' as the device Chef sees that they are different and tries to mount again This adds a workaround to detect that it's already mounted --- providers/cephfs.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/providers/cephfs.rb b/providers/cephfs.rb index 1205afb..57e9a63 100644 --- a/providers/cephfs.rb +++ b/providers/cephfs.rb @@ -29,6 +29,7 @@ def manage_mount(directory, subdir, use_fuse, action) dump 0 pass 0 action action + not_if "mount | grep \"^ceph-fuse on #{Regexp.escape(directory)}\"" if action == :mount end else mons = mon_addresses.sort.join(',') + ':' + subdir From 83ae8c535f0555b115887b52ce83ca406b5ee214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Pervill=C3=A9?= Date: Thu, 26 Feb 2015 10:50:31 +0630 Subject: [PATCH 3/4] Rubocop fixes. --- attributes/mds.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/attributes/mds.rb b/attributes/mds.rb index ad66e45..1b089fa 100644 --- a/attributes/mds.rb +++ b/attributes/mds.rb @@ -1,7 +1,7 @@ include_attribute 'ceph' default['ceph']['mds']['init_style'] = node['init_style'] -default['ceph']['mds']['fs']['ceph'] = {'data_pool' => 'data', 'metadata_pool' => 'metadata'} +default['ceph']['mds']['fs']['ceph'] = { 'data_pool' => 'data', 'metadata_pool' => 'metadata' } case node['platform_family'] when 'debian' From 17a72aef3d111e103ee1956e05830ad7024c4acb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Pervill=C3=A9?= Date: Fri, 18 Mar 2016 15:42:37 +0100 Subject: [PATCH 4/4] Use github to get ceph.com release.asc --- attributes/repo.rb | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/attributes/repo.rb b/attributes/repo.rb index d3ecfbe..ed391bc 100644 --- a/attributes/repo.rb +++ b/attributes/repo.rb @@ -10,33 +10,33 @@ when 'debian' # Debian/Ubuntu default repositories default['ceph']['debian']['stable']['repository'] = "#{node['ceph']['repo_url']}/debian-#{node['ceph']['version']}/" - default['ceph']['debian']['stable']['repository_key'] = 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' + default['ceph']['debian']['stable']['repository_key'] = 'https://raw.githubusercontent.com/ceph/ceph/master/keys/release.asc' default['ceph']['debian']['testing']['repository'] = "#{node['ceph']['repo_url']}/debian-testing/" - default['ceph']['debian']['testing']['repository_key'] = 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' + default['ceph']['debian']['testing']['repository_key'] = 'https://raw.githubusercontent.com/ceph/ceph/master/keys/release.asc' default['ceph']['debian']['dev']['repository'] = "http://gitbuilder.ceph.com/ceph-deb-#{node['lsb']['codename']}-x86_64-basic/ref/#{node['ceph']['version']}" default['ceph']['debian']['dev']['repository_key'] = 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc' default['ceph']['debian']['extras']['repository'] = "#{node['ceph']['extras_repo_url']}/debian/" - default['ceph']['debian']['extras']['repository_key'] = 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' + default['ceph']['debian']['extras']['repository_key'] = 'https://raw.githubusercontent.com/ceph/ceph/master/keys/release.asc' when 'rhel' # Redhat/CentOS default repositories default['ceph']['rhel']['stable']['repository'] = "#{node['ceph']['repo_url']}/rpm-#{node['ceph']['version']}/el6/x86_64/" - default['ceph']['rhel']['stable']['repository_key'] = 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' + default['ceph']['rhel']['stable']['repository_key'] = 'https://raw.githubusercontent.com/ceph/ceph/master/keys/release.asc' default['ceph']['rhel']['testing']['repository'] = "#{node['ceph']['repo_url']}/rpm-testing/el6/x86_64/" - default['ceph']['rhel']['testing']['repository_key'] = 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' + default['ceph']['rhel']['testing']['repository_key'] = 'https://raw.githubusercontent.com/ceph/ceph/master/keys/release.asc' default['ceph']['rhel']['dev']['repository'] = "http://gitbuilder.ceph.com/ceph-rpm-centos6-x86_64-basic/ref/#{node['ceph']['version']}/x86_64/" default['ceph']['rhel']['dev']['repository_key'] = 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc' default['ceph']['rhel']['extras']['repository'] = "#{node['ceph']['extras_repo_url']}/rpm/rhel6/x86_64/" - default['ceph']['rhel']['extras']['repository_key'] = 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' + default['ceph']['rhel']['extras']['repository_key'] = 'https://raw.githubusercontent.com/ceph/ceph/master/keys/release.asc' when 'fedora' # Fedora default repositories default['ceph']['fedora']['stable']['repository'] = "#{node['ceph']['repo_url']}/rpm-#{node['ceph']['version']}/fc#{node['platform_version']}/x86_64/" - default['ceph']['fedora']['stable']['repository_key'] = 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' + default['ceph']['fedora']['stable']['repository_key'] = 'https://raw.githubusercontent.com/ceph/ceph/master/keys/release.asc' default['ceph']['fedora']['testing']['repository'] = "#{node['ceph']['repo_url']}/rpm-testing/fc#{node['platform_version']}/x86_64/" - default['ceph']['fedora']['testing']['repository_key'] = 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' + default['ceph']['fedora']['testing']['repository_key'] = 'https://raw.githubusercontent.com/ceph/ceph/master/keys/release.asc' default['ceph']['fedora']['dev']['repository'] = "http://gitbuilder.ceph.com/ceph-rpm-fc#{node['platform_version']}-x86_64-basic/ref/#{node['ceph']['version']}/RPMS/x86_64/" default['ceph']['fedora']['dev']['repository_key'] = 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/autobuild.asc' default['ceph']['fedora']['extras']['repository'] = "#{node['ceph']['extras_repo_url']}/rpm/fedora#{node['platform_version']}/x86_64/" - default['ceph']['fedora']['extras']['repository_key'] = 'https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc' + default['ceph']['fedora']['extras']['repository_key'] = 'https://raw.githubusercontent.com/ceph/ceph/master/keys/release.asc' when 'suse' # (Open)SuSE default repositories # Chef doesn't make a difference between suse and opensuse