Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Aug 23, 2014
  1. @notmyname

    added Alex to AUTHORS

    notmyname authored
    Change-Id: I2d147415e65c0f19159b995fc4eca78e075537b6
  2. @openstack-gerrit

    Merge "authors and changelog updates for 2.1.0 release"

    Jenkins authored openstack-gerrit committed
  3. @openstack-gerrit

    Merge "Multithread optimization for object updater"

    Jenkins authored openstack-gerrit committed
Commits on Aug 22, 2014
  1. @notmyname

    authors and changelog updates for 2.1.0 release

    notmyname authored
    Change-Id: I457674f564dcacf0fd20004e9a3bb85113f53aa5
  2. @openstack-gerrit

    Merge "Let admins add a region without melting their cluster"

    Jenkins authored openstack-gerrit committed
  3. @openstack-gerrit

    Merge "Respect device weights when adding replicas"

    Jenkins authored openstack-gerrit committed
  4. @openstack-gerrit

    Merge "Remove fake _get_part and use the real thing"

    Jenkins authored openstack-gerrit committed
Commits on Aug 21, 2014
  1. @openstack-gerrit
  2. @smerritt

    Let admins add a region without melting their cluster

    smerritt authored
    Prior to this commit, swift-ring-builder would place partitions on
    devices by first going for maximal dispersion and breaking ties with
    device weight. This commit flips the order so that device weight
    trumps dispersion.
    
    Note: if your ring can be balanced, you won't see a behavior
    change. It's only when device weights and maximal-dispersion come into
    conflict that this commit changes anything.
    
    Example: a cluster with two regions. Region 1 has a combined weight of
    1000, while region 2 has a combined weight of only 400. The ring has 3
    replicas and 2^16 partitions.
    
    Prior to this commit, the balance would look like so:
    
      Region 1: 2 * 2^16 partitions
      Region 2: 2^16 partitions
    
    After this commit, the balance will be:
    
      Region 1: 10/14 * 2^16 partitions  (more than before)
      Region 2: 4/14 * 2^16 partitions  (fewer than before)
    
    One consequence of this is that some partitions will not have a
    replica in region 2, since it's not big enough to hold all of them.
    
    This way, a cluster operator can add a new region to a single-region
    cluster in a gradual fashion so as not to destroy their WAN link with
    replication traffic. As device weights are increased in the second
    region, more replicas will shift over to it. Once its weight is half
    that of the first region's, every partition will have a replica there.
    
    DocImpact
    
    Change-Id: I945abcc4a2917bb12be554b640f7507dd23cd0da
Commits on Aug 20, 2014
  1. @openstack-gerrit

    Merge "Shard expiring object container"

    Jenkins authored openstack-gerrit committed
  2. @smerritt

    Respect device weights when adding replicas

    smerritt authored
    Previously, any new (partition, replica) pairs created by adding
    replicas were spread evenly across the whole ring. Now it respects
    device weights, so more (partition, replica) pairs are placed on
    higher-weight devices.
    
    Note that this only affects partition assignment *when the replica
    count is increased*. Normal adding of disks without changing the
    replica count is, and was, just fine.
    
    The cause was that the devices' parts_wanted values weren't being
    updated when the replica count went up. Since adding replicas makes
    more things to assign, each device's desired share should have gone
    up, but it didn't. This appears to be a simple oversight on the part
    of the original author (me).
    
    Change-Id: Idab14be90fab243c1077a584396a9981a4bd8638
Commits on Aug 19, 2014
  1. @openstack-gerrit

    Merge "Update tempurl docstring with methods config option"

    Jenkins authored openstack-gerrit committed
  2. @peluse

    Fix sporadic false failure in xprofile unit test code (master)

    peluse authored
    Same fix as is going through on feature/ec, fixed it there first
    as it was happening often and no point in waiting until EC is
    complete before getting it over to master...
    
    Appears that what's been happening on feature/ec lately
    with a middleware failure has to do with a hardcoded PID in
    the test code itself causing a profile file to exist when
    its not expected to by the test.
    
    Test code used a PID of 135 and based on how get_logfiles()
    is written, any real PID that starts with 135 will cause a
    false failure in test_call().  This can be seen via inspection
    and confirmed in logfiles where all captured assertions show
    a profile filename beginning with 135.  Tried getting smarter
    about choosing a fake PID (int) but then decided it was 100%
    safe to use 'ABC' for this test since that'll never show up!
    
    Change-Id: I958f1525c2727b3fb3f533242fa509fa8e59926c
