Skip to content

Commit 7f68405

Browse files
author
Walter Huf
committed
Adds aliases for custom radosgw configurations
1 parent 1c2d65c commit 7f68405

File tree

5 files changed

+13
-2
lines changed

5 files changed

+13
-2
lines changed

providers/radosgw.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ def whyrun_supported?
3838
instance['keyring'] = "/etc/ceph/ceph.#{keyname}.keyring"
3939
instance['rgw socket path'] = @new_resource.socket_path || "/var/run/ceph/radosgw.#{zone}.#{node['hostname']}"
4040
instance['rgw dns name'] = @new_resource.dns_name
41-
instance['rgw print continue'] = @new_resource.print_continue unless @new_resource.print_continue.nil?
41+
instance['api_aliases'] = @new_resource.dns_aliases if @new_resource.dns_aliases
42+
instance['rgw print continue'] = @new_resource.print_continue.to_s unless @new_resource.print_continue.nil?
4243

4344
node.default['ceph']['radosgw']['instances'][keyname] = instance
4445

resources/radosgw.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
# other radosgw settings
1313
attribute :keyname, :kind_of => String, :default => nil # defaults to client.radosgw.#{zone}.#{hostname}, used to generate key
1414
attribute :dns_name, :kind_of => String
15+
attribute :dns_aliases, :kind_of => Array, :default => nil # turns into ServerAlias lines
1516
attribute :socket_path, :kind_of => String, :default => nil # defaults to /var/run/ceph/ceph-radosgw.#{zone}.#{hostname}
1617
attribute :print_continue, :kind_of => [TrueClass, FalseClass], :default => nil
1718

templates/default/ceph.conf.erb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
[<%= name %>]
5050
host = <%= node['hostname'] %>
5151
log file = /var/log/ceph/radosgw-<%= instance['rgw zone'] %>.log
52-
<%- instance.sort.each do |k,v| %>
52+
<%- instance.sort.reject{ |k,v| (! k.is_a? String) || (! v.is_a? String) }.each do |k,v| %>
5353
<%= k %> = <%= v %>
5454
<%- end %>
5555
<%- end # radosgw.instances.each -%>

test/cookbooks/ceph_test/recipes/radosgw_zone.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@
2323
region_root_pool '.rgw.root'
2424
zone_root_pool '.rgw.root'
2525
dns_name 'ceph.test'
26+
dns_aliases ['*.ceph.test']
2627
keyname 'client.radosgw.us-test'
2728
socket_path '/var/run/ceph/radosgw.us-test'
2829
print_continue true
2930
end.run_action(:add)
31+
32+
package 'curl' # used for the tests

test/integration/aio/bats/radosgw_zone.bats

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
echo "$settings" | grep 'keyring = /etc/ceph/ceph.client.radosgw.us-test.keyring' > /dev/null
1010
echo "$settings" | grep 'rgw socket path = /var/run/ceph/radosgw.us-test' > /dev/null
1111
echo "$settings" | grep 'rgw dns name = ceph.test' > /dev/null
12+
echo "$settings" | grep -v 'api_aliases' > /dev/null
13+
echo "$settings" | grep -v 'rgw dns aliases' > /dev/null
1214
echo "$settings" | grep 'rgw print continue = true' > /dev/null
1315
}
1416

@@ -28,9 +30,13 @@
2830
test -e $filename
2931
grep 'FastCgiExternalServer /var/www/s3gw-default.fcgi -socket /var/run/ceph/radosgw.us-test' $filename > /dev/null
3032
grep 'ServerName ceph.test' $filename > /dev/null
33+
grep 'ServerAlias \*.ceph.test' $filename > /dev/null
3134
grep 'RewriteRule.*s3gw-default.fcgi' $filename > /dev/null
3235
}
3336

3437
@test "radosgw for test zone responds via apache" {
3538
wget http://localhost --header=host:ceph.test -O- | grep ListAllMyBucketsResult > /dev/null
3639
}
40+
@test "radosgw for test zone subdomain responds via apache" {
41+
curl http://localhost --header host:sub.ceph.test | grep NoSuchBucket > /dev/null
42+
}

0 commit comments

Comments
 (0)