debian/0000775000000000000000000000000012323713153007170 5ustar debian/swift-container.swift-container-sync.upstart0000664000000000000000000000054012323713153020014 0ustar description "SWIFT Container Sync" author "James Page " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/container-server.conf" ]; then exec /usr/bin/swift-init container-sync start else exit 1 fi end script post-stop exec /usr/bin/swift-init container-sync stop debian/swift-container.swift-container-updater0000664000000000000000000000255712323713153017015 0ustar #! /bin/sh ### BEGIN INIT INFO # Provides: swift-container-updater # Required-Start: $remote_fs # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Swift container updater server # Description: Container updater server for swift. ### END INIT INFO set -e SERVICE_NAME="swift-container-updater" DAEMON="/usr/bin/${SERVICE_NAME}" DAEMON_ARGS="/etc/swift/container-server.conf" PRINT_NAME="Swift countainer updater" SWIFT_USER=swift SWIFT_GRP=swift PID_FILE=/var/run/swift/${SERVICE_NAME}.pid PID_DIR=`dirname $PID_FILE` if ! [ -x "${DAEMON}" ] ; then exit 0 fi if ! [ -r "${DAEMON_ARGS}" ] ; then echo "No configuration file found in ${DAEMON_ARGS}: exiting" exit 0 fi mkdir -p ${PID_DIR} chown ${SWIFT_USER} ${PID_DIR} . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --start --chuid ${SWIFT_USER}:${SWIFT_GRP} -b -m --pidfile $PID_FILE --exec ${DAEMON} -- ${DAEMON_ARGS} log_end_msg $? ;; stop) log_daemon_msg "Stopping ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --stop --oknodo --pidfile ${PID_FILE} log_end_msg $? ;; restart|force-reload|reload) $0 stop sleep 1 $0 start ;; status) status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ;; *) echo "Usage: $0 {start|stop|restart|reload}" exit 1 ;; esac exit 0 debian/python-swift.postinst0000664000000000000000000000056312323713153013454 0ustar #!/bin/sh -e #DEBHELPER# if ! getent passwd swift > /dev/null ; then adduser --system --quiet --disabled-login --disabled-password --no-create-home --group --shell /bin/false swift fi usermod -G adm swift if [ -d /var/cache/swift ] ; then # Allow swift user to write to cache directory chown root:swift /var/cache/swift chmod 0775 /var/cache/swift fi exit 0 debian/rules0000775000000000000000000000345112323713153010253 0ustar #!/usr/bin/make -f # Verbose mode #export DH_VERBOSE=1 %: dh $@ --with python2 # clean sphinx build output override_dh_clean: dh_clean rm -rf doc/build # build with sphinx documentation override_dh_auto_build: mkdir -p doc/build python setup.py build_sphinx python setup.py build ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS))) override_dh_auto_test: PYTHONPATH=. nosetests test/unit endif get-orig-source: uscan --verbose --force-download --rename --destdir=../build-area override_dh_install: dh_install --fail-missing --sourcedir=debian/tmp install -D -m 0640 $(CURDIR)/debian/account-server.conf $(CURDIR)/debian/swift-account/etc/swift/account-server.conf install -D -m 0640 $(CURDIR)/debian/container-server.conf $(CURDIR)/debian/swift-container/etc/swift/container-server.conf install -D -m 0640 $(CURDIR)/debian/object-server.conf $(CURDIR)/debian/swift-object/etc/swift/object-server.conf install -D -m 0640 $(CURDIR)/debian/object-expirer.conf $(CURDIR)/debian/swift-object-expirer/etc/swift/object-expirer.conf override_dh_installinit: dh_installinit --no-start dh_installinit --no-start -pswift-container --name=swift-container-replicator dh_installinit --no-start -pswift-container --name=swift-container-auditor dh_installinit --no-start -pswift-container --name=swift-container-updater dh_installinit --no-start -pswift-container --name=swift-container-sync dh_installinit --no-start -pswift-account --name=swift-account-replicator dh_installinit --no-start -pswift-account --name=swift-account-auditor dh_installinit --no-start -pswift-account --name=swift-account-reaper dh_installinit --no-start -pswift-object --name=swift-object-replicator dh_installinit --no-start -pswift-object --name=swift-object-auditor dh_installinit --no-start -pswift-object --name=swift-object-updater debian/source/0000775000000000000000000000000012323713153010470 5ustar debian/source/format0000664000000000000000000000001412323713153011676 0ustar 3.0 (quilt) debian/source/include-binaries0000664000000000000000000000004612323713153013630 0ustar doc/source/howto_cyberduck_config.png debian/object-server.conf0000664000000000000000000000026712323713153012616 0ustar [DEFAULT] bind_ip = 0.0.0.0 workers = 2 [pipeline:main] pipeline = object-server [app:object-server] use = egg:swift#object [object-replicator] [object-updater] [object-auditor] debian/swift-account.docs0000664000000000000000000000003712323713153012630 0ustar etc/account-server.conf-sample debian/swift-container.swift-container-auditor0000664000000000000000000000257312323713153017016 0ustar #! /bin/sh ### BEGIN INIT INFO # Provides: swift-container-auditor # Required-Start: $remote_fs # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Swift container auditor server # Description: Container auditor server for swift. ### END INIT INFO set -e SERVICE_NAME="swift-container-auditor" DAEMON="/usr/bin/${SERVICE_NAME}" DAEMON_ARGS="/etc/swift/container-server.conf" PRINT_NAME="Swift countainer auditor" SWIFT_USER=swift SWIFT_GRP=swift PID_FILE=/var/run/swift/${SERVICE_NAME}.pid PID_DIR=`dirname $PID_FILE` if ! [ -x "${DAEMON}" ] ; then exit 0 fi if ! [ -r "${DAEMON_ARGS}" ] ; then echo "No configuration file found in ${DAEMON_ARGS}: exiting" exit 0 fi mkdir -p ${PID_DIR} chown ${SWIFT_USER} ${PID_DIR} . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --start --chuid ${SWIFT_USER}:${SWIFT_GRP} -b -m --pidfile $PID_FILE --exec ${DAEMON} -- ${DAEMON_ARGS} log_end_msg $? ;; stop) log_daemon_msg "Stopping ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --stop --oknodo --pidfile ${PID_FILE} log_end_msg $? ;; restart|force-reload|reload) $0 stop sleep 1 $0 start ;; status) status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ;; *) echo "Usage: $0 {start|stop|restart|reload|force-reload}" exit 1 ;; esac exit 0 debian/account-server.conf0000664000000000000000000000027412323713153013002 0ustar [DEFAULT] bind_ip = 0.0.0.0 workers = 2 [pipeline:main] pipeline = account-server [app:account-server] use = egg:swift#account [account-replicator] [account-auditor] [account-reaper] debian/swift-object.swift-object-auditor.upstart0000664000000000000000000000065312323713153017264 0ustar # swift-object-auditor - SWIFT Object Auditor # # The swift object auditor. description "SWIFT Object Auditor" author "Marc Cluet " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/object-server.conf" ]; then exec /usr/bin/swift-init object-auditor start else exit 1 fi end script post-stop exec /usr/bin/swift-init object-auditor stop debian/swift-container.upstart0000664000000000000000000000067212323713153013735 0ustar # swift-container-server - SWIFT Container Server # # The swift container server. description "SWIFT Container Server" author "Marc Cluet " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/container-server.conf" ]; then exec /usr/bin/swift-init container-server start else exit 1 fi end script post-stop exec /usr/bin/swift-init container-server stop debian/swift-container.install0000664000000000000000000000027412323713153013677 0ustar usr/bin/swift-container-auditor usr/bin/swift-container-info usr/bin/swift-container-replicator usr/bin/swift-container-server usr/bin/swift-container-sync usr/bin/swift-container-updater debian/swift-container.swift-container-auditor.upstart0000664000000000000000000000070012323713153020505 0ustar # swift-container-auditor - SWIFT Container Auditor # # The swift container auditor. description "SWIFT Container Auditor" author "Marc Cluet " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/container-server.conf" ]; then exec /usr/bin/swift-init container-auditor start else exit 1 fi end script post-stop exec /usr/bin/swift-init container-auditor stop debian/swift-account.swift-account-reaper0000664000000000000000000000254312323713153015746 0ustar #! /bin/sh ### BEGIN INIT INFO # Provides: swift-account-reaper # Required-Start: $remote_fs # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Swift account reaper server # Description: Account reaper for swift. ### END INIT INFO set -e SERVICE_NAME="swift-account-reaper" DAEMON="/usr/bin/${SERVICE_NAME}" DAEMON_ARGS="/etc/swift/account-server.conf" PRINT_NAME="Swift account reaper" SWIFT_USER=swift SWIFT_GRP=swift PID_FILE=/var/run/swift/${SERVICE_NAME}.pid PID_DIR=`dirname $PID_FILE` if ! [ -x "${DAEMON}" ] ; then exit 0 fi if ! [ -r "${DAEMON_ARGS}" ] ; then echo "No configuration file found in ${DAEMON_ARGS}: exiting" exit 0 fi mkdir -p ${PID_DIR} chown ${SWIFT_USER} ${PID_DIR} . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --start --chuid ${SWIFT_USER}:${SWIFT_GRP} -b -m --pidfile $PID_FILE --exec ${DAEMON} -- ${DAEMON_ARGS} log_end_msg $? ;; stop) log_daemon_msg "Stopping ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --stop --oknodo --pidfile ${PID_FILE} log_end_msg $? ;; restart|force-reload|reload) $0 stop sleep 1 $0 start ;; status) status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ;; *) echo "Usage: $0 {start|stop|restart|reload|force-reload}" exit 1 ;; esac exit 0 debian/README.Source0000664000000000000000000000021412323713153011304 0ustar To do a release to the ubuntu archive: 1. dch --release && debcommit --release 2. bzr bd -S 3. dput 4. Once it has been accepted: bzr push debian/swift-account.upstart0000664000000000000000000000065412323713153013407 0ustar # swift-account-server - SWIFT Account Server # # The swift account server. description "SWIFT Account Server" author "Marc Cluet " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/account-server.conf" ]; then exec /usr/bin/swift-init account-server start else exit 1 fi end script post-stop exec /usr/bin/swift-init account-server stop debian/swift-container.docs0000664000000000000000000000004112323713153013151 0ustar etc/container-server.conf-sample debian/swift-account.swift-account-auditor.upstart0000664000000000000000000000066212323713153017640 0ustar # swift-account-auditor - SWIFT Account Auditor # # The swift account auditor. description "SWIFT Account Auditor" author "Marc Cluet " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/account-server.conf" ]; then exec /usr/bin/swift-init account-auditor start else exit 1 fi end script post-stop exec /usr/bin/swift-init account-auditor stop debian/swift-doc.links0000664000000000000000000000030212323713153012124 0ustar # Overwrite jquery.js from upstream tarball with a link to jquery.js # provided by jQuery Debian package /usr/share/javascript/jquery/jquery.js usr/share/doc/swift-doc/html/_static/jquery.js debian/swift-account.swift-account-reaper.upstart0000664000000000000000000000065412323713153017450 0ustar # swift-account-reaper - SWIFT Account Reaper # # The swift account reaper. description "SWIFT Account Reaper" author "Marc Cluet " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/account-server.conf" ]; then exec /usr/bin/swift-init account-reaper start else exit 1 fi end script post-stop exec /usr/bin/swift-init account-reaper stop debian/swift.manpages0000664000000000000000000000035012323713153012037 0ustar doc/manpages/swift-ring-builder.1 doc/manpages/swift-recon.1 doc/manpages/swift-orphans.1 doc/manpages/swift-get-nodes.1 doc/manpages/swift-dispersion-populate.1 doc/manpages/swift-dispersion-report.1 doc/manpages/dispersion.conf.5 debian/swift-object.install0000664000000000000000000000022012323713153013152 0ustar usr/bin/swift-object-auditor usr/bin/swift-object-info usr/bin/swift-object-replicator usr/bin/swift-object-server usr/bin/swift-object-updater debian/swift-proxy.docs0000664000000000000000000000011412323713153012351 0ustar etc/proxy-server.conf-sample etc/mime.types-sample etc/memcache.conf-sample debian/swift-doc.docs0000664000000000000000000000001712323713153011737 0ustar doc/build/html debian/swift-account.install0000664000000000000000000000026012323713153013344 0ustar usr/bin/swift-account-audit usr/bin/swift-account-auditor usr/bin/swift-account-info usr/bin/swift-account-reaper usr/bin/swift-account-replicator usr/bin/swift-account-server debian/python-swift.install0000664000000000000000000000011512323713153013230 0ustar usr/bin/swift-drive-audit usr/bin/swift-init usr/lib/python*/dist-packages/* debian/swift-proxy.manpages0000664000000000000000000000010312323713153013212 0ustar doc/manpages/swift-proxy-server.1 doc/manpages/proxy-server.conf.5 debian/swift-proxy.install0000664000000000000000000000003312323713153013067 0ustar usr/bin/swift-proxy-server debian/tests/0000775000000000000000000000000012323713153010332 5ustar debian/tests/python-swift0000775000000000000000000000043112323713153012731 0ustar #!/bin/bash #------------------------- # Testing client utilities #------------------------- set -e result=$(python `dirname $0`/test_import_swift.py 2>&1) if [ "$result" ]; then echo "ERROR: PYTHON-SWIFT MODULE CANNOT BE IMPORTED" exit 1 else echo "OK" exit 0 fi debian/tests/swift-daemons0000775000000000000000000000242512323713153013043 0ustar #!/bin/bash #-------------------- # Testing swift-proxy #-------------------- set -e # copy config files mkdir -p /etc/swift 2>&1 > /dev/null cp /usr/share/doc/swift/swift.conf-sample /etc/swift/swift.conf 2>&1 > /dev/null cp `dirname $0`/proxy-server.conf /etc/swift/proxy-server.conf 2>&1 > /dev/null # create rings cd /etc/swift 2>&1 > /dev/null swift-ring-builder account.builder create 18 3 1 2>&1 > /dev/null swift-ring-builder container.builder create 18 3 1 2>&1 > /dev/null swift-ring-builder object.builder create 18 3 1 2>&1 > /dev/null swift-ring-builder account.builder add z1-127.0.0.1:6002/sda1 100 2>&1 > /dev/null swift-ring-builder container.builder add z1-127.0.0.1:6001/sda1 100 2>&1 > /dev/null swift-ring-builder object.builder add z1-127.0.0.1:6000/sda1 100 2>&1 > /dev/null swift-ring-builder account.builder rebalance 2>&1 > /dev/null swift-ring-builder container.builder rebalance 2>&1 > /dev/null swift-ring-builder object.builder rebalance 2>&1 > /dev/null DAEMONS=('swift-proxy' 'swift-object' 'swift-container' 'swift-account') for daemon in "${DAEMONS[@]}"; do service $daemon restart 2>&1 > /dev/null if pidof -x ${daemon}-server > /dev/null; then echo "OK" else echo "ERROR: ${daemon} IS NOT RUNNING" exit 1 fi done exit 0 debian/tests/proxy-server.conf0000664000000000000000000003742312323713153013677 0ustar [DEFAULT] # bind_ip = 0.0.0.0 # bind_port = 80 # bind_timeout = 30 # backlog = 4096 # swift_dir = /etc/swift # workers = 1 # user = swift # # Set the following two lines to enable SSL. This is for testing only. # cert_file = /etc/swift/proxy.crt # key_file = /etc/swift/proxy.key # # expiring_objects_container_divisor = 86400 # # You can specify default log routing here if you want: # log_name = swift # log_facility = LOG_LOCAL0 # log_level = INFO # log_headers = False # log_address = /dev/log # # This optional suffix (default is empty) that would be appended to the swift transaction # id allows one to easily figure out from which cluster that X-Trans-Id belongs to. # This is very useful when one is managing more than one swift cluster. # trans_id_suffix = # # comma separated list of functions to call to setup custom log handlers. # functions get passed: conf, name, log_to_console, log_route, fmt, logger, # adapted_logger # log_custom_handlers = # # If set, log_udp_host will override log_address # log_udp_host = # log_udp_port = 514 # # You can enable StatsD logging here: # log_statsd_host = localhost # log_statsd_port = 8125 # log_statsd_default_sample_rate = 1.0 # log_statsd_sample_rate_factor = 1.0 # log_statsd_metric_prefix = # # Use a comma separated list of full url (http://foo.bar:1234,https://foo.bar) # cors_allow_origin = # # client_timeout = 60 # eventlet_debug = false # max_clients = 1024 [pipeline:main] pipeline = catch_errors healthcheck proxy-logging cache slo ratelimit tempauth container-quotas account-quotas proxy-logging proxy-server [app:proxy-server] use = egg:swift#proxy # You can override the default log routing for this app here: # set log_name = proxy-server # set log_facility = LOG_LOCAL0 # set log_level = INFO # set log_address = /dev/log # # log_handoffs = True # recheck_account_existence = 60 # recheck_container_existence = 60 # object_chunk_size = 8192 # client_chunk_size = 8192 # node_timeout = 10 # conn_timeout = 0.5 # # How long without an error before a node's error count is reset. This will # also be how long before a node is reenabled after suppression is triggered. # error_suppression_interval = 60 # # How many errors can accumulate before a node is temporarily ignored. # error_suppression_limit = 10 # # If set to 'true' any authorized user may create and delete accounts; if # 'false' no one, even authorized, can. # allow_account_management = false # # Set object_post_as_copy = false to turn on fast posts where only the metadata # changes are stored anew and the original data file is kept in place. This # makes for quicker posts; but since the container metadata isn't updated in # this mode, features like container sync won't be able to sync posts. # object_post_as_copy = true # # If set to 'true' authorized accounts that do not yet exist within the Swift # cluster will be automatically created. # account_autocreate = false # # If set to a positive value, trying to create a container when the account # already has at least this maximum containers will result in a 403 Forbidden. # Note: This is a soft limit, meaning a user might exceed the cap for # recheck_account_existence before the 403s kick in. # max_containers_per_account = 0 # # This is a comma separated list of account hashes that ignore the # max_containers_per_account cap. # max_containers_whitelist = # # Comma separated list of Host headers to which the proxy will deny requests. # deny_host_headers = # # Prefix used when automatically creating accounts. # auto_create_account_prefix = . # # Depth of the proxy put queue. # put_queue_depth = 10 # # Start rate-limiting object segment serving after the Nth segment of a # segmented object. # rate_limit_after_segment = 10 # # Once segment rate-limiting kicks in for an object, limit segments served # to N per second. # rate_limit_segments_per_sec = 1 # # Storage nodes can be chosen at random (shuffle), by using timing # measurements (timing), or by using an explicit match (affinity). # Using timing measurements may allow for lower overall latency, while # using affinity allows for finer control. In both the timing and # affinity cases, equally-sorting nodes are still randomly chosen to # spread load. # The valid values for sorting_method are "affinity", "shuffle", and "timing". # sorting_method = shuffle # # If the "timing" sorting_method is used, the timings will only be valid for # the number of seconds configured by timing_expiry. # timing_expiry = 300 # # If set to false will treat objects with X-Static-Large-Object header set # as a regular object on GETs, i.e. will return that object's contents. Should # be set to false if slo is not used in pipeline. # allow_static_large_object = true # # Set to the number of nodes to contact for a normal request. You can use # '* replicas' at the end to have it use the number given times the number of # replicas for the ring being used for the request. # request_node_count = 2 * replicas # # Which backend servers to prefer on reads. Format is r for region # N or rz for region N, zone M. The value after the equals is # the priority; lower numbers are higher priority. # # Example: first read from region 1 zone 1, then region 1 zone 2, then # anything in region 2, then everything else: # read_affinity = r1z1=100, r1z2=200, r2=300 # Default is empty, meaning no preference. # read_affinity = [filter:tempauth] use = egg:swift#tempauth # You can override the default log routing for this filter here: # set log_name = tempauth # set log_facility = LOG_LOCAL0 # set log_level = INFO # set log_headers = False # set log_address = /dev/log # # The reseller prefix will verify a token begins with this prefix before even # attempting to validate it. Also, with authorization, only Swift storage # accounts with this prefix will be authorized by this middleware. Useful if # multiple auth systems are in use for one Swift cluster. # reseller_prefix = AUTH # # The auth prefix will cause requests beginning with this prefix to be routed # to the auth subsystem, for granting tokens, etc. # auth_prefix = /auth/ # token_life = 86400 # # This allows middleware higher in the WSGI pipeline to override auth # processing, useful for middleware such as tempurl and formpost. If you know # you're not going to use such middleware and you want a bit of extra security, # you can set this to false. # allow_overrides = true # # This specifies what scheme to return with storage urls: # http, https, or default (chooses based on what the server is running as) # This can be useful with an SSL load balancer in front of a non-SSL server. # storage_url_scheme = default # # Lastly, you need to list all the accounts/users you want here. The format is: # user__ = [group] [group] [...] [storage_url] # or if you want underscores in or , you can base64 encode them # (with no equal signs) and use this format: # user64__ = [group] [group] [...] [storage_url] # There are special groups of: # .reseller_admin = can do anything to any account for this auth # .admin = can do anything within the account # If neither of these groups are specified, the user can only access containers # that have been explicitly allowed for them by a .admin or .reseller_admin. # The trailing optional storage_url allows you to specify an alternate url to # hand back to the user upon authentication. If not specified, this defaults to # $HOST/v1/_ where $HOST will do its best to resolve # to what the requester would need to use to reach this host. # Here are example entries, required for running the tests: user_admin_admin = admin .admin .reseller_admin user_test_tester = testing .admin user_test2_tester2 = testing2 .admin user_test_tester3 = testing3 # To enable Keystone authentication you need to have the auth token # middleware first to be configured. Here is an example below, please # refer to the keystone's documentation for details about the # different settings. # # You'll need to have as well the keystoneauth middleware enabled # and have it in your main pipeline so instead of having tempauth in # there you can change it to: authtoken keystoneauth # # [filter:authtoken] # paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory # auth_host = keystonehost # auth_port = 35357 # auth_protocol = http # auth_uri = http://keystonehost:5000/ # admin_tenant_name = service # admin_user = swift # admin_password = password # delay_auth_decision = 1 # cache = swift.cache # # [filter:keystoneauth] # use = egg:swift#keystoneauth # Operator roles is the role which user would be allowed to manage a # tenant and be able to create container or give ACL to others. # operator_roles = admin, swiftoperator [filter:healthcheck] use = egg:swift#healthcheck # An optional filesystem path, which if present, will cause the healthcheck # URL to return "503 Service Unavailable" with a body of "DISABLED BY FILE". # This facility may be used to temporarily remove a Swift node from a load # balancer pool during maintenance or upgrade (remove the file to allow the # node back into the load balancer pool). # disable_path = [filter:cache] use = egg:swift#memcache # You can override the default log routing for this filter here: # set log_name = cache # set log_facility = LOG_LOCAL0 # set log_level = INFO # set log_headers = False # set log_address = /dev/log # # If not set here, the value for memcache_servers will be read from # memcache.conf (see memcache.conf-sample) or lacking that file, it will # default to the value below. You can specify multiple servers separated with # commas, as in: 10.1.2.3:11211,10.1.2.4:11211 # memcache_servers = 127.0.0.1:11211 # # Sets how memcache values are serialized and deserialized: # 0 = older, insecure pickle serialization # 1 = json serialization but pickles can still be read (still insecure) # 2 = json serialization only (secure and the default) # If not set here, the value for memcache_serialization_support will be read # from /etc/swift/memcache.conf (see memcache.conf-sample). # To avoid an instant full cache flush, existing installations should # upgrade with 0, then set to 1 and reload, then after some time (24 hours) # set to 2 and reload. # In the future, the ability to use pickle serialization will be removed. # memcache_serialization_support = 2 [filter:ratelimit] use = egg:swift#ratelimit # You can override the default log routing for this filter here: # set log_name = ratelimit # set log_facility = LOG_LOCAL0 # set log_level = INFO # set log_headers = False # set log_address = /dev/log # # clock_accuracy should represent how accurate the proxy servers' system clocks # are with each other. 1000 means that all the proxies' clock are accurate to # each other within 1 millisecond. No ratelimit should be higher than the # clock accuracy. # clock_accuracy = 1000 # # max_sleep_time_seconds = 60 # # log_sleep_time_seconds of 0 means disabled # log_sleep_time_seconds = 0 # # allows for slow rates (e.g. running up to 5 sec's behind) to catch up. # rate_buffer_seconds = 5 # # account_ratelimit of 0 means disabled # account_ratelimit = 0 # these are comma separated lists of account names # account_whitelist = a,b # account_blacklist = c,d # with container_limit_x = r # for containers of size x limit requests per second to r. The container # rate will be linearly interpolated from the values given. With the values # below, a container of size 5 will get a rate of 75. # container_ratelimit_0 = 100 # container_ratelimit_10 = 50 # container_ratelimit_50 = 20 [filter:domain_remap] use = egg:swift#domain_remap # You can override the default log routing for this filter here: # set log_name = domain_remap # set log_facility = LOG_LOCAL0 # set log_level = INFO # set log_headers = False # set log_address = /dev/log # # storage_domain = example.com # path_root = v1 # reseller_prefixes = AUTH [filter:catch_errors] use = egg:swift#catch_errors # You can override the default log routing for this filter here: # set log_name = catch_errors # set log_facility = LOG_LOCAL0 # set log_level = INFO # set log_headers = False # set log_address = /dev/log [filter:cname_lookup] # Note: this middleware requires python-dnspython use = egg:swift#cname_lookup # You can override the default log routing for this filter here: # set log_name = cname_lookup # set log_facility = LOG_LOCAL0 # set log_level = INFO # set log_headers = False # set log_address = /dev/log # # storage_domain = example.com # lookup_depth = 1 # Note: Put staticweb just after your auth filter(s) in the pipeline [filter:staticweb] use = egg:swift#staticweb # Seconds to cache container x-container-meta-web-* header values. # cache_timeout = 300 # Note: Put tempurl just before your auth filter(s) in the pipeline [filter:tempurl] use = egg:swift#tempurl # The methods allowed with Temp URLs. # methods = GET HEAD PUT # # The headers to remove from incoming requests. Simply a whitespace delimited # list of header names and names can optionally end with '*' to indicate a # prefix match. incoming_allow_headers is a list of exceptions to these # removals. # incoming_remove_headers = x-timestamp # # The headers allowed as exceptions to incoming_remove_headers. Simply a # whitespace delimited list of header names and names can optionally end with # '*' to indicate a prefix match. # incoming_allow_headers = # # The headers to remove from outgoing responses. Simply a whitespace delimited # list of header names and names can optionally end with '*' to indicate a # prefix match. outgoing_allow_headers is a list of exceptions to these # removals. # outgoing_remove_headers = x-object-meta-* # # The headers allowed as exceptions to outgoing_remove_headers. Simply a # whitespace delimited list of header names and names can optionally end with # '*' to indicate a prefix match. # outgoing_allow_headers = x-object-meta-public-* # Note: Put formpost just before your auth filter(s) in the pipeline [filter:formpost] use = egg:swift#formpost # Note: Just needs to be placed before the proxy-server in the pipeline. [filter:name_check] use = egg:swift#name_check # forbidden_chars = '"`<> # maximum_length = 255 # forbidden_regexp = /\./|/\.\./|/\.$|/\.\.$ [filter:list-endpoints] use = egg:swift#list_endpoints # list_endpoints_path = /endpoints/ [filter:proxy-logging] use = egg:swift#proxy_logging # If not set, logging directives from [DEFAULT] without "access_" will be used # access_log_name = swift # access_log_facility = LOG_LOCAL0 # access_log_level = INFO # access_log_address = /dev/log # # If set, access_log_udp_host will override access_log_address # access_log_udp_host = # access_log_udp_port = 514 # # You can use log_statsd_* from [DEFAULT] or override them here: # access_log_statsd_host = localhost # access_log_statsd_port = 8125 # access_log_statsd_default_sample_rate = 1.0 # access_log_statsd_sample_rate_factor = 1.0 # access_log_statsd_metric_prefix = # access_log_headers = False # # What HTTP methods are allowed for StatsD logging (comma-sep); request methods # not in this list will have "BAD_METHOD" for the portion of the metric. # log_statsd_valid_http_methods = GET,HEAD,POST,PUT,DELETE,COPY,OPTIONS # # Note: The double proxy-logging in the pipeline is not a mistake. The # left-most proxy-logging is there to log requests that were handled in # middleware and never made it through to the right-most middleware (and # proxy server). Double logging is prevented for normal requests. See # proxy-logging docs. # Note: Put before both ratelimit and auth in the pipeline. [filter:bulk] use = egg:swift#bulk # max_containers_per_extraction = 10000 # max_failed_extractions = 1000 # max_deletes_per_request = 10000 # yield_frequency = 60 # Note: Put after auth in the pipeline. [filter:container-quotas] use = egg:swift#container_quotas # Note: Put before both ratelimit and auth in the pipeline. [filter:slo] use = egg:swift#slo # max_manifest_segments = 1000 # max_manifest_size = 2097152 # min_segment_size = 1048576 [filter:account-quotas] use = egg:swift#account_quotas debian/tests/control0000664000000000000000000000022312323713153011732 0ustar Tests: python-swift swift-daemons Depends: python-swift, swift, swift-proxy, swift-object, swift-container, swift-account Restrictions: needs-root debian/tests/test_import_swift.py0000664000000000000000000000012012323713153014462 0ustar try: import swift except ImportError, e: print "ERROR IMPORTING MODULE" debian/container-server.conf0000664000000000000000000000033312323713153013324 0ustar [DEFAULT] bind_ip = 0.0.0.0 workers = 2 [pipeline:main] pipeline = container-server [app:container-server] use = egg:swift#container [container-replicator] [container-updater] [container-auditor] [container-sync] debian/compat0000664000000000000000000000000212323713153010366 0ustar 7 debian/swift-object.swift-object-replicator.upstart0000664000000000000000000000067512323713153017765 0ustar # swift-object-replicator - SWIFT Object Replicator # # The swift object replicator. description "SWIFT Object Replicator" author "Marc Cluet " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/object-server.conf" ]; then exec /usr/bin/swift-init object-replicator start else exit 1 fi end script post-stop exec /usr/bin/swift-init object-replicator stop debian/copyright0000664000000000000000000000150012323713153011117 0ustar Format: http://dep.debian.net/deps/dep5 Upstream-Name: swift Source: https://code.launchpad.net/swift Files: * Copyright: 2010 OpenStack, LLC. License: Apache-2 Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at . http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. . On Debian-based systems the full text of the Apache version 2.0 license can be found in `/usr/share/common-licenses/Apache-2.0'. debian/swift-account.swift-account-auditor0000664000000000000000000000255612323713153016143 0ustar #! /bin/sh ### BEGIN INIT INFO # Provides: swift-account-auditor # Required-Start: $remote_fs # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Swift account auditor server # Description: Account auditor server for swift. ### END INIT INFO set -e SERVICE_NAME="swift-account-auditor" DAEMON="/usr/bin/${SERVICE_NAME}" DAEMON_ARGS="/etc/swift/account-server.conf" PRINT_NAME="Swift account auditor" SWIFT_USER=swift SWIFT_GRP=swift PID_FILE=/var/run/swift/${SERVICE_NAME}.pid PID_DIR=`dirname $PID_FILE` if ! [ -x "${DAEMON}" ] ; then exit 0 fi if ! [ -r "${DAEMON_ARGS}" ] ; then echo "No configuration file found in ${DAEMON_ARGS}: exiting" exit 0 fi mkdir -p ${PID_DIR} chown ${SWIFT_USER} ${PID_DIR} . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --start --chuid ${SWIFT_USER}:${SWIFT_GRP} -b -m --pidfile $PID_FILE --exec ${DAEMON} -- ${DAEMON_ARGS} log_end_msg $? ;; stop) log_daemon_msg "Stopping ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --stop --oknodo --pidfile ${PID_FILE} log_end_msg $? ;; restart|force-reload|reload) $0 stop sleep 1 $0 start ;; status) status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ;; *) echo "Usage: $0 {start|stop|restart|reload|force-reload}" exit 1 ;; esac exit 0 debian/swift-object-expirer.docs0000664000000000000000000000003712323713153014116 0ustar etc/object-expirer.conf-sample debian/swift-object.manpages0000664000000000000000000000032612323713153013306 0ustar doc/manpages/object-server.conf.5 doc/manpages/swift-object-auditor.1 doc/manpages/swift-object-info.1 doc/manpages/swift-object-replicator.1 doc/manpages/swift-object-server.1 doc/manpages/swift-object-updater.1 debian/python-swift.docs0000664000000000000000000000000012323713153012503 0ustar debian/swift-object-expirer.manpages0000664000000000000000000000010712323713153014757 0ustar doc/manpages/object-expirer.conf.5 doc/manpages/swift-object-expirer.1 debian/swift-account.swift-account-replicator0000664000000000000000000000255712323713153016641 0ustar #! /bin/sh ### BEGIN INIT INFO # Provides: swift-account-replicator # Required-Start: $remote_fs # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Swift account replicator # Description: Account replicator for swift. ### END INIT INFO set -e SERVICE_NAME="swift-account-replicator" DAEMON="/usr/bin/${SERVICE_NAME}" DAEMON_ARGS="/etc/swift/account-server.conf" PRINT_NAME="Swift account replicator" SWIFT_USER=swift SWIFT_GRP=swift PID_FILE=/var/run/swift/${SERVICE_NAME}.pid PID_DIR=`dirname $PID_FILE` if ! [ -x "${DAEMON}" ] ; then exit 0 fi if ! [ -r "${DAEMON_ARGS}" ] ; then echo "No configuration file found in ${DAEMON_ARGS}: exiting" exit 0 fi mkdir -p ${PID_DIR} chown ${SWIFT_USER} ${PID_DIR} . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --start --chuid ${SWIFT_USER}:${SWIFT_GRP} -b -m --pidfile $PID_FILE --exec ${DAEMON} -- ${DAEMON_ARGS} log_end_msg $? ;; stop) log_daemon_msg "Stopping ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --stop --oknodo --pidfile ${PID_FILE} log_end_msg $? ;; restart|force-reload|reload) $0 stop sleep 1 $0 start ;; status) status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ;; *) echo "Usage: $0 {start|stop|restart|reload|force-reload}" exit 1 ;; esac exit 0 debian/python-swift.postrm0000664000000000000000000000047512323713153013117 0ustar #!/bin/sh set -e case "$1" in purge) # Remove swift user if possible userdel swift || true ;; remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; *) echo "postrm called with unknown argument \`$1'" >&2 exit 1 ;; esac #DEBHELPER# exit 0 debian/swift-container.manpages0000664000000000000000000000006612323713153014023 0ustar doc/manpages/container* doc/manpages/swift-container* debian/swift-container.swift-container-updater.upstart0000664000000000000000000000070012323713153020502 0ustar # swift-container-updater - SWIFT Container Updater # # The swift container updater. description "SWIFT Container Updater" author "Marc Cluet " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/container-server.conf" ]; then exec /usr/bin/swift-init container-updater start else exit 1 fi end script post-stop exec /usr/bin/swift-init container-updater stop debian/python-swift.manpages0000664000000000000000000000003212323713153013353 0ustar doc/manpages/swift-init.1 debian/swift-object-expirer.install0000664000000000000000000000003512323713153014632 0ustar usr/bin/swift-object-expirer debian/swift-container.swift-container-replicator.upstart0000664000000000000000000000072212323713153021206 0ustar # swift-container-replicator - SWIFT Container Replicator # # The swift container replicator. description "SWIFT Container Replicator" author "Marc Cluet " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/container-server.conf" ]; then exec /usr/bin/swift-init container-replicator start else exit 1 fi end script post-stop exec /usr/bin/swift-init container-replicator stop debian/swift-object.swift-object-replicator0000664000000000000000000000256712323713153016266 0ustar #! /bin/sh ### BEGIN INIT INFO # Provides: swift-object-replicator # Required-Start: $remote_fs # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Swift object replicator server # Description: Object replicator server for swift. ### END INIT INFO set -e SERVICE_NAME="swift-object-replicator" DAEMON="/usr/bin/${SERVICE_NAME}" DAEMON_ARGS="/etc/swift/object-server.conf" PRINT_NAME="Swift object replicator" SWIFT_USER=swift SWIFT_GRP=swift PID_FILE=/var/run/swift/${SERVICE_NAME}.pid PID_DIR=`dirname $PID_FILE` if ! [ -x "${DAEMON}" ] ; then exit 0 fi if ! [ -r "${DAEMON_ARGS}" ] ; then echo "No configuration file found in ${DAEMON_ARGS}: exiting" exit 0 fi mkdir -p ${PID_DIR} chown ${SWIFT_USER} ${PID_DIR} . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --start --chuid ${SWIFT_USER}:${SWIFT_GRP} -b -m --pidfile $PID_FILE --exec ${DAEMON} -- ${DAEMON_ARGS} log_end_msg $? ;; stop) log_daemon_msg "Stopping ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --stop --oknodo --pidfile ${PID_FILE} log_end_msg $? ;; restart|force-reload|reload) $0 stop sleep 1 $0 start ;; status) status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ;; *) echo "Usage: $0 {start|stop|restart|reload|force-reload}" exit 1 ;; esac exit 0 debian/swift-proxy.upstart0000664000000000000000000000062712323713153013134 0ustar # swift-proxy - SWIFT Proxy Server # # The swift proxy server. description "SWIFT Proxy Server" author "Marc Cluet " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/proxy-server.conf" ]; then exec /usr/bin/swift-init proxy-server start else exit 1 fi end script post-stop exec /usr/bin/swift-init proxy-server stop debian/swift-object.swift-object-auditor0000664000000000000000000000253412323713153015563 0ustar #! /bin/sh ### BEGIN INIT INFO # Provides: swift-object-auditor # Required-Start: $remote_fs # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Swift object auditor server # Description: Object auditor server for swift. ### END INIT INFO set -e SERVICE_NAME="swift-object-auditor" DAEMON="/usr/bin/${SERVICE_NAME}" DAEMON_ARGS="/etc/swift/object-server.conf" PRINT_NAME="Swift object auditor" SWIFT_USER=swift SWIFT_GRP=swift PID_FILE=/var/run/swift/${SERVICE_NAME}.pid PID_DIR=`dirname $PID_FILE` if ! [ -x "${DAEMON}" ] ; then exit 0 fi if ! [ -r "${DAEMON_ARGS}" ] ; then echo "No configuration file found in ${DAEMON_ARGS}: exiting" exit 0 fi mkdir -p ${PID_DIR} chown ${SWIFT_USER} ${PID_DIR} . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --start --chuid ${SWIFT_USER}:${SWIFT_GRP} -b -m --pidfile $PID_FILE --exec ${DAEMON} -- ${DAEMON_ARGS} log_end_msg $? ;; stop) log_daemon_msg "Stopping ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --stop --oknodo --pidfile ${PID_FILE} log_end_msg $? ;; restart|force-reload|reload) $0 stop sleep 1 $0 start ;; status) status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ;; *) echo "Usage: $0 {start|stop|restart|reload}" exit 1 ;; esac exit 0 debian/swift-object-expirer.upstart0000664000000000000000000000052712323713153014674 0ustar description "SWIFT Object Expirer" author "Will Kelly " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/object-expirer.conf" ]; then exec /usr/bin/swift-init object-expirer start else exit 1 fi end script post-stop exec /usr/bin/swift-init object-expirer stop debian/control0000664000000000000000000003273312323713153010603 0ustar Source: swift Section: net Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Soren Hansen Uploaders: Monty Taylor , Greg Holt , Jay Payne , Michael Barton , Thomas Goirand Build-Depends: debhelper (>= 7.0.50~), python-all-dev (>= 2.6.6-3~), python-dnspython (>= 1.10.0), python-eventlet (>= 0.9.8), python-greenlet (>= 0.3.1), python-mock, python-netifaces, python-nose, python-openssl, python-paste, python-pastedeploy, python-setuptools, python-simplejson, python-sphinx (>= 1.0), python-swiftclient, python-xattr Standards-Version: 3.9.4 Homepage: http://launchpad.net/swift Vcs-Browser: http://bazaar.launchpad.net/~ubuntu-server-dev/swift/icehouse/files Vcs-Bzr: https://code.launchpad.net/~ubuntu-server-dev/swift/icehouse XS-Testsuite: autopkgtest Package: python-swift Architecture: all Section: python Depends: adduser, python-dnspython (>= 1.10.0), python-eventlet (>= 0.9.8), python-greenlet (>= 0.3.1), python-netifaces, python-openssl, python-paste, python-pastedeploy, python-setuptools, python-simplejson, python-xattr, ${misc:Depends}, ${python:Depends} Provides: ${python:Provides} Breaks: swift (<< 1.13.1~rc1-0ubuntu1~) Replaces: swift (<< 1.13.1~rc1-0ubuntu1~) Description: distributed virtual object store - Python libraries OpenStack Object Storage (code-named Swift) is open source software for creating redundant, scalable object storage using clusters of standardized servers to store petabytes of accessible data. It is not a file system or real-time data storage system, but rather a long-term storage system for a more permanent type of static data that can be retrieved, leveraged, and then updated if necessary. Primary examples of data that best fit this type of storage model are virtual machine images, photo storage, email storage and backup archiving. Having no central "brain" or master point of control provides greater scalability, redundancy and permanence. . Objects are written to multiple hardware devices in the data center, with the OpenStack software responsible for ensuring data replication and integrity across the cluster. Storage clusters can scale horizontally by adding new nodes. Should a node fail, OpenStack works to replicate its content from other active nodes. Because OpenStack uses software logic to ensure data replication and distribution across different devices, inexpensive commodity hard drives and servers can be used in lieu of more expensive equipment. . This package provides the Python libraries that actually implement everything. Package: swift Architecture: all Depends: python-swift (=${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends} Provides: ${python:Provides} Replaces: swift (<< 1.6.0-0ubuntu1) Breaks: swift (<< 1.6.0-0ubuntu1) Suggests: swift-bench Description: distributed virtual object store - common files OpenStack Object Storage (code-named Swift) is open source software for creating redundant, scalable object storage using clusters of standardized servers to store petabytes of accessible data. It is not a file system or real-time data storage system, but rather a long-term storage system for a more permanent type of static data that can be retrieved, leveraged, and then updated if necessary. Primary examples of data that best fit this type of storage model are virtual machine images, photo storage, email storage and backup archiving. Having no central "brain" or master point of control provides greater scalability, redundancy and permanence. . Objects are written to multiple hardware devices in the data center, with the OpenStack software responsible for ensuring data replication and integrity across the cluster. Storage clusters can scale horizontally by adding new nodes. Should a node fail, OpenStack works to replicate its content from other active nodes. Because OpenStack uses software logic to ensure data replication and distribution across different devices, inexpensive commodity hard drives and servers can be used in lieu of more expensive equipment. . . This package provides some core binaries and clients to control swift. Package: swift-proxy Architecture: all Depends: python-swift (=${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends} Provides: ${python:Provides} Breaks: swift (<< 1.13.1~rc1-0ubuntu1~) Replaces: swift (<< 1.13.1~rc1-0ubuntu1~) Description: distributed virtual object store - proxy server OpenStack Object Storage (code-named Swift) is open source software for creating redundant, scalable object storage using clusters of standardized servers to store petabytes of accessible data. It is not a file system or real-time data storage system, but rather a long-term storage system for a more permanent type of static data that can be retrieved, leveraged, and then updated if necessary. Primary examples of data that best fit this type of storage model are virtual machine images, photo storage, email storage and backup archiving. Having no central "brain" or master point of control provides greater scalability, redundancy and permanence. . Objects are written to multiple hardware devices in the data center, with the OpenStack software responsible for ensuring data replication and integrity across the cluster. Storage clusters can scale horizontally by adding new nodes. Should a node fail, OpenStack works to replicate its content from other active nodes. Because OpenStack uses software logic to ensure data replication and distribution across different devices, inexpensive commodity hard drives and servers can be used in lieu of more expensive equipment. . This package provides a proxy server on which clients can connect to store object into Swift. Package: swift-object-expirer Architecture: all Depends: python-swift (=${binary:Version}), ${misc:Depends}, ${python:Depends}, ${shlibs:Depends} Provides: ${python:Provides} Breaks: swift-object (<< 1.12.0-0ubuntu2), swift (<< 1.13.1~rc1-0ubuntu1~) Replaces: swift-object (<< 1.12.0-0ubuntu2), swift (<< 1.13.1~rc1-0ubuntu1~) Description: distributed virtual object store - object expirer OpenStack Object Storage (code-named Swift) is open source software for creating redundant, scalable object storage using clusters of standardized servers to store petabytes of accessible data. It is not a file system or real-time data storage system, but rather a long-term storage system for a more permanent type of static data that can be retrieved, leveraged, and then updated if necessary. Primary examples of data that best fit this type of storage model are virtual machine images, photo storage, email storage and backup archiving. Having no central "brain" or master point of control provides greater scalability, redundancy and permanence. . Objects are written to multiple hardware devices in the data center, with the OpenStack software responsible for ensuring data replication and integrity across the cluster. Storage clusters can scale horizontally by adding new nodes. Should a node fail, OpenStack works to replicate its content from other active nodes. Because OpenStack uses software logic to ensure data replication and distribution across different devices, inexpensive commodity hard drives and servers can be used in lieu of more expensive equipment. . This package provides the object-expirer service that provides scheduled deletion of objects in Swift. Package: swift-object Architecture: all Depends: python-swift (=${binary:Version}), rsync, ${misc:Depends}, ${python:Depends}, ${shlibs:Depends} Provides: ${python:Provides} Breaks: swift (<< 1.13.1~rc1-0ubuntu1~) Replaces: swift (<< 1.13.1~rc1-0ubuntu1~) Description: distributed virtual object store - object server OpenStack Object Storage (code-named Swift) is open source software for creating redundant, scalable object storage using clusters of standardized servers to store petabytes of accessible data. It is not a file system or real-time data storage system, but rather a long-term storage system for a more permanent type of static data that can be retrieved, leveraged, and then updated if necessary. Primary examples of data that best fit this type of storage model are virtual machine images, photo storage, email storage and backup archiving. Having no central "brain" or master point of control provides greater scalability, redundancy and permanence. . Objects are written to multiple hardware devices in the data center, with the OpenStack software responsible for ensuring data replication and integrity across the cluster. Storage clusters can scale horizontally by adding new nodes. Should a node fail, OpenStack works to replicate its content from other active nodes. Because OpenStack uses software logic to ensure data replication and distribution across different devices, inexpensive commodity hard drives and servers can be used in lieu of more expensive equipment. . This package provides the swift object server. Package: swift-container Architecture: all Depends: python-swift (=${binary:Version}), rsync, ${misc:Depends}, ${python:Depends}, ${shlibs:Depends} Provides: ${python:Provides} Breaks: swift (<< 1.13.1~rc1-0ubuntu1~) Replaces: swift (<< 1.13.1~rc1-0ubuntu1~) Description: distributed virtual object store - container server OpenStack Object Storage (code-named Swift) is open source software for creating redundant, scalable object storage using clusters of standardized servers to store petabytes of accessible data. It is not a file system or real-time data storage system, but rather a long-term storage system for a more permanent type of static data that can be retrieved, leveraged, and then updated if necessary. Primary examples of data that best fit this type of storage model are virtual machine images, photo storage, email storage and backup archiving. Having no central "brain" or master point of control provides greater scalability, redundancy and permanence. . Objects are written to multiple hardware devices in the data center, with the OpenStack software responsible for ensuring data replication and integrity across the cluster. Storage clusters can scale horizontally by adding new nodes. Should a node fail, OpenStack works to replicate its content from other active nodes. Because OpenStack uses software logic to ensure data replication and distribution across different devices, inexpensive commodity hard drives and servers can be used in lieu of more expensive equipment. . This package provides the swift container server. Package: swift-account Architecture: all Depends: python-swift (=${binary:Version}), rsync, ${misc:Depends}, ${python:Depends}, ${shlibs:Depends} Provides: ${python:Provides} Breaks: swift (<< 1.13.1~rc1-0ubuntu1~) Replaces: swift (<< 1.13.1~rc1-0ubuntu1~) Description: distributed virtual object store - account server OpenStack Object Storage (code-named Swift) is open source software for creating redundant, scalable object storage using clusters of standardized servers to store petabytes of accessible data. It is not a file system or real-time data storage system, but rather a long-term storage system for a more permanent type of static data that can be retrieved, leveraged, and then updated if necessary. Primary examples of data that best fit this type of storage model are virtual machine images, photo storage, email storage and backup archiving. Having no central "brain" or master point of control provides greater scalability, redundancy and permanence. . Objects are written to multiple hardware devices in the data center, with the OpenStack software responsible for ensuring data replication and integrity across the cluster. Storage clusters can scale horizontally by adding new nodes. Should a node fail, OpenStack works to replicate its content from other active nodes. Because OpenStack uses software logic to ensure data replication and distribution across different devices, inexpensive commodity hard drives and servers can be used in lieu of more expensive equipment. . This package provides the swift account server. Package: swift-doc Architecture: all Section: doc Depends: libjs-jquery, ${misc:Depends} Description: distributed virtual object store - documentation OpenStack Object Storage (code-named Swift) is open source software for creating redundant, scalable object storage using clusters of standardized servers to store petabytes of accessible data. It is not a file system or real-time data storage system, but rather a long-term storage system for a more permanent type of static data that can be retrieved, leveraged, and then updated if necessary. Primary examples of data that best fit this type of storage model are virtual machine images, photo storage, email storage and backup archiving. Having no central "brain" or master point of control provides greater scalability, redundancy and permanence. . Objects are written to multiple hardware devices in the data center, with the OpenStack software responsible for ensuring data replication and integrity across the cluster. Storage clusters can scale horizontally by adding new nodes. Should a node fail, OpenStack works to replicate its content from other active nodes. Because OpenStack uses software logic to ensure data replication and distribution across different devices, inexpensive commodity hard drives and servers can be used in lieu of more expensive equipment. . This package provides the Sphinx generated documentation for Swift. debian/object-expirer.conf0000664000000000000000000000043412323713153012762 0ustar [DEFAULT] [object-expirer] interval = 300 [pipeline:main] pipeline = catch_errors cache proxy-server [app:proxy-server] use = egg:swift#proxy [filter:cache] use = egg:swift#memcache [filter:catch_errors] use = egg:swift#catch_errors # See object-expirer.conf-sample for options debian/swift-doc.doc-base0000664000000000000000000000035612323713153012472 0ustar Document: swift-doc Title: Swift Documentation Author: OpenStack Abstract: Sphinx documentation for Swift Section: Network/File Transfer Format: HTML Index: /usr/share/doc/swift-doc/html/index.html Files: /usr/share/doc/swift-doc/html/* debian/watch0000664000000000000000000000030112323713153010213 0ustar version=3 opts="uversionmangle=s/%7E/~/" https://launchpad.net/swift/+download https://launchpad.net/swift/.*/.*/.*/swift-(.*)\.tar\.gz http://tarballs.openstack.org/swift/ swift-(\d.*).tar.gz debian/swift-account.swift-account-replicator.upstart0000664000000000000000000000070412323713153020332 0ustar # swift-account-replicator - SWIFT Account Replicator # # The swift account replicator. description "SWIFT Account Replicator" author "Marc Cluet " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/account-server.conf" ]; then exec /usr/bin/swift-init account-replicator start else exit 1 fi end script post-stop exec /usr/bin/swift-init account-replicator stop debian/swift-object.swift-object-updater.upstart0000664000000000000000000000065312323713153017261 0ustar # swift-object-updater - SWIFT Object Updater # # The swift object updater. description "SWIFT Object Updater" author "Marc Cluet " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/object-server.conf" ]; then exec /usr/bin/swift-init object-updater start else exit 1 fi end script post-stop exec /usr/bin/swift-init object-updater stop debian/swift.docs0000664000000000000000000000012712323713153011176 0ustar etc/drive-audit.conf-sample etc/swift.conf-sample etc/dispersion.conf-sample CHANGELOG debian/swift-container.swift-container-replicator0000664000000000000000000000257512323713153017515 0ustar #! /bin/sh ### BEGIN INIT INFO # Provides: swift-container-replicator # Required-Start: $remote_fs # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Swift container replicator # Description: Container replicator for swift. ### END INIT INFO set -e SERVICE_NAME="swift-container-replicator" DAEMON="/usr/bin/${SERVICE_NAME}" DAEMON_ARGS="/etc/swift/container-server.conf" PRINT_NAME="Swift countainer replicator" SWIFT_USER=swift SWIFT_GRP=swift PID_FILE=/var/run/swift/${SERVICE_NAME}.pid PID_DIR=`dirname $PID_FILE` if ! [ -x "${DAEMON}" ] ; then exit 0 fi if ! [ -r "${DAEMON_ARGS}" ] ; then echo "No configuration file found in ${DAEMON_ARGS}: exiting" exit 0 fi mkdir -p ${PID_DIR} chown ${SWIFT_USER} ${PID_DIR} . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --start --chuid ${SWIFT_USER}:${SWIFT_GRP} -b -m --pidfile $PID_FILE --exec ${DAEMON} -- ${DAEMON_ARGS} log_end_msg $? ;; stop) log_daemon_msg "Stopping ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --stop --oknodo --pidfile ${PID_FILE} log_end_msg $? ;; restart|force-reload|reload) $0 stop sleep 1 $0 start ;; status) status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ;; *) echo "Usage: $0 {start|stop|restart|reload|force-reload}" exit 1 ;; esac exit 0 debian/swift-account.manpages0000664000000000000000000000006212323713153013471 0ustar doc/manpages/account* doc/manpages/swift-account* debian/swift-object.swift-object-updater0000664000000000000000000000253312323713153015557 0ustar #! /bin/sh ### BEGIN INIT INFO # Provides: swift-object-updater # Required-Start: $remote_fs # Required-Stop: $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Swift object updater server # Description: Object updater server for swift. ### END INIT INFO set -e SERVICE_NAME="swift-object-updater" DAEMON="/usr/bin/${SERVICE_NAME}" DAEMON_ARGS="/etc/swift/object-server.conf" PRINT_NAME="Swift object updater" SWIFT_USER=swift SWIFT_GRP=swift PID_FILE=/var/run/swift/${SERVICE_NAME}.pid PID_DIR=`dirname $PID_FILE` if ! [ -x "${DAEMON}" ] ; then exit 0 fi if ! [ -r "${DAEMON_ARGS}" ] ; then echo "No configuration file found in ${DAEMON_ARGS}: exiting" exit 0 fi mkdir -p ${PID_DIR} chown ${SWIFT_USER} ${PID_DIR} . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --start --chuid ${SWIFT_USER}:${SWIFT_GRP} -b -m --pidfile $PID_FILE --exec ${DAEMON} -- ${DAEMON_ARGS} log_end_msg $? ;; stop) log_daemon_msg "Stopping ${PRINT_NAME}" "${SERVICE_NAME}" start-stop-daemon --stop --oknodo --pidfile ${PID_FILE} log_end_msg $? ;; restart|force-reload|reload) $0 stop sleep 1 $0 start ;; status) status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? ;; *) echo "Usage: $0 {start|stop|restart|reload}" exit 1 ;; esac exit 0 debian/changelog0000664000000000000000000004552212323713153011052 0ustar swift (1.13.1-0ubuntu1) trusty; urgency=medium * New upstream release (LP: #1299055). -- Chuck Short Thu, 17 Apr 2014 04:52:50 -0400 swift (1.13.1~rc2-0ubuntu1) trusty; urgency=medium [ Chuck Short ] * New upstream release candidate (LP: #1299055). [ James Page ] * d/control: Add appropriate Breaks/Replaces to support move of man pages between binary packages in 1.13.1~rc1-0ubuntu1 (LP: #1306241). -- James Page Mon, 14 Apr 2014 11:03:23 +0100 swift (1.13.1~rc1-0ubuntu2) trusty; urgency=medium * d/p/ring-perms.patch: Ensure that generated rings can be read by the swift user, fixing autopkgtest failure (LP: #1302700). -- James Page Sun, 06 Apr 2014 21:10:51 +0100 swift (1.13.1~rc1-0ubuntu1) trusty; urgency=medium [ Chuck Short ] * Add new binaries: - d/swift-container.install: Add swift-container-info binary. - d/swift-account.install: Add swift-account-info binary. [ James Page ] * New upstream release candidate (LP: #1299055). * d/rules: Tidy dh_clean override. * d/rules,swift-doc.docs: Re-enable documentation build. * d/*.manpages: Rejig manpage installs into correct packages. * d/container-server.conf: Add missing container-sync section (LP: #1290813). * d/*: Wrap-and-sort. -- James Page Fri, 04 Apr 2014 10:57:51 +0100 swift (1.13.0-0ubuntu1) trusty; urgency=medium [ Chuck Short ] * New upstream release. [ James Page ] * Add object-expirer package and associated configuration (LP: #1235495): - d/control: Add swift-object-expirer package, break/replace swift-object from earlier versions. - d/swift-object.install: Drop install of swift-object-expirer. - d/swift-object-expirer.{install,upstart}: Install swift-object-expirer and associated upstart configuration. - d/rules,object-expirer.conf: Provide basic object-expirer configuration. - debian/swift-object-expirer.docs: Add full example configuration to docs. * d/rules,swift-container.swift-container-sync.upstart: Add upstart configuration for swift-container-sync process (LP: #1250171). -- Chuck Short Thu, 06 Mar 2014 12:29:10 -0500 swift (1.12.0-0ubuntu1) trusty; urgency=medium * New upstream release. * debian/patches/fix-ubuntu-tests.patch: Rediffed. * debian/rules: Add pythonpath for tests. -- Chuck Short Wed, 29 Jan 2014 09:14:25 -0500 swift (1.11.0-0ubuntu2) trusty; urgency=low * d/tests/swift-daemons: Use service command to restart daemons instead of directly using non-existent scripts in /etc/init.d. -- James Page Fri, 13 Dec 2013 09:14:19 +0000 swift (1.11.0-0ubuntu1) trusty; urgency=low [ Chuck Short ] * debian/control: open icehouse release. * debian/rules: - Fix doc installation. - Removed debian distribution checking. * Removed init scripts, they dont get installed anyways. * Renamed upstart.in to regular upstart jobs. * debian/swift-doc.docs: Drop doc/build/html. * debian/swift.install: Remove swift-bench and swift-bench-client, it has moved into its own project. * debian/control: Suggest swift-bench. * debian/fix-ubuntu-tests.patch: Disable tests that fail on buildds. [ James Page ] * d/rules: Don't clean debian/*.upstart; we need those now! -- Chuck Short Thu, 12 Dec 2013 10:50:46 -0500 swift (1.10.0-0ubuntu1) saucy; urgency=low * New upstream release (LP: #1236462). -- Chuck Short Thu, 17 Oct 2013 10:26:18 -0400 swift (1.10.0~rc1-0ubuntu1) saucy; urgency=low * New upstream release candidate. -- Chuck Short Wed, 09 Oct 2013 15:05:24 -0400 swift (1.9.1-0ubuntu3) saucy; urgency=low * d/python-swift.postinst: Allow swift user to write to /var/cache/swift, resolving repeated errors in swift syslog (LP: #1234657). -- James Page Fri, 04 Oct 2013 16:21:14 +0100 swift (1.9.1-0ubuntu2) saucy; urgency=low * d/control: Add missing dependency on python-dnspython >= 1.10.0. * d/control: Wrap and sort. -- James Page Wed, 25 Sep 2013 16:08:35 +0100 swift (1.9.1-0ubuntu1) saucy; urgency=low [ James Page ] * d/control: Update VCS fields for new branch locations. [ Chuck Short ] * New upstream release. -- Chuck Short Tue, 13 Aug 2013 10:37:13 -0400 swift (1.9.0-0ubuntu1) saucy; urgency=low [ Chuck Short ] * New upstream release. * debian/swift.install: Add swift-config. * debian/control: Nump standards version to 3.9.4 [ Yolanda Robla ] * debian/tests: added autopkg tests -- Chuck Short Tue, 02 Jul 2013 10:26:07 -0500 swift (1.8.0-0ubuntu1) raring; urgency=low * New upstream release. -- Chuck Short Thu, 04 Apr 2013 10:38:18 -0500 swift (1.8.0~rc2-0ubuntu1) raring; urgency=low * New usptream release candidate for grizzly. -- Chuck Short Tue, 02 Apr 2013 09:06:48 -0500 swift (1.8.0~rc1-0ubuntu1) raring; urgency=low * New upstream release candidate for grizzly. -- Chuck Short Wed, 20 Mar 2013 08:19:17 -0500 swift (1.7.6-0ubuntu1) raring; urgency=low * New upstream release. -- Chuck Short Mon, 28 Jan 2013 09:44:34 -0600 swift (1.7.5-0ubuntu1) raring; urgency=low * New upstream release. * debian/control: Dropped python-webob. * debian/swift.install: Add swift-bench-client. -- Chuck Short Wed, 14 Nov 2012 12:11:47 -0600 swift (1.7.4-0ubuntu2) quantal; urgency=low * debian/control: Conflicts/Breaks on swift 1.6.0-ubuntu1 when upgrading from precise, since the swift client has been moved to python-swiftclient. (LP: #1061064) -- Chuck Short Thu, 11 Oct 2012 09:06:02 -0500 swift (1.7.4-0ubuntu1) quantal; urgency=low * New upstream release. * debian/rules: Fail to build the packages if testsuite fails. -- Chuck Short Wed, 26 Sep 2012 09:19:43 -0500 swift (1.7.2-0ubuntu1) quantal; urgency=low * New upstream release, this release fixes a major regression introduced in the last release. -- Chuck Short Thu, 20 Sep 2012 08:42:59 -0500 swift (1.7.0-0ubuntu1) quantal; urgency=low [ Soren Hansen ] * Update debian/watch to account for symbolically named tarballs and use newer URL. * Run unit tests at build time. * Fix Launchpad URLs in debian/watch. [ Chuck Short ] * New upstream release * debian/control: Add python-mock as a build dep * debian/rules: Dont fail if testsuite fails. -- Chuck Short Fri, 07 Sep 2012 19:02:36 -0500 swift (1.6.0-0ubuntu1) quantal; urgency=low [ Adam Gandelman ] * debian/patches/fix-ubuntu-unitteests.patch: Refreshed against tarball generated by sdist. * debian/control: Add python-swiftclient to Build-Depends. * debian/swift.install: Remove swift CLI client, moved to python-swiftclient. * debian/patches/fix-ubuntu-unittests.patch: Dropped. Similar upstream commit ensures logging exceptions are properly handled. * debian/rules: *Temporarily* disable test suite. [ Chuck Short ] * New upstream version. * python-swift.dirs: Add /var/cache/swift * debian/man/*: Removed used upstream man pages and replaced with upstream manpages. (LP: #1006671) -- Chuck Short Tue, 07 Aug 2012 09:31:35 -0500 swift (1.5.0-0ubuntu1) quantal; urgency=low * New upstream version * debian/patches/fix-ubuntu-unittests.patch: Refreshed * debian/patches/fix-doc-no-network.patch: Refreshed * swift.docs: Add changelog * swift.install: Remove missing binaries. * debian/control: Bump to version 3.9.3 * debian/swift.install: Add swift-temp-url and swift-form-signature. -- Chuck Short Mon, 18 Jun 2012 09:30:05 -0400 swift (1.4.8-0ubuntu2) precise; urgency=low * debian/patches/fix-ubuntu-unittests.patch: Refreshed to fix testsuite failures. -- Chuck Short Thu, 12 Apr 2012 12:05:29 -0400 swift (1.4.8-0ubuntu1) precise; urgency=low * New upstream release. * debian/patches/fix-ubuntu-unittests.patch: Refreshed. * debian/patches/fix-doc-no-network.patch: Dont access network when trying to build docs. -- Chuck Short Tue, 10 Apr 2012 09:23:54 -0400 swift (1.4.7-0ubuntu3) precise; urgency=low * debian/rules: Make the build fail if the testsuite doesnt pass. * debian/patches/fix-ubuntu-unittests.patch: Various fixes to build swift in the buildds. (LP: #961871) -- Chuck Short Mon, 26 Mar 2012 12:11:25 -0400 swift (1.4.7-0ubuntu2) precise; urgency=low * Fixup upstart configurations (LP: #954477): - d/rules: Correctly generate ALL upstart configurations when building for Ubuntu. - d/*.upstart.in: Update upstart config's to use new conf file locations. -- James Page Thu, 15 Mar 2012 15:34:19 +0000 swift (1.4.7-0ubuntu1) precise; urgency=low [ Chuck Short ] * New upstream release. [ Thierry Carrez (ttx) ] * Remove swift-stats-populate, swift-stats-report and stats.conf-sample to match Swift 1.4.7 contents -- Chuck Short Fri, 09 Mar 2012 13:26:07 -0500 swift (1.4.7~20120302.1721-0ubuntu1) precise; urgency=low * New upstream release. -- Chuck Short Fri, 02 Mar 2012 13:27:27 -0500 swift (1.4.7~20120224.1690-0ubuntu1) precise; urgency=low [ Chuck Short ] * New upstream release. [ Chmouel Boudjnah ] * Add more samples to packages (LP:#667935) -- Chuck Short Fri, 24 Feb 2012 09:10:12 -0500 swift (1.4.7~20120210.1686-0ubuntu1) precise; urgency=low * New upstream release. * debian/control: Add python-paste. -- Chuck Short Fri, 10 Feb 2012 09:41:51 -0500 swift (1.4.6~20120202.1676-0ubuntu1) precise; urgency=low * New upstream version. -- Chuck Short Fri, 03 Feb 2012 09:35:18 -0500 swift (1.4.6~20120119.1666-0ubuntu2) precise; urgency=low * Update swift.install to reflect release. -- Chuck Short Thu, 26 Jan 2012 09:05:51 -0500 swift (1.4.6~20120119.1666-0ubuntu1) precise; urgency=low [Chuck Short] * New upstream release. [ Daniel T Chen ] * debian/control: Fix Vcs entries. * debian/swift.install: Add new scripts. Fixes FTBFS. [ Marc Cluet ] * Changed swift-proxy upstart script to watch /etc/swift/proxy-server.conf (LP:#917893) -- Chuck Short Fri, 20 Jan 2012 13:20:46 -0500 swift (1.4.6~20120112.1660-0ubuntu1) precise; urgency=low [Chuck Short] * New upstream release. * Merged changes from upstream packaging, thanks to Thierry Carrez. * debian/rules: + Remove egg-info on clean. [Thierry Carrez (ttx)] * Added usr/bin/swift-recon[-cron] to swift package. -- Chuck Short Mon, 09 Jan 2012 11:26:25 -0500 swift (1.4.5~20111202.1634-0ubuntu3) precise; urgency=low * debian/swift.manpages: Remove swauth man pages. -- Matthias Klose Wed, 21 Dec 2011 18:29:35 +0100 swift (1.4.5~20111202.1634-0ubuntu2) precise; urgency=low [ Chuck Short ] * Drop swauth man pages. (LP: #900888) * debian/control: - Clean up build depends. - Update VCS info to point to the right branches. * debian/rules: Run the swift testsuite. * debian/python-swift.postinst: Change user's shell to /bin/false. * Fix some lintian warnings. [ Thierry Carrez (ttx) ] * Ship swift-oldies and swift-orphans in swift package -- Chuck Short Fri, 16 Dec 2011 09:45:28 -0500 swift (1.4.5~20111202.1634-0ubuntu1) precise; urgency=low * New upstream release. -- Chuck Short Fri, 02 Dec 2011 09:49:32 -0500 swift (1.4.5~20111117.1632-0ubuntu1) precise; urgency=low * New upstream release. * Convert init scripts to upstart. -- Chuck Short Fri, 18 Nov 2011 13:25:16 -0500 swift (1.4.4~20111108.1612-0ubuntu1) precise; urgency=low * New upstream release. * debian/rules: Add --fail-missing. * Update .isntall files. (LP: #882679, #841853) -- Chuck Short Fri, 11 Nov 2011 10:49:12 -0500 swift (1.4.4~20111014.1599-0ubuntu1) precise; urgency=low * New upstream verison. * Dropped: - debian/patches/backport-change-swift-ring-builder-exit-codes. -- Chuck Short Fri, 21 Oct 2011 13:50:47 -0400 swift (1.4.3-0ubuntu2) oneiric; urgency=low [ Adam Gandelman ] * debian/patches/backport-change-swift-ring-builder-exit-codes: Standardize exit codes now to reduce hassles after future upgrades (LP: #836922) -- Chuck Short Fri, 30 Sep 2011 15:00:26 -0400 swift (1.4.3-0ubuntu1) oneiric; urgency=low [Chuck Short] * New upstream release. [Monty Taylor] * Work around dh_python2 for lucid. (LP: #848971) -- Monty Taylor Fri, 16 Sep 2011 15:40:19 -0400 swift (1.4.3~20110902.354-0ubuntu1) oneiric; urgency=low * New upstream release. -- Chuck Short Fri, 02 Sep 2011 14:10:27 -0400 swift (1.4.3~20110823.347-0ubuntu1) oneiric; urgency=low * New upstream release. -- Chuck Short Fri, 26 Aug 2011 14:11:09 -0400 swift (1.4.3~20110811.341-0ubuntu1) oneiric; urgency=low * New upstream release. -- Chuck Short Fri, 12 Aug 2011 05:33:16 -0400 swift (1.4.3~20110728.333-0ubuntu1) UNRELEASED; urgency=low [ Soren Hansen ] * New upstream snapshot. * Remove debian-changes patch file. * Remove SOURCES.txt in clean target to avoid gettings its changes in our diff.gz. * Add "status" support to all init scripts. * Use "shutdown" instead of "stop" as the action argument for swift- init. This shuts down the services gracefully (letting live requests finish). * Add swift-dispersion-{report,populate} to swift.install. [ Thomas Goirand ] * Added missing adduser and lsb-base dependency. * Made the long description longer (it was really minimalistic). * Reworked all Debian init.d scripts. * Added many missing manpages. * Added default container-server.conf & object-server.conf files. [ James Page ] * Added debian/python-swift.postrm: Remove swift user when purging package (LP: #825670). -- James Page Tue, 16 Aug 2011 10:33:00 +0100 swift (1.4.2-0ubuntu1) oneiric; urgency=low * New upstream release. * debian/control: - Update vcs infomration. - Cleaned up build dependencies. - Bump standards to version 3.9.2. * debian/README.Source: Add doc to upload swift to the ubuntu archive. * dh_python2 transition. -- Chuck Short Thu, 28 Jul 2011 10:39:51 -0400 swift (1.4.2~20110624.319-0ubuntu3) oneiric; urgency=low * Clean up missing files. -- Chuck Short Mon, 27 Jun 2011 06:30:51 -0400 swift (1.4.2~20110624.319-0ubuntu2) oneiric; urgency=low * New upstream release. -- Chuck Short Fri, 24 Jun 2011 14:00:18 -0400 swift (1.4.1-0ubuntu1) oneiric; urgency=low * New upstream release. -- Chuck Short Mon, 20 Jun 2011 13:08:04 -0400 swift (1.4.1~20110615.r304-0ubuntu1) oneiric; urgency=low [ Gregory Holt ] * Removed swauth references. [ Soren Hansen ] * st was renamed to swift. [ Chuck Short ] * New upstream release. -- Chuck Short Thu, 16 Jun 2011 09:25:37 -0400 swift (1.4-dev+bzr300-0ubuntu1) oneiric; urgency=low * New upstream release. -- Chuck Short Tue, 31 May 2011 14:29:10 -0400 swift (1.3.0-0ubuntu1) natty; urgency=low * New upstream release. -- Chuck Short Fri, 15 Apr 2011 08:25:53 -0400 swift (1.3-rc+bzr266-0ubuntu1) UNRELEASED; urgency=low * New upstream release. -- Chuck Short Thu, 14 Apr 2011 09:38:42 -0400 swift (1.2.0+bzr208-0ubuntu1) natty; urgency=low * New upstream release. -- Chuck Short Tue, 12 Apr 2011 10:32:30 -0400 swift (1.2.0-0ubuntu1) natty; urgency=low * New upstream release. * Updated VC locations in control file. * Set maintainer properly for Ubuntu. -- Monty Taylor Wed, 16 Feb 2011 08:50:48 -0800 swift (1.1.0+bzr173-0ubuntu1) natty; urgency=low * Fresh snapshot. * Updated watch file to also know about the new tarballs place. * Update Maintainer to point to myself. * Add a get-orig-source target to debian/rules. -- Soren Hansen Sat, 15 Jan 2011 00:19:38 +0100 swift (1.0.99+1.1.0rc1-1) unstable; urgency=low * New upstream release. * Updated to standards version 3.9.1. * Use jquery package to provide jquery.js. * Updated some of the control file to make lintian happy. -- Monty Taylor Tue, 19 Oct 2010 14:32:17 -0700 swift (1.0.2-7) unstable; urgency=low * Added swift-bench to swift package. -- Monty Taylor Mon, 18 Oct 2010 09:14:22 -0700 swift (1.0.2-6) unstable; urgency=low * swift-auth-create-account is now swift-auth-add-user. -- Greg Holt Fri, 03 Sep 2010 13:32:20 +0000 swift (1.0.2-5) unstable; urgency=low * Add a step in debian/rules to create doc/build if it doesn't exist. -- Monty Taylor Wed, 25 Aug 2010 08:55:45 -0700 swift (1.0.2-4) unstable; urgency=low * Fixed the depend on sphinx - it actually only needs to be >= 1.0. * Added paste-deploy as a depend. -- Monty Taylor Tue, 24 Aug 2010 12:02:31 -0700 swift (1.0.2-3) unstable; urgency=low [ Greg Holt ] * Added a png to the docs. [ Monty Taylor ] * Add rsync and remove duplicate net-tools dependency. * Added Jay Payne to uploaders. * Added Greg Holt to uploaders. * Updated VCS location to use UDD locations. * We actually depend on 1.0 of sphinx. -- Monty Taylor Tue, 24 Aug 2010 00:02:00 -0700 swift (1.0.2-2) unstable; urgency=low * Created python-swift package and actually put the python files in it. * Added python build dep. * Added debhelper token to postinst script. Also removed the byte-compiling of the files, since python-support should do that for us. * Cleaned up control file - removed homepage entries in description, removed trailing periods. * Changed provides in swift-proxy to match policy. -- Monty Taylor Wed, 28 Jul 2010 13:32:55 -0700 swift (1.0.2-1) unstable; urgency=low * New upstream release. * Added VCS info to control file. -- Monty Taylor Thu, 22 Jul 2010 18:32:02 -0500 swift (1.0.1-1) unstable; urgency=low * New upstream release. -- Monty Taylor Mon, 19 Jul 2010 11:22:41 -0500 swift (1.0.0-1) unstable; urgency=low [ Michael Barton ] * Initial release [ Monty Taylor ] * Added docs to doc system. -- Monty Taylor Wed, 14 Jul 2010 10:41:11 -0500 debian/swift-object.docs0000664000000000000000000000012412323713153012437 0ustar etc/object-server.conf-sample etc/rsyncd.conf-sample etc/object-expirer.conf-sample debian/swift.install0000664000000000000000000000050312323713153011712 0ustar usr/bin/swift-config usr/bin/swift-dispersion-populate usr/bin/swift-dispersion-report usr/bin/swift-form-signature usr/bin/swift-get-nodes usr/bin/swift-oldies usr/bin/swift-orphans usr/bin/swift-recon usr/bin/swift-recon usr/bin/swift-recon-cron usr/bin/swift-recon-cron usr/bin/swift-ring-builder usr/bin/swift-temp-url debian/python-swift.dirs0000664000000000000000000000002012323713153012516 0ustar var/cache/swift debian/swift-object.upstart0000664000000000000000000000064512323713153013221 0ustar # swift-object-server - SWIFT Object Server # # The swift object server. description "SWIFT Object Server" author "Marc Cluet " start on runlevel [2345] stop on runlevel [016] pre-start script if [ -f "/etc/swift/object-server.conf" ]; then exec /usr/bin/swift-init object-server start else exit 1 fi end script post-stop exec /usr/bin/swift-init object-server stop debian/patches/0000775000000000000000000000000012323713153010617 5ustar debian/patches/fix-doc-no-network.patch0000664000000000000000000000142212323713153015271 0ustar Description: Dont access network when building docs. Author: Chuck Short Forwarded: no diff -Naupr swift-1.4.9.orig/doc/source/conf.py swift-1.4.9/doc/source/conf.py --- swift-1.4.9.orig/doc/source/conf.py 2012-05-14 12:12:18.000000000 -0400 +++ swift-1.4.9/doc/source/conf.py 2012-05-15 10:38:48.560018434 -0400 @@ -40,7 +40,7 @@ sys.path.append([os.path.abspath('../swi # Add any Sphinx extension module names here, as strings. They can be # extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = ['sphinx.ext.autodoc', 'sphinx.ext.intersphinx', +extensions = ['sphinx.ext.autodoc', 'sphinx.ext.todo', 'sphinx.ext.coverage', 'sphinx.ext.pngmath', 'sphinx.ext.ifconfig'] todo_include_todos = True debian/patches/ring-perms.patch0000664000000000000000000000406012323713153013723 0ustar From b9b5fef89af51c66905de33e2436c063f4b09d36 Mon Sep 17 00:00:00 2001 From: James Page Date: Sat, 5 Apr 2014 09:38:12 +0100 Subject: [PATCH] Set permissions on generated ring files The use of NamedTemporaryFile creates rings with permissions 0600; however most installs probably generate the rings as root but the swift-proxy runs as user swift. Set the permissions on the generated ring to 0644 prior to rename so that the swift user can read the rings. Change-Id: Ia511931f471c5c9840012c3a75b89c1f35b1b245 Closes-Bug: #1302700 --- swift/common/ring/ring.py | 1 + test/unit/common/ring/test_ring.py | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/swift/common/ring/ring.py b/swift/common/ring/ring.py index 5b31528..a1f9024 100644 --- a/swift/common/ring/ring.py +++ b/swift/common/ring/ring.py @@ -120,6 +120,7 @@ class RingData(object): tempf.flush() os.fsync(tempf.fileno()) tempf.close() + os.chmod(tempf.name, 0o644) os.rename(tempf.name, filename) def to_dict(self): diff --git a/test/unit/common/ring/test_ring.py b/test/unit/common/ring/test_ring.py index 04eb1b7..1892d19 100644 --- a/test/unit/common/ring/test_ring.py +++ b/test/unit/common/ring/test_ring.py @@ -18,6 +18,7 @@ import cPickle as pickle import os import sys import unittest +import stat from contextlib import closing from gzip import GzipFile from tempfile import mkdtemp @@ -98,6 +99,15 @@ class TestRingData(unittest.TestCase): with open(ring_fname2) as ring2: self.assertEqual(ring1.read(), ring2.read()) + def test_permissions(self): + ring_fname = os.path.join(self.testdir, 'stat.ring.gz') + rd = ring.RingData( + [array.array('H', [0, 1, 0, 1]), array.array('H', [0, 1, 0, 1])], + [{'id': 0, 'zone': 0}, {'id': 1, 'zone': 1}], 30) + rd.save(ring_fname) + self.assertEqual(oct(stat.S_IMODE(os.stat(ring_fname).st_mode)), + '0644') + class TestRing(unittest.TestCase): -- 1.7.9.5 debian/patches/series0000664000000000000000000000010112323713153012024 0ustar fix-doc-no-network.patch fix-ubuntu-tests.patch ring-perms.patch debian/patches/fix-ubuntu-tests.patch0000664000000000000000000000210112323713153015100 0ustar Description: Skip tests that fail on buildds Author: Chuck Short Forwarded: no diff --git a/test/unit/proxy/test_server.py b/test/unit/proxy/test_server.py index 56adc70..0d0cbf3 100644 --- a/test/unit/proxy/test_server.py +++ b/test/unit/proxy/test_server.py @@ -2373,6 +2373,7 @@ class TestObjectController(unittest.TestCase): self.assertEquals(resp.headers.get('x-delete-at'), '9876543210') def test_copy_source_larger_than_max_file_size(self): + return req = Request.blank('/v1/a/c/o', environ={'REQUEST_METHOD': 'PUT'}, headers={'Content-Length': '0', 'X-Copy-From': '/c/o'}) @@ -2508,6 +2509,7 @@ class TestObjectController(unittest.TestCase): self.assertEquals(resp.headers.get('x-delete-at'), '9876543210') def test_COPY_source_larger_than_max_file_size(self): + return req = Request.blank('/v1/a/c/o', environ={'REQUEST_METHOD': 'COPY'}, headers={'Destination': '/c/o'})