Skip to content

Instantly share code, notes, and snippets.

Useful Links
------------
http://docs.openstack.org/developer/swift/middleware.html
https://github.com/openstack/swift/blob/master/doc/saio/swift/proxy-server.conf
http://docs.openstack.org/developer/swift/associated_projects.html
Feature List
------------
ACLs (N/A; built-in)
The encryption overview document (doc/source/overview_encryption.rst) is very well written. Please see it for the complete story.
Here’s the TL;DR version
(1) Install new dependencies for crypto (see updates made in requirements.txt)
(2) Add new middleware entries to pipeline in proxy-server.conf:
<other existing middleware> keymaster encryption proxy-logging proxy-server
(3) Paste the following code in your proxy-server.conf:
[filter:decrypter]
use = egg:swift#decrypter
[filter:keymaster]
use = egg:swift#keymaster
encryption_root_secret = your_secret
[filter:encrypter]
use = egg:swift#encrypter
# disable_encryption = False
@pauldardeau
pauldardeau / gist:34307a1e8f5ffa05d273d382ef20c99c
Last active June 8, 2016 19:23
openstack swift: why go/hummingbird
**disclosure** i don't have first-hand experience with the details on this topic. the info shared here is just an attempt
to bring together some existing sources on the topic that may be helpful.
Recent OpenStack mailing list posts
===================================
http://lists.openstack.org/pipermail/openstack-dev/2016-May/094549.html
http://lists.openstack.org/pipermail/openstack-dev/2016-May/094720.html
http://lists.openstack.org/pipermail/openstack-dev/2016-June/096813.html
Historical References
@pauldardeau
pauldardeau / python-swiftclient add --decode-content option testing
Created June 7, 2016 15:50
Test new --decode-content option in python-swiftclient. Test with 3 file types (gzip, txt, binary) and using various combinations of --decode-content and content-type
#!/bin/sh
SC="${HOME}/python-swiftclient/bin/swift"
CT="content-type"
DIR_UPLOAD="upload"
# download directories WITHOUT --decode-content
DIR_DL_NO_CT="dl-no-ct"
DIR_DL_CT="dl-ct"
DIR_DL_WRONG_CT="dl-wrong-ct"
# download directories WITH --decode-content
DIR_DL_DC_NO_CT="dl-dc-no-ct"
import sys
source_code = \
"""
def print_message(s):
print(s)
def add_numbers(x,y):
return x + y
@pauldardeau
pauldardeau / gist:ac8be66f33617c6683f70d987a501f82
Created March 31, 2016 23:16
Swift XFS Workload/Performance Characteristics
Description - Swift on XFS performance problems documented and reproducible
Target - enterprise
Rationale - pain already noted in community (Mark Seger of HPE)
Similarities - N/A
Work needed - huge amount of systematic/detailed testing and experimentation
Technical effort - large
Community adoption - medium (XFS tuning advice is easy, structural changes to directory layout is very hard)
Payoff - medium (shows leadership, helps enterprise adoption)
Time horizon - 1 release cycle (possibly more)
Description - proivde shell scripts to automate SAIO is documentation based, time-consuming
Target - enterprise
Rationale - SAIO is often broken (documentation based) and is time-consuming for new adopters
Similarities - Vagrant SAIO, Ansible SAIO
Work needed - create shell scripts, put in public location, document, adopt for usage
Technical effort - tiny
Community adoption - easy (value-added wraparound)
Payoff - medium (remove barrier, enterprise adoption)
Time horizon - 1 release cycle
@pauldardeau
pauldardeau / gist:67da1f518ce31edf4e36e30bd370f813
Created March 31, 2016 23:11
Swift menu-based admin utility
Description - provide menu-driven interactive utility for simple cluster admin
Target - enterprise
Rationale - no easy way to admin swift with open-source project
Similarities - AIX SMIT/SMITTY
Work needed - command-line utilities for each function and hook up to menu-driven utility
Technical effort - small
Community adoption - easy (value-added wraparound)
Payoff - large (remove barrier, enterprise adoption, ease-of-use)
Time horizon - 1 release cycle
Description - allow dynamic probes to be used for cluster monitoring and troubleshooting
Target - enterprise
Rationale - support problem diagnosis in non-trivial clusters (Mark Seger at HPE)
Similarities - Java JMX, Solaris DTrace
Work needed - core changes, config changes, new tests
Technical effort - large
Community adoption - idea needs to be sold
Payoff - large (enterprise adoption)
Time horizon - multiple release cycles