Use ini native types for paste_api
- remove old templates - add native type and provider.
This commit is contained in:
24
lib/puppet/provider/nova_paste_api_ini/ini_setting.rb
Normal file
24
lib/puppet/provider/nova_paste_api_ini/ini_setting.rb
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
Puppet::Type.type(:ini_setting)#.providers
|
||||||
|
|
||||||
|
Puppet::Type.type(:nova_paste_api_ini).provide(
|
||||||
|
:ini_setting,
|
||||||
|
:parent => Puppet::Type::Ini_setting::ProviderRuby
|
||||||
|
) do
|
||||||
|
|
||||||
|
def section
|
||||||
|
resource[:name].split('/', 2).first
|
||||||
|
end
|
||||||
|
|
||||||
|
def setting
|
||||||
|
resource[:name].split('/', 2).last
|
||||||
|
end
|
||||||
|
|
||||||
|
def separator
|
||||||
|
'='
|
||||||
|
end
|
||||||
|
|
||||||
|
def file_path
|
||||||
|
'/etc/nova/api-paste.ini'
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
18
lib/puppet/type/nova_paste_api_ini.rb
Normal file
18
lib/puppet/type/nova_paste_api_ini.rb
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
Puppet::Type.newtype(:nova_paste_api_ini) do
|
||||||
|
|
||||||
|
ensurable
|
||||||
|
|
||||||
|
newparam(:name, :namevar => true) do
|
||||||
|
desc 'Section/setting name to manage from nova/paste-api.ini'
|
||||||
|
newvalues(/\S+\/\S+/)
|
||||||
|
end
|
||||||
|
|
||||||
|
newproperty(:value) do
|
||||||
|
desc 'The value of the setting to be defined.'
|
||||||
|
munge do |v|
|
||||||
|
v.to_s.strip
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
@@ -22,7 +22,11 @@ class nova::api(
|
|||||||
|
|
||||||
Package<| title == 'nova-api' |> -> Exec['initial-db-sync']
|
Package<| title == 'nova-api' |> -> Exec['initial-db-sync']
|
||||||
Package<| title == 'nova-api' |> -> File['/etc/nova/api-paste.ini']
|
Package<| title == 'nova-api' |> -> File['/etc/nova/api-paste.ini']
|
||||||
|
Package<| title == 'nova-api' |> -> Exec['nova-db-sync']
|
||||||
|
Package<| title == 'nova-api' |> -> Nova_paste_api_ini<| |>
|
||||||
|
|
||||||
|
Nova_paste_api_ini<| |> ~> Exec['post-nova_config']
|
||||||
|
Nova_paste_api_ini<| |> ~> Service['nova-api']
|
||||||
|
|
||||||
nova::generic_service { 'api':
|
nova::generic_service { 'api':
|
||||||
enabled => $enabled,
|
enabled => $enabled,
|
||||||
@@ -33,9 +37,12 @@ class nova::api(
|
|||||||
|
|
||||||
nova_config { 'api_paste_config': value => '/etc/nova/api-paste.ini'; }
|
nova_config { 'api_paste_config': value => '/etc/nova/api-paste.ini'; }
|
||||||
|
|
||||||
file { '/etc/nova/api-paste.ini':
|
nova_paste_api_ini {
|
||||||
content => template('nova/api-paste.ini.erb'),
|
'filter:authtoken/auth_host': value => $auth_host;
|
||||||
require => Class['nova'],
|
'filter:authtoken/auth_port': value => $auth_port;
|
||||||
notify => Service['nova-api'],
|
'filter:authtoken/auth_protocol': value => $auth_protocol;
|
||||||
|
'filter:authtoken/admin_tenant_name': value => $admin_tenant_name;
|
||||||
|
'filter:authtoken/admin_user': value => $admin_user;
|
||||||
|
'filter:authtoken/admin_password': value => $admin_password;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,152 +0,0 @@
|
|||||||
############
|
|
||||||
# Metadata #
|
|
||||||
############
|
|
||||||
[composite:metadata]
|
|
||||||
use = egg:Paste#urlmap
|
|
||||||
/: metaversions
|
|
||||||
/latest: meta
|
|
||||||
/1.0: meta
|
|
||||||
/2007-01-19: meta
|
|
||||||
/2007-03-01: meta
|
|
||||||
/2007-08-29: meta
|
|
||||||
/2007-10-10: meta
|
|
||||||
/2007-12-15: meta
|
|
||||||
/2008-02-01: meta
|
|
||||||
/2008-09-01: meta
|
|
||||||
/2009-04-04: meta
|
|
||||||
|
|
||||||
[pipeline:metaversions]
|
|
||||||
pipeline = ec2faultwrap logrequest metaverapp
|
|
||||||
|
|
||||||
[pipeline:meta]
|
|
||||||
pipeline = ec2faultwrap logrequest metaapp
|
|
||||||
|
|
||||||
[app:metaverapp]
|
|
||||||
paste.app_factory = nova.api.metadata.handler:Versions.factory
|
|
||||||
|
|
||||||
[app:metaapp]
|
|
||||||
paste.app_factory = nova.api.metadata.handler:MetadataRequestHandler.factory
|
|
||||||
|
|
||||||
#######
|
|
||||||
# EC2 #
|
|
||||||
#######
|
|
||||||
|
|
||||||
[composite:ec2]
|
|
||||||
use = egg:Paste#urlmap
|
|
||||||
/services/Cloud: ec2cloud
|
|
||||||
|
|
||||||
[composite:ec2cloud]
|
|
||||||
use = call:nova.api.auth:pipeline_factory
|
|
||||||
noauth = ec2faultwrap logrequest ec2noauth cloudrequest validator ec2executor
|
|
||||||
deprecated = ec2faultwrap logrequest authenticate cloudrequest validator ec2executor
|
|
||||||
keystone = ec2faultwrap logrequest ec2keystoneauth cloudrequest validator ec2executor
|
|
||||||
|
|
||||||
[filter:ec2faultwrap]
|
|
||||||
paste.filter_factory = nova.api.ec2:FaultWrapper.factory
|
|
||||||
|
|
||||||
[filter:logrequest]
|
|
||||||
paste.filter_factory = nova.api.ec2:RequestLogging.factory
|
|
||||||
|
|
||||||
[filter:ec2lockout]
|
|
||||||
paste.filter_factory = nova.api.ec2:Lockout.factory
|
|
||||||
|
|
||||||
[filter:totoken]
|
|
||||||
paste.filter_factory = nova.api.ec2:EC2Token.factory
|
|
||||||
|
|
||||||
[filter:ec2keystoneauth]
|
|
||||||
paste.filter_factory = nova.api.ec2:EC2KeystoneAuth.factory
|
|
||||||
|
|
||||||
[filter:ec2noauth]
|
|
||||||
paste.filter_factory = nova.api.ec2:NoAuth.factory
|
|
||||||
|
|
||||||
[filter:authenticate]
|
|
||||||
paste.filter_factory = nova.api.ec2:Authenticate.factory
|
|
||||||
|
|
||||||
[filter:cloudrequest]
|
|
||||||
controller = nova.api.ec2.cloud.CloudController
|
|
||||||
paste.filter_factory = nova.api.ec2:Requestify.factory
|
|
||||||
|
|
||||||
[filter:authorizer]
|
|
||||||
paste.filter_factory = nova.api.ec2:Authorizer.factory
|
|
||||||
|
|
||||||
[filter:validator]
|
|
||||||
paste.filter_factory = nova.api.ec2:Validator.factory
|
|
||||||
|
|
||||||
[app:ec2executor]
|
|
||||||
paste.app_factory = nova.api.ec2:Executor.factory
|
|
||||||
|
|
||||||
#############
|
|
||||||
# Openstack #
|
|
||||||
#############
|
|
||||||
|
|
||||||
[composite:osapi_compute]
|
|
||||||
use = call:nova.api.openstack.urlmap:urlmap_factory
|
|
||||||
/: oscomputeversions
|
|
||||||
/v1.1: openstack_compute_api_v2
|
|
||||||
/v2: openstack_compute_api_v2
|
|
||||||
|
|
||||||
[composite:osapi_volume]
|
|
||||||
use = call:nova.api.openstack.urlmap:urlmap_factory
|
|
||||||
/: osvolumeversions
|
|
||||||
/v1: openstack_volume_api_v1
|
|
||||||
|
|
||||||
[composite:openstack_compute_api_v2]
|
|
||||||
use = call:nova.api.auth:pipeline_factory
|
|
||||||
noauth = faultwrap noauth ratelimit osapi_compute_app_v2
|
|
||||||
deprecated = faultwrap auth ratelimit osapi_compute_app_v2
|
|
||||||
keystone = faultwrap authtoken keystonecontext ratelimit osapi_compute_app_v2
|
|
||||||
keystone_nolimit = faultwrap authtoken keystonecontext osapi_compute_app_v2
|
|
||||||
|
|
||||||
[composite:openstack_volume_api_v1]
|
|
||||||
use = call:nova.api.auth:pipeline_factory
|
|
||||||
noauth = faultwrap noauth ratelimit osapi_volume_app_v1
|
|
||||||
deprecated = faultwrap auth ratelimit osapi_volume_app_v1
|
|
||||||
keystone = faultwrap authtoken keystonecontext ratelimit osapi_volume_app_v1
|
|
||||||
keystone_nolimit = faultwrap authtoken keystonecontext osapi_volume_app_v1
|
|
||||||
|
|
||||||
[filter:faultwrap]
|
|
||||||
paste.filter_factory = nova.api.openstack:FaultWrapper.factory
|
|
||||||
|
|
||||||
[filter:auth]
|
|
||||||
paste.filter_factory = nova.api.openstack.auth:AuthMiddleware.factory
|
|
||||||
|
|
||||||
[filter:noauth]
|
|
||||||
paste.filter_factory = nova.api.openstack.auth:NoAuthMiddleware.factory
|
|
||||||
|
|
||||||
[filter:ratelimit]
|
|
||||||
paste.filter_factory = nova.api.openstack.compute.limits:RateLimitingMiddleware.factory
|
|
||||||
|
|
||||||
[app:osapi_compute_app_v2]
|
|
||||||
paste.app_factory = nova.api.openstack.compute:APIRouter.factory
|
|
||||||
|
|
||||||
[pipeline:oscomputeversions]
|
|
||||||
pipeline = faultwrap oscomputeversionapp
|
|
||||||
|
|
||||||
[app:osapi_volume_app_v1]
|
|
||||||
paste.app_factory = nova.api.openstack.volume:APIRouter.factory
|
|
||||||
|
|
||||||
[app:oscomputeversionapp]
|
|
||||||
paste.app_factory = nova.api.openstack.compute.versions:Versions.factory
|
|
||||||
|
|
||||||
[pipeline:osvolumeversions]
|
|
||||||
pipeline = faultwrap osvolumeversionapp
|
|
||||||
|
|
||||||
[app:osvolumeversionapp]
|
|
||||||
paste.app_factory = nova.api.openstack.volume.versions:Versions.factory
|
|
||||||
|
|
||||||
##########
|
|
||||||
# Shared #
|
|
||||||
##########
|
|
||||||
|
|
||||||
[filter:keystonecontext]
|
|
||||||
paste.filter_factory = nova.api.auth:NovaKeystoneContext.factory
|
|
||||||
|
|
||||||
[filter:authtoken]
|
|
||||||
paste.filter_factory = keystone.middleware.auth_token:filter_factory
|
|
||||||
auth_host = <%= auth_host %>
|
|
||||||
auth_port = <%= auth_port %>
|
|
||||||
auth_protocol = <%= auth_protocol %>
|
|
||||||
auth_uri = <%= auth_uri %>
|
|
||||||
admin_tenant_name = <%= admin_tenant_name %>
|
|
||||||
admin_user = <%= admin_user %>
|
|
||||||
admin_password = <%= admin_password %>
|
|
||||||
Reference in New Issue
Block a user