Commits on Aug 18, 2014
  1. @notmyname

    add the account management config values to swift info

    notmyname authored
    added account_autocreate and allow_account_management to
    the /info endpoint
    
    Change-Id: I4b239c9cefb728c3c93bf75cad065c72edf2fc0a
Commits on Aug 16, 2014
  1. @openstack-gerrit

    Merge "Fix object auditor recon and logging"

    Jenkins authored openstack-gerrit committed
Commits on Aug 15, 2014
  1. @openstack-gerrit

    Merge "Sleep for longer at a time in lock_path."

    Jenkins authored openstack-gerrit committed
  2. @openstack-gerrit

    Merge "Add timestamp checking in AccountBroker.is_status_deleted"

    Jenkins authored openstack-gerrit committed
  3. @dpgoetz

    Shard expiring object container

    dpgoetz authored
    All the expiring objects for a given X-Delete-At are funnelled into the
    same expiring object container- this can act as a bottleneck.
    
    Change-Id: I288a177a7ae3e213c727a2a81fa76d4ef9cf7eb3
  4. @openstack-gerrit

    Merge "Add a env var to use in-memory obj server in func"

    Jenkins authored openstack-gerrit committed
  5. @openstack-gerrit

    Merge "Increase Account Auditor Test Code Coverage"

    Jenkins authored openstack-gerrit committed
Commits on Aug 14, 2014
  1. @dpgoetz

    Sleep for longer at a time in lock_path.

    dpgoetz authored
    When lock_path is called and the lock goes for the whole 10 seconds,
    the flock is called 1000 times. With this patch, the short 0.01 sleep
    is used for the first 1% of the total lock time and then 1% of the
    total lock time is used.
    
    Change-Id: Ibed6bdb49bddcdb868742c41f86d2482a7edfd29
  2. @openstack-gerrit

    Merge "Catch permissions errors when writing StatsD packets"

    Jenkins authored openstack-gerrit committed
  3. @openstack-gerrit

    Merge "Add POST and DELETE to tempurl default methods"

    Jenkins authored openstack-gerrit committed
Commits on Aug 12, 2014
  1. @notmyname

    Catch permissions errors when writing StatsD packets

    notmyname authored
    Closes-Bug: #1183152
    
    Change-Id: I4b2c6e947241c987779a385fdff270d037470a57
  2. @kajinamit

    Add timestamp checking in AccountBroker.is_status_deleted

    kajinamit authored
    Account-reaper works only at account-server with the first replica, and reaps
    account with "deleted" status.
    
    On the other hand, account-replicator doesn't replicate the status, only
    replicates *_timestamp.
    When swift fails to delete the first account replica, account-reaper never
    reaps the account, because the first replica never gets marked as "deleted".
    
    This patch adds a timestamp checking into is_status_deleted method, and
    account-reaper will start to reap the account after account-replicator
    replicates *_timestamp.
    
    Change-Id: I75e3f15ad217a71b4fd39552cf6db2957597efca
    Closes-Bug: #1304755
Commits on Aug 11, 2014
  1. @thiagodasilva

    fix to handle object-expiration headers in one method

    thiagodasilva authored
    There was some duplication of code in both POST and PUT
    methods to handle object-expiration headers.
    A method was created to remove this duplication,
    which should help with maintainability of code.
    
    Change-Id: I85cc4a7b0d688760c97598d80b9e9a39288c5f34
    Signed-off-by: Thiago da Silva <thiago@redhat.com>
