Initial Import to Public Repository
This commit is contained in:
1
README.md
Normal file
1
README.md
Normal file
@@ -0,0 +1 @@
|
||||
These are incomplete, use with caution. They have pulled from a working configuration using Debian. They will require work for other distributions. They also assume your package manager (apt-get, etc) are already configured for a ceph repository.
|
0
admin-tools/README.rdoc
Normal file
0
admin-tools/README.rdoc
Normal file
6
admin-tools/metadata.rb
Normal file
6
admin-tools/metadata.rb
Normal file
@@ -0,0 +1,6 @@
|
||||
maintainer "Kyle Bader"
|
||||
maintainer_email "kyle.bader@dreamhost.com"
|
||||
license "Apache 2.0"
|
||||
description "Installs the parted disk utility"
|
||||
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
|
||||
version "0.0.1"
|
37
admin-tools/recipes/default.rb
Normal file
37
admin-tools/recipes/default.rb
Normal file
@@ -0,0 +1,37 @@
|
||||
#
|
||||
# Author:: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
# Cookbook Name:: admin-tools
|
||||
# Recipe:: default
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
packages = %w{
|
||||
git-core
|
||||
gdb
|
||||
inotail
|
||||
iotop
|
||||
iftop
|
||||
iptraf
|
||||
pdsh
|
||||
tcpdump
|
||||
strace
|
||||
sysstat
|
||||
}
|
||||
|
||||
packages.each do |pkg|
|
||||
package pkg do
|
||||
action :upgrade
|
||||
end
|
||||
end
|
0
btrfs/README.rdoc
Normal file
0
btrfs/README.rdoc
Normal file
6
btrfs/metadata.rb
Normal file
6
btrfs/metadata.rb
Normal file
@@ -0,0 +1,6 @@
|
||||
maintainer "Kyle Bader"
|
||||
maintainer_email "kyle.bader@dreamhost.com"
|
||||
license "Apache 2.0"
|
||||
description "Installs tools for BTRFS filesystems"
|
||||
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
|
||||
version "0.0.1"
|
29
btrfs/recipes/default.rb
Normal file
29
btrfs/recipes/default.rb
Normal file
@@ -0,0 +1,29 @@
|
||||
#
|
||||
# Author:: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
# Cookbook Name:: btrfs
|
||||
# Recipe:: default
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
packages = %w{
|
||||
btrfs-tools
|
||||
btrfs-tools-dbg
|
||||
}
|
||||
|
||||
packages.each do |pkg|
|
||||
package pkg do
|
||||
action :upgrade
|
||||
end
|
||||
end
|
129
ceph/README.md
Normal file
129
ceph/README.md
Normal file
@@ -0,0 +1,129 @@
|
||||
DESCRIPTION
|
||||
===========
|
||||
|
||||
Installs and configures Ceph, a distributed network storage and filesystem
|
||||
designed to provide excellent performance, reliability, and scalability.
|
||||
|
||||
REQUIREMENTS
|
||||
============
|
||||
|
||||
Platform
|
||||
--------
|
||||
|
||||
Tested as working:
|
||||
* Debian Squeeze (6.x)
|
||||
|
||||
Cookbooks
|
||||
---------
|
||||
|
||||
The ceph cookbook requires the following cookbooks from Opscode:
|
||||
|
||||
https://github.com/opscode/cookbooks
|
||||
|
||||
* apache2
|
||||
|
||||
Also required are the following cookbooks New Dream Network (DreamHost.com):
|
||||
|
||||
https://github.com/NewDreamNetwork/ceph-cookbooks
|
||||
|
||||
* btrfs
|
||||
* parted
|
||||
|
||||
|
||||
ATTRIBUTES
|
||||
==========
|
||||
|
||||
Ceph Rados Gateway
|
||||
------------------
|
||||
|
||||
* node[:ceph][:radosgw][:api_fqdn]
|
||||
* node[:ceph][:radosgw][:admin_email]
|
||||
* node[:ceph][:radosgw][:rgw_addr]
|
||||
|
||||
Ceph Balancer
|
||||
-------------
|
||||
|
||||
*
|
||||
*
|
||||
|
||||
TEMPLATES
|
||||
=========
|
||||
|
||||
USAGE
|
||||
=====
|
||||
|
||||
Ceph cluster design is beyond the scope of this README, please turn to the
|
||||
public wiki, mailing lists, visit our IRC channel or Ceph Support page:
|
||||
|
||||
http://ceph.newdream.net/wiki/
|
||||
http://ceph.newdream.net/mailing-lists-and-irc/
|
||||
http://www.cephsupport.com/
|
||||
|
||||
This diagram helps visualize recipe inheritence of the ceph cookbook recipes:
|
||||
|
||||
<diagram url>
|
||||
|
||||
Ceph Monitor
|
||||
------------
|
||||
|
||||
Ceph monitor nodes should use the ceph::mon recipe.
|
||||
|
||||
Includes:
|
||||
|
||||
* ceph::default
|
||||
* ceph::rados-rest
|
||||
|
||||
Ceph Metadata Server
|
||||
--------------------
|
||||
|
||||
Ceph metadata server nodes should use the ceph::mds recipe.
|
||||
|
||||
Includes:
|
||||
|
||||
* ceph::default
|
||||
|
||||
Ceph OSD
|
||||
--------
|
||||
|
||||
Ceph OSD nodes should use the ceph::osd recipe
|
||||
|
||||
Includes:
|
||||
|
||||
* ceph::default
|
||||
|
||||
Ceph Rados Gateway
|
||||
------------------
|
||||
|
||||
Ceph Rados Gateway nodes should use the ceph::radosgw recipe
|
||||
|
||||
Includes:
|
||||
|
||||
* ceph::rados-rest
|
||||
|
||||
Ceph Balancer
|
||||
-------------
|
||||
|
||||
Ceph Balancer nodes should use the ceph::balancer recipe
|
||||
|
||||
Includes:
|
||||
|
||||
*
|
||||
|
||||
LICENSE AND AUTHORS
|
||||
===================
|
||||
|
||||
* Author: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
|
||||
* Copyright 2011, DreamHost Web Hosting
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
22
ceph/attributes/radosgw.rb
Normal file
22
ceph/attributes/radosgw.rb
Normal file
@@ -0,0 +1,22 @@
|
||||
#
|
||||
# Cookbook Name:: ceph
|
||||
# Attributes:: radosgw
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
default["ceph"]["radosgw"]["api_fqdn"] = "127.0.0.1"
|
||||
default["ceph"]["radosgw"]["admin-email"] = "admin@example.com"
|
||||
default["ceph"]["radosgw"]["rgw_addr"] = "*:80"
|
||||
|
38
ceph/files/default/radosgw
Executable file
38
ceph/files/default/radosgw
Executable file
@@ -0,0 +1,38 @@
|
||||
#! /bin/sh
|
||||
### BEGIN INIT INFO
|
||||
# Provides: single
|
||||
# Required-Start: $remote_fs $named $network $time
|
||||
# Required-Stop: $remote_fs $named $network $time
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: radosgw
|
||||
### END INIT INFO
|
||||
|
||||
PATH=/sbin:/bin:/usr/bin
|
||||
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
CLIENT_NAME=client.rgw-`hostname | sed 's/\..*//g'`
|
||||
USER=www-data
|
||||
|
||||
|
||||
do_start () {
|
||||
su $USER -c "radosgw -c /etc/ceph/ceph.conf -n $CLIENT_NAME >> /var/log/radosgw/radosgw.log 2>&1 &"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
do_start
|
||||
;;
|
||||
restart|reload|force-reload)
|
||||
echo "Error: argument '$1' not supported" >&2
|
||||
exit 3
|
||||
;;
|
||||
stop)
|
||||
# No-op
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 start|stop" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
9
ceph/metadata.rb
Normal file
9
ceph/metadata.rb
Normal file
@@ -0,0 +1,9 @@
|
||||
maintainer "Kyle Bader"
|
||||
maintainer_email "kyle.bader@dreamhost.com"
|
||||
license "Apache 2.0"
|
||||
description "Installs/Configures the Ceph distributed filesystem"
|
||||
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
||||
version "0.0.10"
|
||||
depends "apache2"
|
||||
depends "btrfs"
|
||||
depends "parted"
|
0
ceph/providers/mkcephfs.rb
Normal file
0
ceph/providers/mkcephfs.rb
Normal file
30
ceph/recipes/default.rb
Normal file
30
ceph/recipes/default.rb
Normal file
@@ -0,0 +1,30 @@
|
||||
#
|
||||
# Author:: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
# Cookbook Name:: ceph
|
||||
# Recipe:: default
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
packages = %w{
|
||||
ceph
|
||||
ceph-dbg
|
||||
libceph1
|
||||
}
|
||||
|
||||
packages.each do |pkg|
|
||||
package pkg do
|
||||
action :upgrade
|
||||
end
|
||||
end
|
20
ceph/recipes/mds.rb
Normal file
20
ceph/recipes/mds.rb
Normal file
@@ -0,0 +1,20 @@
|
||||
#
|
||||
# Author:: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
# Cookbook Name:: ceph
|
||||
# Recipe:: mds
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
include_recipe "ceph::default"
|
34
ceph/recipes/mon.rb
Normal file
34
ceph/recipes/mon.rb
Normal file
@@ -0,0 +1,34 @@
|
||||
#
|
||||
# Author:: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
# Cookbook Name:: ceph
|
||||
# Recipe:: mon
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
include_recipe "ceph::default"
|
||||
include_recipe "ceph::rados-rest"
|
||||
|
||||
packages = %w{
|
||||
librbd1
|
||||
ceph-client-tools
|
||||
ceph-client-tools-dbg
|
||||
}
|
||||
|
||||
packages.each do |pkg|
|
||||
package pkg do
|
||||
version = node['ceph']['version']
|
||||
action :upgrade
|
||||
end
|
||||
end
|
22
ceph/recipes/osd.rb
Normal file
22
ceph/recipes/osd.rb
Normal file
@@ -0,0 +1,22 @@
|
||||
#
|
||||
# Author:: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
# Cookbook Name:: ceph
|
||||
# Recipe:: osd
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
include_recipe "btrfs"
|
||||
include_recipe "parted"
|
||||
include_recipe "ceph::default"
|
25
ceph/recipes/oss.rb
Normal file
25
ceph/recipes/oss.rb
Normal file
@@ -0,0 +1,25 @@
|
||||
#
|
||||
# Author:: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
# Cookbook Name:: ceph
|
||||
# Recipe:: oss
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
include_recipe "ceph::rados-rest"
|
||||
|
||||
package "obsync" do
|
||||
version = node['ceph']['version']
|
||||
action :install
|
||||
end
|
33
ceph/recipes/rados-rest.rb
Normal file
33
ceph/recipes/rados-rest.rb
Normal file
@@ -0,0 +1,33 @@
|
||||
#
|
||||
# Author:: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
# Cookbook Name:: ceph
|
||||
# Recipe:: rados-client
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
packages = %w{
|
||||
radosgw
|
||||
radosgw-dbg
|
||||
librados2
|
||||
librgw1
|
||||
}
|
||||
|
||||
packages.each do |pkg|
|
||||
package pkg do
|
||||
version = node['ceph']['version']
|
||||
action :upgrade
|
||||
end
|
||||
end
|
78
ceph/recipes/radosgw.rb
Normal file
78
ceph/recipes/radosgw.rb
Normal file
@@ -0,0 +1,78 @@
|
||||
#
|
||||
# Author:: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
# Cookbook Name:: ceph
|
||||
# Recipe:: radosgw
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
include_recipe "ceph::rados-rest"
|
||||
|
||||
packages = %w{
|
||||
apache2
|
||||
apache2-mpm-worker
|
||||
apache2-utils
|
||||
apache2.2-bin
|
||||
apache2.2-common
|
||||
libapache2-mod-fastcgi
|
||||
}
|
||||
|
||||
include_recipe "apache2"
|
||||
|
||||
packages.each do |pkg|
|
||||
package pkg do
|
||||
action :upgrade
|
||||
end
|
||||
end
|
||||
|
||||
cookbook_file "/etc/init.d/radosgw" do
|
||||
source "radosgw"
|
||||
mode 0755
|
||||
owner "root"
|
||||
group "root"
|
||||
end
|
||||
|
||||
service "radosgw" do
|
||||
service_name "radosgw"
|
||||
supports :restart => true
|
||||
action[:enable,:start]
|
||||
end
|
||||
|
||||
apache_module "fastcgi" do
|
||||
conf true
|
||||
end
|
||||
|
||||
apache_module "rewrite" do
|
||||
conf false
|
||||
end
|
||||
|
||||
template "/etc/apache2/sites-available/rgw.conf" do
|
||||
source "rgw.conf.erb"
|
||||
mode 0400
|
||||
owner "root"
|
||||
group "root"
|
||||
variables(
|
||||
:ceph_api_fqdn => node[:ceph][:api_fqdn],
|
||||
:ceph_admin_email => node[:ceph][:admin_email],
|
||||
:ceph_rgw_addr => node[:ceph][:rgw_addr]
|
||||
)
|
||||
if ::File.exists?("#{node[:apache][:dir]}/sites-enabled/rgw.conf")
|
||||
notifies :restart, "service[apache2]"
|
||||
end
|
||||
end
|
||||
|
||||
apache_site "rgw.conf" do
|
||||
enable enable_setting
|
||||
end
|
||||
|
3
ceph/templates/default/apache-pin.erb
Normal file
3
ceph/templates/default/apache-pin.erb
Normal file
@@ -0,0 +1,3 @@
|
||||
Package: <%= @package %>
|
||||
Pin: version <%= node[:ceph][:apache2_version] %>
|
||||
Pin-Priority: 1001
|
5
ceph/templates/default/mods/fastcgi.conf.erb
Normal file
5
ceph/templates/default/mods/fastcgi.conf.erb
Normal file
@@ -0,0 +1,5 @@
|
||||
<IfModule mod_fastcgi.c>
|
||||
AddHandler fastcgi-script .fcgi
|
||||
#FastCgiWrapper /usr/lib/apache2/suexec
|
||||
FastCgiIpcDir /var/lib/apache2/fastcgi
|
||||
</IfModule>
|
3
ceph/templates/default/pin.erb
Normal file
3
ceph/templates/default/pin.erb
Normal file
@@ -0,0 +1,3 @@
|
||||
Package: <%= @package %>
|
||||
Pin: version <%= node[:ceph][:version] %>
|
||||
Pin-Priority: 1001
|
40
ceph/templates/default/rgw.conf.erb
Normal file
40
ceph/templates/default/rgw.conf.erb
Normal file
@@ -0,0 +1,40 @@
|
||||
FastCgiExternalServer /var/www/s3gw.fcgi -socket /var/run/ceph/radosgw.client.rgw-<%= node[:hostname] %>
|
||||
|
||||
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" proxy_combined
|
||||
LogFormat "%{X-Forwarded-For}i %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" proxy_debug
|
||||
|
||||
<VirtualHost <%= @ceph_rgw_addr %>>
|
||||
ServerName <%= @ceph_api_fqdn %>
|
||||
ServerAdmin <%= @ceph_admin_email %>
|
||||
DocumentRoot /var/www/
|
||||
|
||||
RewriteEngine On
|
||||
RewriteRule ^/(.*) /s3gw.fcgi?params=$1&%{QUERY_STRING} [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
|
||||
|
||||
<IfModule mod_fastcgi.c>
|
||||
<Directory /var/www/>
|
||||
Options +ExecCGI
|
||||
AllowOverride All
|
||||
SetHandler fastcgi-script
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
AuthBasicAuthoritative Off
|
||||
</Directory>
|
||||
</IfModule>
|
||||
|
||||
SetEnv RGW_DNS_NAME "<%= @ceph_api_fqdn %>"
|
||||
SetEnv RGW_LOG_LEVEL 20
|
||||
SetEnv RGW_PRINT_CONTINUE "yes"
|
||||
SetEnv RGW_OPENSTACK_URL "http://<%= @ceph_api_fqdn %>"
|
||||
SetEnv RGW_OPENSTACK_URL_PREFIX "swift"
|
||||
SetEnv RGW_REMOTE_ADDR_PARAM "X-Forwarded-For"
|
||||
|
||||
SetEnv CEPH_ARGS "-n client.rgw-<%= node[:hostname] %>"
|
||||
SetEnv RGW_SHOULD_LOG "yes"
|
||||
|
||||
AllowEncodedSlashes On
|
||||
|
||||
ErrorLog /var/log/apache2/error.log
|
||||
CustomLog /var/log/apache2/sssrgw-access.log proxy_combined
|
||||
ServerSignature Off
|
||||
</VirtualHost>
|
0
collectd/README.rdoc
Normal file
0
collectd/README.rdoc
Normal file
6
collectd/metadata.rb
Normal file
6
collectd/metadata.rb
Normal file
@@ -0,0 +1,6 @@
|
||||
maintainer "Kyle Bader"
|
||||
maintainer_email "kyle.bader@dreamhost.com"
|
||||
license "Apache 2.0"
|
||||
description "Installs and configures collectd for Ceph"
|
||||
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
|
||||
version "0.0.7"
|
60
collectd/recipes/ceph-mon.rb
Normal file
60
collectd/recipes/ceph-mon.rb
Normal file
@@ -0,0 +1,60 @@
|
||||
# Author:: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
# Cookbook Name:: collectd
|
||||
# Recipe:: ceph-mon
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
packages = %w{
|
||||
collectd
|
||||
collectd-core
|
||||
}
|
||||
|
||||
packages.each do |pkg|
|
||||
package pkg do
|
||||
action :upgrade
|
||||
end
|
||||
end
|
||||
|
||||
service "collectd" do
|
||||
service_name "collectd"
|
||||
supports :restart => true
|
||||
end
|
||||
|
||||
directories = %w{
|
||||
/etc/collectd
|
||||
/var/lib/collectd
|
||||
/var/lib/collectd/rrd
|
||||
}
|
||||
|
||||
directories.each do |dir|
|
||||
directory dir do
|
||||
action :create
|
||||
mode 0755
|
||||
owner "root"
|
||||
group "root"
|
||||
end
|
||||
end
|
||||
|
||||
template "/etc/collectd/collectd.conf" do
|
||||
source "collectd-mon.conf.erb"
|
||||
owner "root"
|
||||
group "root"
|
||||
mode 0644
|
||||
notifies :restart, "service[collectd]"
|
||||
end
|
||||
|
||||
service "collectd" do
|
||||
action[:enable,:start]
|
||||
end
|
68
collectd/recipes/ceph-osd.rb
Normal file
68
collectd/recipes/ceph-osd.rb
Normal file
@@ -0,0 +1,68 @@
|
||||
|
||||
# Author:: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
# Cookbook Name:: collectd
|
||||
# Recipe:: ceph-osd
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
packages = %w{
|
||||
collectd
|
||||
collectd-core
|
||||
}
|
||||
|
||||
packages.each do |pkg|
|
||||
package pkg do
|
||||
action :upgrade
|
||||
end
|
||||
end
|
||||
|
||||
service "collectd" do
|
||||
service_name "collectd"
|
||||
supports :restart => true
|
||||
end
|
||||
|
||||
directories = %w{
|
||||
/etc/collectd
|
||||
/var/lib/collectd
|
||||
/var/lib/collectd/rrd
|
||||
}
|
||||
|
||||
directories.each do |dir|
|
||||
directory dir do
|
||||
action :create
|
||||
mode 0755
|
||||
owner "root"
|
||||
group "root"
|
||||
end
|
||||
end
|
||||
|
||||
hostname = node[:hostname]
|
||||
|
||||
osds = %x[/usr/bin/cconf -c /etc/ceph/ceph.conf --list-sections osd --filter-key-value host=#{hostname}]
|
||||
|
||||
template "/etc/collectd/collectd.conf" do
|
||||
source "collectd-osd.conf.erb"
|
||||
owner "root"
|
||||
group "root"
|
||||
mode 0644
|
||||
variables(
|
||||
:osds => osds
|
||||
)
|
||||
notifies :restart, "service[collectd]"
|
||||
end
|
||||
|
||||
service "collectd" do
|
||||
action[:enable,:start]
|
||||
end
|
61
collectd/recipes/default.rb
Normal file
61
collectd/recipes/default.rb
Normal file
@@ -0,0 +1,61 @@
|
||||
|
||||
# Author:: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
# Cookbook Name:: collectd
|
||||
# Recipe:: default
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
packages = %w{
|
||||
collectd
|
||||
collectd-core
|
||||
}
|
||||
|
||||
packages.each do |pkg|
|
||||
package pkg do
|
||||
action :upgrade
|
||||
end
|
||||
end
|
||||
|
||||
service "collectd" do
|
||||
service_name "collectd"
|
||||
supports :restart => true
|
||||
end
|
||||
|
||||
directories = %w{
|
||||
/etc/collectd
|
||||
/var/lib/collectd
|
||||
/var/lib/collectd/rrd
|
||||
}
|
||||
|
||||
directories.each do |dir|
|
||||
directory dir do
|
||||
action :create
|
||||
mode 0755
|
||||
owner "root"
|
||||
group "root"
|
||||
end
|
||||
end
|
||||
|
||||
template "/etc/collectd/collectd.conf" do
|
||||
source "collectd.conf.erb"
|
||||
owner "root"
|
||||
group "root"
|
||||
mode 0644
|
||||
notifies :restart, "service[collectd]"
|
||||
end
|
||||
|
||||
service "collectd" do
|
||||
action[:enable,:start]
|
||||
end
|
44
collectd/templates/default/collectd-mon.conf.erb
Normal file
44
collectd/templates/default/collectd-mon.conf.erb
Normal file
@@ -0,0 +1,44 @@
|
||||
Hostname <%= node[:fqdn] %>
|
||||
LoadPlugin syslog
|
||||
<Plugin syslog>
|
||||
LogLevel info
|
||||
</Plugin>
|
||||
LoadPlugin cpu
|
||||
LoadPlugin df
|
||||
LoadPlugin disk
|
||||
LoadPlugin entropy
|
||||
LoadPlugin interface
|
||||
LoadPlugin load
|
||||
LoadPlugin memory
|
||||
LoadPlugin network
|
||||
LoadPlugin processes
|
||||
LoadPlugin swap
|
||||
LoadPlugin uptime
|
||||
LoadPlugin users
|
||||
<Plugin "logfile">
|
||||
LogLevel "debug"
|
||||
file "/var/log/collectd.log"
|
||||
Timestamp true
|
||||
</Plugin>
|
||||
<Plugin network>
|
||||
Server "<%= node[:collectd][:sink] %>" "25826"
|
||||
TimeToLive 128
|
||||
MaxPacketSize 1024
|
||||
CacheFlush 1800
|
||||
</Plugin>
|
||||
<Plugin rrdtool>
|
||||
DataDir "/var/lib/collectd/rrd"
|
||||
</Plugin>
|
||||
LoadPlugin python
|
||||
<Plugin python>
|
||||
ModulePath "/usr/lib/collectd/python.so"
|
||||
LogTraces true
|
||||
Import "cephtool"
|
||||
<Module "cephtool">
|
||||
cephtool "/usr/bin/ceph"
|
||||
config "/etc/ceph/ceph.conf"
|
||||
</Module>
|
||||
</Plugin>
|
||||
|
||||
Include "/etc/collectd/filters.conf"
|
||||
Include "/etc/collectd/thresholds.conf"
|
41
collectd/templates/default/collectd-osd.conf.erb
Normal file
41
collectd/templates/default/collectd-osd.conf.erb
Normal file
@@ -0,0 +1,41 @@
|
||||
Hostname <%= node[:fqdn] %>
|
||||
LoadPlugin syslog
|
||||
<Plugin syslog>
|
||||
LogLevel info
|
||||
</Plugin>
|
||||
LoadPlugin cpu
|
||||
LoadPlugin df
|
||||
LoadPlugin disk
|
||||
LoadPlugin entropy
|
||||
LoadPlugin interface
|
||||
LoadPlugin load
|
||||
LoadPlugin memory
|
||||
LoadPlugin network
|
||||
LoadPlugin processes
|
||||
LoadPlugin swap
|
||||
LoadPlugin uptime
|
||||
LoadPlugin users
|
||||
<Plugin "logfile">
|
||||
LogLevel "debug"
|
||||
file "/var/log/collectd.log"
|
||||
Timestamp true
|
||||
</Plugin>
|
||||
<Plugin network>
|
||||
Server "<%= node[:collectd][:sink] %>" "25826"
|
||||
TimeToLive 128
|
||||
MaxPacketSize 1024
|
||||
CacheFlush 1800
|
||||
</Plugin>
|
||||
<Plugin rrdtool>
|
||||
DataDir "/var/lib/collectd/rrd"
|
||||
</Plugin>
|
||||
LoadPlugin ceph
|
||||
<% @osds.each do |osd| -%>
|
||||
<Plugin ceph>
|
||||
Name "<%= osd.chomp %>"
|
||||
SocketPath "/var/run/ceph/<%= osd.chomp %>.asok"
|
||||
</Plugin>
|
||||
<% end -%>
|
||||
|
||||
Include "/etc/collectd/filters.conf"
|
||||
Include "/etc/collectd/thresholds.conf"
|
34
collectd/templates/default/collectd.conf.erb
Normal file
34
collectd/templates/default/collectd.conf.erb
Normal file
@@ -0,0 +1,34 @@
|
||||
Hostname <%= node[:fqdn] %>
|
||||
LoadPlugin syslog
|
||||
<Plugin syslog>
|
||||
LogLevel "info"
|
||||
</Plugin>
|
||||
LoadPlugin cpu
|
||||
LoadPlugin df
|
||||
LoadPlugin disk
|
||||
LoadPlugin entropy
|
||||
LoadPlugin interface
|
||||
LoadPlugin load
|
||||
LoadPlugin memory
|
||||
LoadPlugin network
|
||||
LoadPlugin processes
|
||||
LoadPlugin swap
|
||||
LoadPlugin uptime
|
||||
LoadPlugin users
|
||||
<Plugin "logfile">
|
||||
LogLevel "debug"
|
||||
file "/var/log/collectd.log"
|
||||
Timestamp true
|
||||
</Plugin>
|
||||
<Plugin network>
|
||||
Server "<%= node[:collectd][:sink] %>" "25826"
|
||||
TimeToLive 128
|
||||
MaxPacketSize 1024
|
||||
CacheFlush 1800
|
||||
</Plugin>
|
||||
<Plugin rrdtool>
|
||||
DataDir "/var/lib/collectd/rrd"
|
||||
</Plugin>
|
||||
|
||||
Include "/etc/collectd/filters.conf"
|
||||
Include "/etc/collectd/thresholds.conf"
|
0
handle-core/README.rdoc
Normal file
0
handle-core/README.rdoc
Normal file
6
handle-core/metadata.rb
Normal file
6
handle-core/metadata.rb
Normal file
@@ -0,0 +1,6 @@
|
||||
maintainer "Kyle Bader"
|
||||
maintainer_email "kyle.bader@dreamhost.com"
|
||||
license "Apache 2.0"
|
||||
description "Installs DreamHost Objects Core Handler"
|
||||
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
|
||||
version "0.0.1"
|
22
handle-core/recipes/default.rb
Normal file
22
handle-core/recipes/default.rb
Normal file
@@ -0,0 +1,22 @@
|
||||
#
|
||||
# Author:: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
# Cookbook Name:: handle-core
|
||||
# Recipe:: default
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
package "handle-core" do
|
||||
action :upgrade
|
||||
end
|
0
parted/README.rdoc
Normal file
0
parted/README.rdoc
Normal file
6
parted/metadata.rb
Normal file
6
parted/metadata.rb
Normal file
@@ -0,0 +1,6 @@
|
||||
maintainer "Kyle Bader"
|
||||
maintainer_email "kyle.bader@dreamhost.com"
|
||||
license "Apache 2.0"
|
||||
description "Installs the parted disk utility"
|
||||
long_description IO.read(File.join(File.dirname(__FILE__), 'README.rdoc'))
|
||||
version "0.0.1"
|
22
parted/recipes/default.rb
Normal file
22
parted/recipes/default.rb
Normal file
@@ -0,0 +1,22 @@
|
||||
#
|
||||
# Author:: Kyle Bader <kyle.bader@dreamhost.com>
|
||||
# Cookbook Name:: parted
|
||||
# Recipe:: default
|
||||
#
|
||||
# Copyright 2011, DreamHost Web Hosting
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
package "parted" do
|
||||
action :upgrade
|
||||
end
|
Reference in New Issue
Block a user