Commits on Sep 11, 2017
  1. swob: Raise RuntimeError instead of IndexError

    tipabu committed Sep 11, 2017
    ... when the underlying application forgets to call start_response.
    Change-Id: I092be4bfdf5b1d7819fc1540307eaa918970e5b6
    Closes-Bug: 1462226
  2. api-ref: Fix container PUT response codes

    tipabu committed Sep 11, 2017
    Change-Id: I7b57b6ee7095105399518873f8ae59da63cd8ce5
    Closes-Bug: #1549411
Commits on Sep 6, 2017
  1. Unify 'Content-Type' header key name in API reference

    KazuhiroMiyahara committed Sep 6, 2017
    In current API reference, 'Content-Type' header key name is used in response
    parameter tables except Container GET table. On the other hand, 'Content_Type'
    is used in Container GET table.
    This patch fixes the 'Content_Type' in Container GET table to 'Content-Type'.
    Change-Id: Idf242477dd089202635b69b85b0c19739e0c6321
  2. Add explanation about Content-Length header limit with DLO to docs

    KazuhiroMiyahara committed Sep 6, 2017
    If a number of DLO segments is larger than container listing limit,
    Content-Length header will not be included in GET or HEAD response.
    However, this fact is not explained in document of large objects.
    This patch add explanation about this fact to the document.
    Change-Id: Ia45fad05797f38fa8b6b0ed917b4f9d7fb337149
    Closes-Bug: 1680219
  3. Fix bytes and name API reference of Container GET

    KazuhiroMiyahara committed Sep 5, 2017
    In current API reference, 'bytes' and 'name' descriptions of Container GET are
    shared with Account GET. However, the descriptions are not correct for
    Container GET.
    This patch separate descriptions for Container GET and descriptions for Account
    GET and fix descriptions for Container GET.
    Change-Id: Ibedd08c5d9ebe145caf567edbd9757d7bc83b96d
  4. Merge "Stop clearing req.acl in DLO"

    Jenkins committed with openstack-gerrit Sep 6, 2017
Commits on Sep 5, 2017
  1. Delay cache invalidation during container creation

    therve committed Sep 5, 2017
    Having the cache being cleared before the PUT request creates a
    fairly big window where the cache can be inconsistent, if a concurrent
    GET happens. Let's move the cache clear after the requests to reduce it.
    Change-Id: I45130cc32ba3a23272c2a67c86b4063000379426
    Closes-Bug: #1715177
  2. doc migration: update the doc link address[1/3]

    junboli committed with tipabu Sep 5, 2017
    Update the doc link brought by the swift doc migration.
    Although we had some effort to fix these before, it still left lots
    of bad doc link, I separate these changes into 3 patches aim to fix
    all of these, this is the 1st patch for doc/manpages.
    Change-Id: Ib49696706e61bbd36ae56b15b1d94aa4ce84531c
  3. Update Container-Sync Docs for internal_client.conf

    KazuhiroMiyahara committed Sep 5, 2017
    At patch [1], container sync daemon is updated to use internal client.
    However, the "Configuring Container Sync" section [2] of swift docs doesn't
    updated for this change.
    This patch adds an explanation about the change.
    Change-Id: Ia1aabeab250cbe27414d7877138ad38708f5ce3f
    Closes-Bug: 1446721
Commits on Sep 2, 2017
  1. Remove vestigate HUDSON_PUBLISH_DOCS reference

    emonty committed Sep 2, 2017
    This isn't actually used (and in swift is commented out already)
    and is a leftover from a thing we did about seven years ago.
    Change-Id: I9889bcfd29054f14679ae7430b077ad3afb25b98
Commits on Sep 1, 2017
  1. Always require device dir for containers

    ctvera committed with clayg Apr 19, 2017
    For test purposes (e.g. saio probetests) even if mount_check is False,
    still require check_dir for account/container server storage when real
    mount points are not used.
    This behavior is consistent with the object-server's checks in diskfile.
    Co-Author: Clay Gerrard <>
    Related lp bug #1693005
    Related-Change-Id: I344f9daaa038c6946be11e1cf8c4ef104a09e68b
    Depends-On: I52c4ecb70b1ae47e613ba243da5a4d94e5adedf2
    Change-Id: I3362a6ebff423016bb367b4b6b322bb41ae08764
  2. Merge "Cleanup test tempdirs in tearDown"

    Jenkins committed with openstack-gerrit Sep 1, 2017
  3. Cleanup test tempdirs in tearDown

    alistairncoles committed Sep 1, 2017
    Stop leaking tmp dirs in unit tests
    Change-Id: I606e9deeedc7c52a85d270b3cef7dfba13b4f0d3
