Merge pull request #61 from derekhiggins/jtopjian-puppetlabs-rebase
Jtopjian puppetlabs rebase
This commit is contained in:
@@ -33,6 +33,11 @@ class swift(
|
||||
ensure => $package_ensure,
|
||||
}
|
||||
|
||||
package { 'swiftclient':
|
||||
name => $::swift::params::client_package,
|
||||
ensure => $package_ensure,
|
||||
}
|
||||
|
||||
File { owner => 'swift', group => 'swift', require => Package['swift'] }
|
||||
|
||||
file { '/home/swift':
|
||||
|
@@ -2,14 +2,19 @@ class swift::keystone::auth(
|
||||
$auth_name = 'swift',
|
||||
$password = 'swift_password',
|
||||
$address = '127.0.0.1',
|
||||
$port = '8080'
|
||||
$port = '8080',
|
||||
$tenant = 'services',
|
||||
$email = 'swift@localhost',
|
||||
$region = 'RegionOne'
|
||||
) {
|
||||
|
||||
keystone_user { $auth_name:
|
||||
ensure => present,
|
||||
password => $password,
|
||||
email => $email,
|
||||
tenant => $tenant,
|
||||
}
|
||||
keystone_user_role { "${auth_name}@services":
|
||||
keystone_user_role { "${auth_name}@${tenant}":
|
||||
ensure => present,
|
||||
roles => 'admin',
|
||||
require => Keystone_user[$auth_name]
|
||||
@@ -20,9 +25,8 @@ class swift::keystone::auth(
|
||||
type => 'object-store',
|
||||
description => 'Openstack Object-Store Service',
|
||||
}
|
||||
keystone_endpoint { $auth_name:
|
||||
keystone_endpoint { "${region}/${auth_name}":
|
||||
ensure => present,
|
||||
region => 'RegionOne',
|
||||
public_url => "http://${address}:${port}/v1/AUTH_%(tenant_id)s",
|
||||
admin_url => "http://${address}:${port}/",
|
||||
internal_url => "http://${address}:${port}/v1/AUTH_%(tenant_id)s",
|
||||
@@ -33,9 +37,8 @@ class swift::keystone::auth(
|
||||
type => 's3',
|
||||
description => 'Openstack S3 Service',
|
||||
}
|
||||
keystone_endpoint { "${auth_name}_s3":
|
||||
keystone_endpoint { "${region}/${auth_name}_s3":
|
||||
ensure => present,
|
||||
region => 'RegionOne',
|
||||
public_url => "http://${address}:${port}",
|
||||
admin_url => "http://${address}:${port}",
|
||||
internal_url => "http://${address}:${port}",
|
||||
|
@@ -2,6 +2,7 @@ class swift::params {
|
||||
case $osfamily {
|
||||
'Debian': {
|
||||
$package_name = 'swift'
|
||||
$client_package = 'python-swiftclient'
|
||||
$proxy_package_name = 'swift-proxy'
|
||||
$proxy_service_name = 'swift-proxy'
|
||||
$object_package_name = 'swift-object'
|
||||
@@ -13,6 +14,7 @@ class swift::params {
|
||||
$account_package_name = 'swift-account'
|
||||
$account_service_name = 'swift-account'
|
||||
$account_replicator_service_name = 'swift-account-replicator'
|
||||
$swift3 = 'swift-plugin-s3'
|
||||
if $::operatingsystem == 'Debian' {
|
||||
$service_proivider = 'debian'
|
||||
} else {
|
||||
@@ -21,6 +23,7 @@ class swift::params {
|
||||
}
|
||||
'RedHat': {
|
||||
$package_name = 'openstack-swift'
|
||||
$client_package = 'python-swiftclient'
|
||||
$proxy_package_name = 'openstack-swift-proxy'
|
||||
$proxy_service_name = 'openstack-swift-proxy'
|
||||
$object_package_name = 'openstack-swift-object'
|
||||
|
@@ -45,6 +45,7 @@ class swift::proxy(
|
||||
$workers = $::processorcount,
|
||||
$allow_account_management = true,
|
||||
$account_autocreate = true,
|
||||
$log_level = 'INFO',
|
||||
$package_ensure = 'present'
|
||||
) {
|
||||
|
||||
|
@@ -32,25 +32,23 @@
|
||||
#
|
||||
|
||||
class swift::proxy::authtoken(
|
||||
$admin_token = undef,
|
||||
$admin_user = undef,
|
||||
$admin_tenant_name = undef,
|
||||
$admin_password = undef,
|
||||
$delay_auth_decision = undef,
|
||||
$auth_host = undef,
|
||||
$auth_port = undef,
|
||||
$auth_protocol = undef
|
||||
$admin_user = 'swift',
|
||||
$admin_tenant_name = 'services',
|
||||
$admin_password = 'password',
|
||||
$auth_host = '127.0.0.1',
|
||||
$auth_port = '35357',
|
||||
$auth_protocol = 'http',
|
||||
$delay_auth_decision = 1,
|
||||
$admin_token = false
|
||||
) {
|
||||
|
||||
keystone::client::authtoken { '/etc/swift/proxy-server.conf':
|
||||
admin_token => $admin_token,
|
||||
admin_user => $admin_user,
|
||||
admin_tenant_name => $admin_tenant_name,
|
||||
admin_password => $admin_password,
|
||||
delay_auth_decision => $delay_auth_decision,
|
||||
auth_host => $auth_host,
|
||||
auth_port => $auth_port,
|
||||
auth_protocol => $auth_protocol
|
||||
$auth_uri = "${auth_protocol}://${auth_host}:5000"
|
||||
$fragment_title = regsubst($name, '/', '_', 'G')
|
||||
|
||||
concat::fragment { "swift_authtoken":
|
||||
target => '/etc/swift/proxy-server.conf',
|
||||
content => template('swift/proxy/authtoken.conf.erb'),
|
||||
order => '22',
|
||||
}
|
||||
|
||||
}
|
||||
|
20
manifests/proxy/proxy-logging.pp
Normal file
20
manifests/proxy/proxy-logging.pp
Normal file
@@ -0,0 +1,20 @@
|
||||
#
|
||||
# Configure swift proxy-logging.
|
||||
#
|
||||
# == Dependencies
|
||||
#
|
||||
# == Examples
|
||||
#
|
||||
# == Authors
|
||||
#
|
||||
# Joe Topjian joe@topjian.net
|
||||
#
|
||||
class swift::proxy::proxy-logging {
|
||||
|
||||
concat::fragment { 'swift_proxy-logging':
|
||||
target => '/etc/swift/proxy-server.conf',
|
||||
content => template('swift/proxy/proxy-logging.conf.erb'),
|
||||
order => '27',
|
||||
}
|
||||
|
||||
}
|
@@ -23,7 +23,7 @@
|
||||
#
|
||||
class swift::proxy::s3token(
|
||||
auth_host = '127.0.0.1',
|
||||
auth_port = 5000,
|
||||
auth_port = '35357',
|
||||
auth_protocol = 'http'
|
||||
) {
|
||||
|
||||
|
@@ -8,12 +8,22 @@
|
||||
# == Authors
|
||||
#
|
||||
# François Charlier fcharlier@ploup.net
|
||||
# Joe Topjian joe@topjian.net
|
||||
#
|
||||
# == Copyright
|
||||
#
|
||||
# Copyright 2012 eNovance licensing@enovance.com
|
||||
#
|
||||
class swift::proxy::swift3() {
|
||||
class swift::proxy::swift3(
|
||||
$ensure = 'present'
|
||||
) {
|
||||
|
||||
include $::swift::params
|
||||
|
||||
package { 'swift-plugin-s3':
|
||||
name => $::swift::params::swift3,
|
||||
ensure => $ensure,
|
||||
}
|
||||
|
||||
concat::fragment { 'swift_swift3':
|
||||
target => '/etc/swift/proxy-server.conf',
|
||||
|
@@ -21,9 +21,8 @@ describe 'swift::keystone::auth' do
|
||||
:description => 'Openstack Object-Store Service'
|
||||
) }
|
||||
|
||||
it { should contain_keystone_endpoint('swift').with(
|
||||
it { should contain_keystone_endpoint('RegionOne/swift').with(
|
||||
:ensure => 'present',
|
||||
:region => 'RegionOne',
|
||||
:public_url => "http://127.0.0.1:8080/v1/AUTH_%(tenant_id)s",
|
||||
:admin_url => "http://127.0.0.1:8080/",
|
||||
:internal_url => "http://127.0.0.1:8080/v1/AUTH_%(tenant_id)s"
|
||||
@@ -35,9 +34,8 @@ describe 'swift::keystone::auth' do
|
||||
:description => 'Openstack S3 Service'
|
||||
) }
|
||||
|
||||
it { should contain_keystone_endpoint('swift_s3').with(
|
||||
it { should contain_keystone_endpoint('RegionOne/swift_s3').with(
|
||||
:ensure => 'present',
|
||||
:region => 'RegionOne',
|
||||
:public_url => 'http://127.0.0.1:8080',
|
||||
:admin_url => 'http://127.0.0.1:8080',
|
||||
:internal_url => 'http://127.0.0.1:8080'
|
||||
@@ -73,11 +71,11 @@ describe 'swift::keystone::auth' do
|
||||
|
||||
it { should contain_keystone_service('swifty') }
|
||||
|
||||
it { should contain_keystone_endpoint('swifty') }
|
||||
it { should contain_keystone_endpoint('RegionOne/swifty') }
|
||||
|
||||
it { should contain_keystone_service('swifty_s3') }
|
||||
|
||||
it { should contain_keystone_endpoint('swifty_s3') }
|
||||
it { should contain_keystone_endpoint('RegionOne/swifty_s3') }
|
||||
|
||||
end
|
||||
|
||||
@@ -90,17 +88,15 @@ describe 'swift::keystone::auth' do
|
||||
}
|
||||
end
|
||||
|
||||
it { should contain_keystone_endpoint('swift').with(
|
||||
it { should contain_keystone_endpoint('RegionOne/swift').with(
|
||||
:ensure => 'present',
|
||||
:region => 'RegionOne',
|
||||
:public_url => "http://192.168.0.1:8081/v1/AUTH_%(tenant_id)s",
|
||||
:admin_url => "http://192.168.0.1:8081/",
|
||||
:internal_url => "http://192.168.0.1:8081/v1/AUTH_%(tenant_id)s"
|
||||
) }
|
||||
|
||||
it { should contain_keystone_endpoint('swift_s3').with(
|
||||
it { should contain_keystone_endpoint('RegionOne/swift_s3').with(
|
||||
:ensure => 'present',
|
||||
:region => 'RegionOne',
|
||||
:public_url => 'http://192.168.0.1:8081',
|
||||
:admin_url => 'http://192.168.0.1:8081',
|
||||
:internal_url => 'http://192.168.0.1:8081'
|
||||
|
@@ -15,21 +15,39 @@ describe 'swift::proxy::authtoken' do
|
||||
'
|
||||
end
|
||||
|
||||
let :params do
|
||||
{
|
||||
:admin_token => 'admin_token',
|
||||
:admin_user => 'admin_user',
|
||||
:admin_tenant_name => 'admin_tenant_name',
|
||||
:admin_password => 'admin_password',
|
||||
:delay_auth_decision => 42,
|
||||
:auth_host => '1.2.3.4',
|
||||
:auth_port => 4682,
|
||||
:auth_protocol => 'https'
|
||||
}
|
||||
let :fragment_file do
|
||||
"/var/lib/puppet/concat/_etc_swift_proxy-server.conf/fragments/22_swift_authtoken"
|
||||
end
|
||||
|
||||
describe "when using default parameters" do
|
||||
it 'should build the fragment with correct parameters' do
|
||||
verify_contents(subject, fragment_file,
|
||||
[
|
||||
'[filter:authtoken]',
|
||||
'paste.filter_factory = keystone.middleware.auth_token:filter_factory',
|
||||
'signing_dir = /etc/swift',
|
||||
'auth_host = 127.0.0.1',
|
||||
'auth_port = 35357',
|
||||
'auth_protocol = http',
|
||||
'auth_uri = http://127.0.0.1:5000',
|
||||
'admin_tenant_name = services',
|
||||
'admin_user = swift',
|
||||
'admin_password = password',
|
||||
'delay_auth_decision = 1',
|
||||
]
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
describe "when override parameters" do
|
||||
let :params do
|
||||
{
|
||||
:admin_token => 'ADMINTOKEN'
|
||||
}
|
||||
end
|
||||
|
||||
it { should contain_file(fragment_file).with_content(/admin_token = ADMINTOKEN/) }
|
||||
end
|
||||
|
||||
it { should contain_keystone__client__authtoken('/etc/swift/proxy-server.conf').with(
|
||||
params
|
||||
)}
|
||||
|
||||
end
|
||||
|
@@ -25,7 +25,7 @@ describe 'swift::proxy::s3token' do
|
||||
[
|
||||
'[filter:s3token]',
|
||||
'paste.filter_factory = keystone.middleware.s3_token:filter_factory',
|
||||
'auth_port = 5000',
|
||||
'auth_port = 35357',
|
||||
'auth_protocol = http',
|
||||
'auth_host = 127.0.0.1'
|
||||
]
|
||||
|
@@ -18,6 +18,6 @@ describe 'swift::proxy::swift3' do
|
||||
end
|
||||
|
||||
it { should contain_file(fragment_file).with_content(/[filter:swift3]/) }
|
||||
it { should contain_file(fragment_file).with_content(/use = egg:swift#swift3/) }
|
||||
it { should contain_file(fragment_file).with_content(/use = egg:swift3#swift3/) }
|
||||
|
||||
end
|
||||
|
@@ -7,6 +7,7 @@ bind_ip = <%= proxy_local_net_ip %>
|
||||
<% end %>
|
||||
workers = <%= workers %>
|
||||
user = swift
|
||||
set log_level = <%= log_level %>
|
||||
|
||||
[pipeline:main]
|
||||
pipeline = <%= pipeline.to_a.join(' ') %>
|
||||
|
17
templates/proxy/authtoken.conf.erb
Normal file
17
templates/proxy/authtoken.conf.erb
Normal file
@@ -0,0 +1,17 @@
|
||||
[filter:authtoken]
|
||||
paste.filter_factory = keystone.middleware.auth_token:filter_factory
|
||||
signing_dir = /etc/swift
|
||||
auth_host = <%= auth_host %>
|
||||
auth_port = <%= auth_port %>
|
||||
auth_protocol = <%= auth_protocol %>
|
||||
auth_uri = <%= auth_uri %>
|
||||
# if its defined
|
||||
<% if admin_token -%>
|
||||
admin_token = <%= admin_token %>
|
||||
<% else -%>
|
||||
admin_tenant_name = <%= admin_tenant_name %>
|
||||
admin_user = <%= admin_user %>
|
||||
admin_password = <%= admin_password %>
|
||||
<% end -%>
|
||||
delay_auth_decision = <%= delay_auth_decision %>
|
||||
|
3
templates/proxy/proxy-logging.conf.erb
Normal file
3
templates/proxy/proxy-logging.conf.erb
Normal file
@@ -0,0 +1,3 @@
|
||||
[filter:proxy-logging]
|
||||
use = egg:swift#proxy_logging
|
||||
|
@@ -1,3 +1,3 @@
|
||||
[filter:swift3]
|
||||
use = egg:swift#swift3
|
||||
use = egg:swift3#swift3
|
||||
|
||||
|
Reference in New Issue
Block a user