Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
Support for external swift proxy
Browse files Browse the repository at this point in the history
Users may have an external swift proxy already available (i.e. radosgw
from already existing ceph, or hardware appliance implementing swift
proxy). With this change user may specify an environment file that
registers the specified urls as endpoint for the object-store service.
The internal swift proxy is left as unconfigured.

Change-Id: I5e6f0a50f26d4296565f0433f720bfb40c5d2109
Depends-On: Ia568c3a5723d8bd8c2c37dbba094fc8a83b9d67e
  • Loading branch information
remixtj committed Apr 18, 2017
1 parent 65f1516 commit 0d8f11f
Show file tree
Hide file tree
Showing 5 changed files with 89 additions and 0 deletions.
12 changes: 12 additions & 0 deletions environments/swift-external.yaml
@@ -0,0 +1,12 @@
resource_registry:
OS::TripleO::Services::ExternalSwiftProxy: ../puppet/services/external-swift-proxy.yaml
OS::TripleO::Services::SwiftProxy: OS::Heat::None
OS::TripleO::Services::SwiftStorage: OS::Heat::None
OS::TripleO::Services::SwiftRingBuilder: OS::Heat::None

parameter_defaults:
ExternalPublicUrl: 'http://swiftproxy:9024/v1/%(tenant_id)s'
ExternalInternalUrl: 'http://swiftproxy:9024/v1/%(tenant_id)s'
ExternalAdminUrl: 'http://swiftproxy:9024/v1/%(tenant_id)s'
ExternalSwiftUserTenant: 'service'

1 change: 1 addition & 0 deletions overcloud-resource-registry-puppet.j2.yaml
Expand Up @@ -189,6 +189,7 @@ resource_registry:
OS::TripleO::Services::NovaLibvirt: puppet/services/nova-libvirt.yaml
OS::TripleO::Services::Ntp: puppet/services/time/ntp.yaml
OS::TripleO::Services::SwiftProxy: puppet/services/swift-proxy.yaml
OS::TripleO::Services::ExternalSwiftProxy: OS::Heat::None
OS::TripleO::Services::SwiftStorage: puppet/services/swift-storage.yaml
OS::TripleO::Services::SwiftRingBuilder: puppet/services/swift-ringbuilder.yaml
OS::TripleO::Services::Snmp: puppet/services/snmp.yaml
Expand Down
70 changes: 70 additions & 0 deletions puppet/services/external-swift-proxy.yaml
@@ -0,0 +1,70 @@
heat_template_version: ocata

description: >
External Swift Proxy endpoint configured with Puppet
parameters:
ExternalPublicUrl:
description: Public endpoint url for the external swift proxy
type: string
ExternalInternalUrl:
description: Internal endpoint url for the external swift proxy
type: string
ExternalAdminUrl:
description: External endpoint url for the external swift proxy
type: string
ExternalSwiftUserTenant:
description: Tenant where swift user will be set as admin
type: string
default: 'service'
SwiftPassword:
description: The password for the swift service account, used by the swift proxy services.
type: string
hidden: true
KeystoneRegion:
type: string
default: 'regionOne'
description: Keystone region for endpoint
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json

resources:

outputs:
role_data:
description: Role data for External Swift proxy.
value:
service_name: external_swift_proxy
config_settings:

step_config:

service_config_settings:
keystone:
swift::keystone::auth::public_url: {get_param: ExternalPublicUrl}
swift::keystone::auth::internal_url: {get_param: ExternalInternalUrl}
swift::keystone::auth::admin_url: {get_param: ExternalAdminUrl}
swift::keystone::auth::public_url_s3: ''
swift::keystone::auth::internal_url_s3: ''
swift::keystone::auth::admin_url_s3: ''
swift::keystone::auth::password: {get_param: SwiftPassword}
swift::keystone::auth::region: {get_param: KeystoneRegion}
swift::keystone::auth::tenant: {get_param: ExternalSwiftUserTenant}
swift::keystone::auth::configure_s3_endpoint: false
swift::keystone::auth::operator_roles:
- admin
- swiftoperator
- ResellerAdmin

@@ -0,0 +1,5 @@
---
features:
- Added support for external swift proxy. Users may need to
configure endpoints pointing to swift proxy service
already available.
1 change: 1 addition & 0 deletions roles_data.yaml
Expand Up @@ -91,6 +91,7 @@
- OS::TripleO::Services::Ec2Api
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::SwiftProxy
- OS::TripleO::Services::ExternalSwiftProxy
- OS::TripleO::Services::SwiftStorage
- OS::TripleO::Services::SwiftRingBuilder
- OS::TripleO::Services::Snmp
Expand Down

0 comments on commit 0d8f11f

Please sign in to comment.