Commits on Aug 31, 2017
  1. Stop clearing req.acl in DLO

    tipabu committed Aug 31, 2017
    This has been pure misdirection since DLO was pulled out of the proxy
    server; req.acl is always set by the object controller before calling
    See TestDlo.test_dlo_referer_on_segment_container in
    test/functional/ for proof that we still enforce segment
    container ACLs properly.
    Change-Id: I5321b5537787fcea126065243f1c4bd5e601181e
    Related-Change: Ib3b3830c246816dd549fc74be98b4bc651e7bace
  2. api-ref: update docs links

    tipabu committed Aug 30, 2017
    Change-Id: I83da881f82faf340d0e394c79f7e9d4df7f34b04
Commits on Aug 29, 2017
Commits on Aug 28, 2017
  1. Small readability change to test_keystoneauth

    psachin committed with matthewoliver Aug 26, 2017
    Changed assertTrue to assertIsNone for better readability
    Change-Id: Ibc83c32ccfb5165abf897a15cf2692414a7f95c3
    Signed-off-by: Sachin Patil <>
Commits on Aug 26, 2017
Commits on Aug 25, 2017
  1. Add probe test for ssync of unexpired metadata to an expired object

    alistairncoles committed with smerritt Apr 26, 2017
    Verify that metadata can be sync'd to a frag that has missed a POST
    and consequently that frag appears to be expired, when in fact the
    POST removed the X-Delete-At header.
    Tests the fix added by the Related-Change.
    Related-Bug: #1683689
    Related-Change: I919994ead2b20dbb6c5671c208823e8b7f513715
    Co-Authored-By: Clay Gerrard <>
    Change-Id: I9af9fc26098893db4043cc9a8d05d772772d4259
  2. Make X-Backend-Replication consistent for HEAD

    clayg committed Aug 25, 2017
    Current an X-Backend-Replication GET request for an expired object will
    still open the expired datafile and return the object, but HEAD request
    with the same headers will 404.  This can lead to some bad assumptions
    in probetests and other places where we make direct HEAD requests
    N.B. Because SSYNC replication does not make any HEAD requests this
    change is immaterial to the correctness of the consistency engine.
    Related-Change-Id: I7f90b732c3268cb852b64f17555c631d668044a8
    Change-Id: Idc01970b37d1b77e1d48f9c4f4979f63ee771093
  3. Fix DirectClientExceptions with utf-8 encoded paths

    clayg committed Aug 25, 2017
    Because the direct_client module uses the buffered_http module it's
    requests are already robust to receiving either unicode or utf-8 paths.
    The DirectClientException message however encodes the given path with
    the device key from a ring node - which having come from a json
    de-serialized ring will be a unicode type.  Despite the device key
    almost always being only ascii characters; python string interpolation
    with any unicode type will always force all binary strings to be
    converted to unicode - which will raise an error if any byte strings
    includes non-ascii characters.
    To maintain robustness in DirectClientException, when the provided path
    is not already unicode we decode the bytes as utf-8 before mixing them
    with the other unicode strings and then normalize everything back to a
    quoted utf-8 byte string.
    Change-Id: I162d2e093a3110856d6e1d513de3c7919079c9e7
  4. Tolerate swiftclient *not* mutatinng args

    tipabu committed Aug 25, 2017
    Change-Id: If82fe9e1d2da8c5122881f34dfbaaa7944c66265
    Related-Change: Ia1638c216eff9db6fbe416bc0570c27cfdcfe730
  5. Imported Translations from Zanata

    OpenStack Proposal Bot committed Aug 25, 2017
    For more information about this automatic import see:
    Change-Id: Ibd1ec2b671f10482daf20e7f53fa92b9527a828f
Commits on Aug 23, 2017
  1. Use more specific asserts in test/unit/account tests

    gaborantal committed Jul 15, 2016
    I changed asserts with more specific assert methods.
    e.g.: from assertTrue(sth == None) to assertIsNone(*) or
    assertTrue(isinstance(inst, type)) to assertIsInstace(inst, type) or
    assertTrue(not sth) to assertFalse(sth).
    The code gets more readable, and a better description will be shown on fail.
    Change-Id: Icdbf3c63fe8dd6db1129023885655a9f7032d4a7