Commits on Aug 7, 2014
  1. Update tempurl docstring with methods config option

    Alistair Coles authored
    Adds a description of the methods config option to the
    docstring.
    
    Also fixes description of swift.source value and a
    couple of other typos.
    
    Change-Id: If3489087df020536ff663ffe4e249c300ea2d506
  2. @smerritt

    Add POST and DELETE to tempurl default methods

    smerritt authored Alistair Coles committed
    The tempurl middleware supports any configured HTTP methods, but the
    default set was only GET, PUT, and HEAD, so cluster operators had to
    take action to enable POST and DELETE. This commit changes the
    defaults to include POST and DELETE.
    
    Note that this doesn't affect any existing temporary URLs at all; the
    method is baked into the signature (temp_url_sig query param), so no
    new access is granted to a holder of a temporary URL by this
    change. It simply gives more flexibility to creators of temporary
    URLs.
    
    Change-Id: I5bc15bbd2968ab7bedcd7c0df10f2ec825537191
Commits on Aug 6, 2014
  1. @openstack-gerrit

    Merge "Changed several files to be Python3 friendly"

    Jenkins authored openstack-gerrit committed
  2. @openstack-gerrit

    Merge "Remove old DLO config remenents from proxy"

    Jenkins authored openstack-gerrit committed
  3. @openstack-gerrit

    Merge "Swift configuration parameter audit"

    Jenkins authored openstack-gerrit committed
  4. @openstack-gerrit

    Merge "Make swift-form-signature output a sample form"

    Jenkins authored openstack-gerrit committed
  5. @openstack-gerrit

    Merge "Make swift-form-signature testable"

    Jenkins authored openstack-gerrit committed
  6. @matthewoliver

    Remove old DLO config remenents from proxy

    matthewoliver authored
    Config items 'rate_limit_after_segment' and
    'rate_limit_segments_per_sec' are configuration items left over from
    before DLO was moved from the proxy server and into it's own
    middleware. This change removes the configuration options from the
    proxy server.
    
    Change-Id: Ie3d42a57cda813feed019f01db986f13cdff9c31
  7. @matthewoliver

    Swift configuration parameter audit

    matthewoliver authored
    This change is the result of an audit through the config parameters
    provided by swift and how/if they are addressed in the swift
    documentation. The documentation being the sample config files in
    the /etc directory or the documentation.
    
    This change is only concerned with the config files in etc/ next
    I will look at the documentation in the doc/ folder.
    
    This change makes the following assumptions:
      - Unless stated otherwise, the commented out parameter in the
        sample configuration is the default for swift.
    
      - When the default in the code differs from that of the sample
        configuration, the default in the code is correct.
    
    Container reconciler:
      Parameter: interval
        - code: 30
        - config: 300
      Result: config = 30
    
    Object Expirer:
      Parameter: recon_cache_path
        - code: /var/cache/swift
        - config: Parameter missing
      Result: Add parameter
    
    swift-dispersion-populate && swift-dispersion-report
      Parameter: auth_version
        - code: 1.0
        - config: 2.0 (due to being a confusing example of how to setup
                       version 2.0).
      Result: Added 'auth_version = 1.0' to the right section (showing
              default and make the sample configuration for auth version
              2.0 easier to understand.
    
    swift-drive-audit:
      Parameter: log_file_pattern
        - code: /var/log/kern.*[!.][!g][!z]
        - config: /var/log/kern*
      Result: config = /var/log/kern.*[!.][!g][!z]
    
      NOTE: swift-drive-audit uses a parameter called device_dir which
            defaults to '/srv/node'. In all other swift binaries/services
            there is a similar parameter called devices which stores the
            same thing. This is an inconsistency which I haven't fixed
            as this could break existing swift clusters out in the wild.
    
    Proxy Server:
      Parameter: object_chunk_size
        - code: 65536
        - config: 8192
      Result: config = 65536
    
      Parameter: client_chunk_size
        - code: 65536
        - config: 8192
      Result: config = 65536
    
      Parameter: strict_cors_mode
        - code: True
        - config: No parameter
      Result: config = True
    
    Account and Container replicator configuration confusion:
      NOTES:
        The account and container replicators have parameters:
          - interval
          - run_pause
    
        Both of these are loaded into the same variable in code:
          self.interval = int(conf.get('interval') or
                              conf.get('run_pause') or 30)
    
        If a user sets both to different values then interval is used.
      Result: Update the configuration to make this more clear.
    
    DocImpact
    Change-Id: Iaadbb1a6284f8b3e0801bc343b29772f70f4bf6e
Something went wrong with that request. Please try again.