[WIP] swift-proxy service
Change-Id: Ic50bc775cc03b419252ed977d7a6c5e26452cfdf
This commit is contained in:
parent
d835f916c5
commit
4b903be94b
8
docker/swift-proxy/Dockerfile.j2
Normal file
8
docker/swift-proxy/Dockerfile.j2
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
FROM {{ image_spec("openstack-base") }}
|
||||||
|
MAINTAINER {{ maintainer }}
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install -y -t jessie-backports --no-install-recommends swift-proxy \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
|
USER swift
|
1
docker/swift-proxy/sources.list.debian.j2
Normal file
1
docker/swift-proxy/sources.list.debian.j2
Normal file
@ -0,0 +1 @@
|
|||||||
|
deb {{ url.ceph.debian.repo }} jessie main
|
@ -7,6 +7,9 @@ configs:
|
|||||||
cont: 7480
|
cont: 7480
|
||||||
ingress: object-store
|
ingress: object-store
|
||||||
key: "Changeme"
|
key: "Changeme"
|
||||||
|
swift-proxy:
|
||||||
|
port:
|
||||||
|
cont: 8080
|
||||||
url:
|
url:
|
||||||
ceph:
|
ceph:
|
||||||
debian:
|
debian:
|
||||||
|
96
service/files/swift-proxy.conf.j2
Normal file
96
service/files/swift-proxy.conf.j2
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
swift_dir = /var/swift
|
||||||
|
bind_ip = {{ network_topology["private"]["address"] }}
|
||||||
|
bind_port = {{ swift-proxy.port.cont }}
|
||||||
|
use_syslog = false
|
||||||
|
use_stderr = true
|
||||||
|
|
||||||
|
workers = 2
|
||||||
|
user = swift
|
||||||
|
|
||||||
|
[pipeline:main]
|
||||||
|
pipeline = catch_errors crossdomain healthcheck cache bulk tempurl ratelimit formpost swift3 s3token authtoken keystone staticweb container_quotas account_quotas slo ceilometer proxy-server
|
||||||
|
|
||||||
|
[app:proxy-server]
|
||||||
|
use = egg:swift#proxy
|
||||||
|
log_handoffs = true
|
||||||
|
allow_account_management = true
|
||||||
|
account_autocreate = true
|
||||||
|
|
||||||
|
[filter:bulk]
|
||||||
|
use = egg:swift#bulk
|
||||||
|
max_containers_per_extraction = 10000
|
||||||
|
max_failed_extractions = 1000
|
||||||
|
max_deletes_per_request = 10000
|
||||||
|
yield_frequency = 60
|
||||||
|
|
||||||
|
[filter:authtoken]
|
||||||
|
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
|
||||||
|
|
||||||
|
{{ keystone_authtoken.keystone_authtoken(swift.user, swift.password) }}
|
||||||
|
|
||||||
|
[filter:cache]
|
||||||
|
use = egg:swift#memcache
|
||||||
|
memcache_servers = {{ address('memcached', memcached.port) }}
|
||||||
|
|
||||||
|
[filter:catch_errors]
|
||||||
|
use = egg:swift#catch_errors
|
||||||
|
|
||||||
|
[filter:healthcheck]
|
||||||
|
use = egg:swift#healthcheck
|
||||||
|
|
||||||
|
[filter:ratelimit]
|
||||||
|
use = egg:swift#ratelimit
|
||||||
|
clock_accuracy = 1000
|
||||||
|
max_sleep_time_seconds = 60
|
||||||
|
log_sleep_time_seconds = 0
|
||||||
|
rate_buffer_seconds = 5
|
||||||
|
account_ratelimit = 0
|
||||||
|
|
||||||
|
[filter:swift3]
|
||||||
|
use = egg:swift3#swift3
|
||||||
|
|
||||||
|
[filter:s3token]
|
||||||
|
paste.filter_factory = keystonemiddleware.s3_token:filter_factory
|
||||||
|
#auth_port = 35357
|
||||||
|
#auth_protocol = http
|
||||||
|
#auth_host =
|
||||||
|
|
||||||
|
{{ keystone_authtoken.keystone_authtoken(swift.user, swift.password) }}
|
||||||
|
|
||||||
|
[filter:tempurl]
|
||||||
|
use = egg:swift#tempurl
|
||||||
|
|
||||||
|
[filter:formpost]
|
||||||
|
use = egg:swift#formpost
|
||||||
|
|
||||||
|
[filter:staticweb]
|
||||||
|
use = egg:swift#staticweb
|
||||||
|
|
||||||
|
[filter:ceilometer]
|
||||||
|
use = egg:ceilometer#swift
|
||||||
|
|
||||||
|
[filter:crossdomain]
|
||||||
|
use = egg:swift#crossdomain
|
||||||
|
cross_domain_policy = <allow-access-from domain="*" secure="false" />
|
||||||
|
|
||||||
|
[filter:slo]
|
||||||
|
use = egg:swift#slo
|
||||||
|
max_manifest_segments = 1000
|
||||||
|
max_manifest_size = 2097152
|
||||||
|
min_segment_size = 1048576
|
||||||
|
rate_limit_after_segment = 10
|
||||||
|
rate_limit_segments_per_sec = 0
|
||||||
|
max_get_time = 86400
|
||||||
|
|
||||||
|
[filter:keystone]
|
||||||
|
use = egg:swift#keystoneauth
|
||||||
|
operator_roles = admin, SwiftOperator, _member_
|
||||||
|
is_admin = true
|
||||||
|
reseller_prefix = AUTH_
|
||||||
|
|
||||||
|
[filter:account_quotas]
|
||||||
|
use = egg:swift#account_quotas
|
||||||
|
|
||||||
|
[filter:container_quotas]
|
||||||
|
use = egg:swift#container_quotas
|
45
service/swift-proxy.yaml
Normal file
45
service/swift-proxy.yaml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
dsl_version: 0.7.0
|
||||||
|
service:
|
||||||
|
name: swift-proxy
|
||||||
|
ports:
|
||||||
|
- {{ swift-proxy.port }}
|
||||||
|
containers:
|
||||||
|
- name: swift-proxy
|
||||||
|
image: swift-proxy
|
||||||
|
volumes:
|
||||||
|
- name: swift-rings
|
||||||
|
path: "/var/swift"
|
||||||
|
type: host
|
||||||
|
readOnly: false
|
||||||
|
pre:
|
||||||
|
- name: swift-proxy-create-swift-service
|
||||||
|
type: single
|
||||||
|
command: openstack service create --name swift --description "Swift Service" object-store
|
||||||
|
dependencies:
|
||||||
|
- keystone
|
||||||
|
- name: swift-proxy-create-swift-public-endpoint
|
||||||
|
type: single
|
||||||
|
command: openstack endpoint create --region RegionOne swift public
|
||||||
|
"{{ address('swift-proxy', swift-proxy.port, external=True, with_scheme=True) }}/v1/AUTH_%(tenant_id)s"
|
||||||
|
dependencies:
|
||||||
|
- swift-proxy-create-swift-service
|
||||||
|
- name: swift-proxy-create-swift-admin-endpoint
|
||||||
|
type: single
|
||||||
|
command: openstack endpoint create --region RegionOne swift admin
|
||||||
|
"{{ address('swift-proxy', swift-proxy.port, with_scheme=True) }}/v1/AUTH_%(tenant_id)s"
|
||||||
|
dependencies:
|
||||||
|
- swift-proxy-create-swift-service
|
||||||
|
- name: swift-proxy-create-swift-internal-endpoint
|
||||||
|
type: single
|
||||||
|
command: openstack endpoint create --region RegionOne swift internal
|
||||||
|
"{{ address('swift-proxy', swift-proxy.port, with_scheme=True) }}/v1/AUTH_%(tenant_id)s"
|
||||||
|
dependencies:
|
||||||
|
- swift-proxy-create-swift-service
|
||||||
|
daemon:
|
||||||
|
command: swift-proxy-server /etc/swift/proxy-server.conf --verbose
|
||||||
|
files:
|
||||||
|
- swift-proxy-conf
|
||||||
|
files:
|
||||||
|
swift-proxy-conf:
|
||||||
|
path: /etc/swift/proxy-server.conf
|
||||||
|
content: swift-proxy.conf.j2
|
Loading…
Reference in New Issue
Block a user