b7ea6c7150
SwiftService uploads large objects using a thread pool. (The pool defaults to 5 and we're not currently configuring it larger or smaller) Instead of using that, spin up upload threads on our own so that we can get rid of the swiftclient depend. A few notes: - We're using the new async feature of the Adapter wrapper, which rate limits at the _start_ of a REST call. This is sane as far as we can tell, but also might not be what someone is expecting. - We'll skip the thread pool uploader for objects that are smaller than the default max segment size. - In splitting the file into segments, we'd like to avoid reading all of the segments into RAM when we don't need to - so there is a file-like wrapper class which can be passed to requests. This implements a read-view of a portion of the file. In a pathological case, this could be slower due to disk seeking on the read side. However, let's go back and deal with buffering when we have a problem - I imagine that the REST upload will be the bottleneck long before the overhead of interleaved disk seeks will be. Change-Id: Id9258980d2e0782e4e3c0ac26c7f11dc4db80354 |
||
---|---|---|
.. | ||
add_description_create_user-0ddc9a0ef4da840d.yaml | ||
add_designate_recordsets_support-69af0a6b317073e7.yaml | ||
add_designate_zones_support-35fa9b8b09995b43.yaml | ||
add_host_aggregate_support-471623faf45ec3c3.yaml | ||
add_magnum_baymodel_support-e35e5aab0b14ff75.yaml | ||
add_magnum_services_support-3d95f9dcc60b5573.yaml | ||
add_server_group_support-dfa472e3dae7d34d.yaml | ||
add_update_server-8761059d6de7e68b.yaml | ||
add_update_service-28e590a7a7524053.yaml | ||
add-jmespath-support-f47b7a503dbbfda1.yaml | ||
add-list_flavor_access-e038253e953e6586.yaml | ||
add-server-console-078ed2696e5b04d9.yaml | ||
cache-in-use-volumes-c7fa8bb378106fe3.yaml | ||
cinder_volume_backups_support-6f7ceab440853833.yaml | ||
cinderv2-norm-fix-037189c60b43089f.yaml | ||
compute-quotas-b07a0f24dfac8444.yaml | ||
create_server_network_fix-c4a56b31d2850a4b.yaml | ||
create_service_norm-319a97433d68fa6a.yaml | ||
create-stack-fix-12dbb59a48ac7442.yaml | ||
data-model-cf50d86982646370.yaml | ||
delete_project-399f9b3107014dde.yaml | ||
delete-image-objects-9d4b4e0fff36a23f.yaml | ||
delete-obj-return-a3ecf0415b7a2989.yaml | ||
domain_operations_name_or_id-baba4cac5b67234d.yaml | ||
dual-stack-networks-8a81941c97d28deb.yaml | ||
false-not-attribute-error-49484d0fdc61f75d.yaml | ||
feature-server-metadata-50caf18cec532160.yaml | ||
fip_timeout-035c4bb3ff92fa1f.yaml | ||
fix-list-networks-a592725df64c306e.yaml | ||
fix-update-domain-af47b066ac52eb7f.yaml | ||
fixed-magnum-type-7406f0a60525f858.yaml | ||
flavor_fix-a53c6b326dc34a2c.yaml | ||
get_object_api-968483adb016bce1.yaml | ||
get-limits-c383c512f8e01873.yaml | ||
get-usage-72d249ff790d1b8f.yaml | ||
glance-image-pagination-0b4dfef22b25852b.yaml | ||
grant-revoke-assignments-231d3f9596a1ae75.yaml | ||
image-flavor-by-name-54865b00ebbf1004.yaml | ||
infer-secgroup-source-58d840aaf1a1f485.yaml | ||
less-file-hashing-d2497337da5acbef.yaml | ||
list-role-assignments-keystone-v2-b127b12b4860f50c.yaml | ||
log-request-ids-37507cb6eed9a7da.yaml | ||
make_object_metadata_easier.yaml-e9751723e002e06f.yaml | ||
meta-passthrough-d695bff4f9366b65.yaml | ||
net_provider-dd64b697476b7094.yaml | ||
network-quotas-b98cce9ffeffdbf4.yaml | ||
new-floating-attributes-213cdf5681d337e1.yaml | ||
norm_role_assignments-a13f41768e62d40c.yaml | ||
normalize-images-1331bea7bfffa36a.yaml | ||
removed-glanceclient-105c7fba9481b9be.yaml | ||
removed-swiftclient-aff22bfaeee5f59f.yaml | ||
router_ext_gw-b86582317bca8b39.yaml | ||
service_enabled_flag-c917b305d3f2e8fd.yaml | ||
stack-update-5886e91fd6e423bf.yaml | ||
started-using-reno-242e2b0cd27f9480.yaml | ||
strict-mode-d493abc0c3e87945.yaml | ||
swift-upload-lock-d18f3d42b3a0719a.yaml | ||
update_endpoint-f87c1f42d0c0d1ef.yaml | ||
use-interface-ip-c5cb3e7c91150096.yaml | ||
volume-quotas-5b674ee8c1f71eb6.yaml | ||
volume-types-a07a14ae668e7dd2.yaml | ||
wait_for_server-8dc8446b7c673d36.yaml | ||
wait-on-image-snapshot-27cd2eacab2fabd8.yaml |