Add support for Static Large Objects
Adds the necessary filter to the swift-proxy config to support Static Large Objects (SLO). A new config value 'static-large-object-segments' toggles SLO support and allows the user to control the maximum object size when set to a value >0. Change-Id: I42a88292775badb9fd70e5b99558d084ddcdc29f Closes-Bug: 1753811
This commit is contained in:
parent
dac707c96b
commit
3b2efe479f
17
config.yaml
17
config.yaml
@ -354,3 +354,20 @@ options:
|
|||||||
Sample rate determines what percentage of the metric points a
|
Sample rate determines what percentage of the metric points a
|
||||||
client should send to the server.
|
client should send to the server.
|
||||||
Only takes effect if statsd-host is set.
|
Only takes effect if statsd-host is set.
|
||||||
|
static-large-object-segments:
|
||||||
|
default: 0
|
||||||
|
type: int
|
||||||
|
description: |
|
||||||
|
Enable Static Large Objects (SLO) support. This allows the user to
|
||||||
|
upload several object segments concurrently, after which a manifest
|
||||||
|
is uploaded that describes how to concatenate them, enabling a
|
||||||
|
single large object to be downloaded.
|
||||||
|
.
|
||||||
|
This option sets the maximum number of object segments allowed per
|
||||||
|
large object, allowing control over the maximum large object size.
|
||||||
|
The default minimum segment size is 1MB, while the maximum segment
|
||||||
|
size corresponds to the largest object swift is configured
|
||||||
|
to support (5GB by default).
|
||||||
|
.
|
||||||
|
Ex. Setting this to 1000 would allow up to 1000 5GB object segments
|
||||||
|
to be uploaded for a maximum large object size of 5TB.
|
||||||
|
@ -111,7 +111,9 @@ class SwiftIdentityContext(OSContextGenerator):
|
|||||||
'log_headers': config('log-headers'),
|
'log_headers': config('log-headers'),
|
||||||
'statsd_host': config('statsd-host'),
|
'statsd_host': config('statsd-host'),
|
||||||
'statsd_port': config('statsd-port'),
|
'statsd_port': config('statsd-port'),
|
||||||
'statsd_sample_rate': config('statsd-sample-rate')
|
'statsd_sample_rate': config('statsd-sample-rate'),
|
||||||
|
'static_large_object_segments': config(
|
||||||
|
'static-large-object-segments')
|
||||||
}
|
}
|
||||||
|
|
||||||
admin_key = leader_get('swauth-admin-key')
|
admin_key = leader_get('swauth-admin-key')
|
||||||
|
@ -118,3 +118,10 @@ set log_name = swauth
|
|||||||
super_admin_key = {{ swauth_admin_key }}
|
super_admin_key = {{ swauth_admin_key }}
|
||||||
default_swift_cluster = local#https://{{ proxy_ip }}:8080/v1
|
default_swift_cluster = local#https://{{ proxy_ip }}:8080/v1
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if static_large_object_segments > 0 %}
|
||||||
|
[filter:slo]
|
||||||
|
use = egg:swift#slo
|
||||||
|
max_manifest_size = 536870912
|
||||||
|
max_manifest_segments = {{ static_large_object_segments }}
|
||||||
|
{% endif %}
|
||||||
|
@ -126,3 +126,10 @@ set log_name = swauth
|
|||||||
super_admin_key = {{ swauth_admin_key }}
|
super_admin_key = {{ swauth_admin_key }}
|
||||||
default_swift_cluster = local#https://{{ proxy_ip }}:8080/v1
|
default_swift_cluster = local#https://{{ proxy_ip }}:8080/v1
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
{% if static_large_object_segments > 0 %}
|
||||||
|
[filter:slo]
|
||||||
|
use = egg:swift#slo
|
||||||
|
max_manifest_size = 536870912
|
||||||
|
max_manifest_segments = {{ static_large_object_segments }}
|
||||||
|
{% endif %}
|
||||||
|
@ -145,3 +145,10 @@ driver = messagingv2
|
|||||||
topic = notifications
|
topic = notifications
|
||||||
log_level = WARN
|
log_level = WARN
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
|
|
||||||
|
{% if static_large_object_segments > 0 %}
|
||||||
|
[filter:slo]
|
||||||
|
use = egg:swift#slo
|
||||||
|
max_manifest_size = 536870912
|
||||||
|
max_manifest_segments = {{ static_large_object_segments }}
|
||||||
|
{% endif %}
|
||||||
|
Loading…
Reference in New Issue
Block a user