swift-account-audit displays AttributeError stacktrace on 404

Bug #1266636 reported by clayg on 2014-01-07
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Low
Roman Vasilets

Bug Description

It's not that bad, but when an object response gives a 404, there's a bit of traceback:

      Bad status HEADing object "/AUTH_test/ँ툎댎᠂툐蔉㜃툎᠄툎᠂鐉/嘇᠂☃ऀ툏蔊㜄ं嘆᠃鐋ः᠁鐉" on 127.0.0.1/sdb1
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/eventlet/greenpool.py", line 80, in _spawn_n_impl
        func(*args, **kwargs)
      File "/mnt/workspace/swift/bin/swift-account-audit", line 134, in audit_object
        if resp.getheader('ETag').strip('"') != hash:
    AttributeError: 'NoneType' object has no attribute 'strip'

I just ran functests, rm -fr /srv/node1/sdb1/, and swift-account-audit AUTH_test on my saio.

Also the usage example could probably use an update to drop the SOSO reference, and maybe convert opt parsing to optparse.

Kun Huang (academicgareth) wrote :

I think we could add a directory, for example bin_script, at <swift-repo>/test/ to prevent some tiny mistakes like this.

Changed in swift:
assignee: nobody → Daisuke Matsui (nanodayo)
Filippo Giunchedi (filippo) wrote :

same here, confirmed

Changed in swift:
assignee: Daisuke Matsui (nanodayo) → nobody
Changed in swift:
assignee: nobody → Roman Vasilets (rvasilets)
Tim Burke (1-tim-z) wrote :

Wow... I never knew about that tool! It seems... not great?

Auditing account "AUTH_test"
Auditing container "c"
  Bad status HEADing object "/AUTH_test/c/s01" on 127.0.0.1/sdb2
  Bad status HEADing object "/AUTH_test/c/s01" on 127.0.0.1/sdb7
  Bad status HEADing object "/AUTH_test/c/s01" on 127.0.0.1/sdb1
  Bad status HEADing object "/AUTH_test/c/s01" on 127.0.0.1/sdb8
  Bad status HEADing object "/AUTH_test/c/s01" on 127.0.0.1/sdb6
  ETag mismatch for "/AUTH_test/c/s02" on 127.0.0.1/sdb7
  ETag mismatch for "/AUTH_test/c/s02" on 127.0.0.1/sdb7
  ETag mismatch for "/AUTH_test/c/s02" on 127.0.0.1/sdb7
  ETag mismatch for "/AUTH_test/c/s02" on 127.0.0.1/sdb7
  ETag mismatch for "/AUTH_test/c/s02" on 127.0.0.1/sdb7
  ETag mismatch for "/AUTH_test/c/s02" on 127.0.0.1/sdb7

Also, kinda confusing that we have both swift-account-audit and swift-account-auditor... time to revisit?

Changed in swift:
status: New → Confirmed
importance: Undecided → Low

Reviewed: https://review.openstack.org/508000
Committed: https://git.openstack.org/cgit/openstack/swift/commit/?id=4716d3da1188eb2f2971004461554b05d0061ec6
Submitter: Jenkins
Branch: master

commit 4716d3da1188eb2f2971004461554b05d0061ec6
Author: Tim Burke <email address hidden>
Date: Wed Sep 27 22:05:40 2017 +0000

    swift-account-audit: compare each etag to the hash from container

    ...rather than only comparing the ETag from the last response over and
    over again.

    NB: This tool *does not* like EC data :-(

    Change-Id: Idd37f94b07f607ab8a404dd986760361c39af029
    Closes-Bug: 1266636

Changed in swift:
status: Confirmed → Fix Released
Download full text (8.2 KiB)

Reviewed: https://review.openstack.org/511941
Committed: https://git.openstack.org/cgit/openstack/swift/commit/?id=ded0343892787e4a33eea7c4f0eb14a999ec63d8
Submitter: Jenkins
Branch: feature/deep

commit 407f5394f0f5cb422c06b4e5b2f9fbfdb07782d1
Author: OpenStack Proposal Bot <email address hidden>
Date: Thu Oct 12 08:12:38 2017 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

    Change-Id: I628cb09aa78d8e339b4762a3c9ed8aed43941261

commit 45ca39fc68cdb42b382c1638a92cc8d3cec5529a
Author: Clay Gerrard <email address hidden>
Date: Tue Oct 10 11:47:50 2017 -0700

    add mangle_client_paths to example config

    Change-Id: Ic1126fc95e8152025fccf25356c253facce3e3ec

commit 94bac4ab2fe65104d602378e8e49c37b8187a75d
Author: Tim Burke <email address hidden>
Date: Fri May 12 10:55:21 2017 -0400

    domain_remap: stop mangling client-provided paths

    The root_path option for domain_remap seems to serve two purposes:
     - provide the first component (version) for the backend request
     - be an optional leading component for the client request, which
       should be stripped off

    As a result, we have mappings like:

       c.a.example.com/v1/o -> /v1/AUTH_a/c/o

    instead of

       c.a.example.com/v1/o -> /v1/AUTH_a/c/v1/o

    which is rather bizarre. Why on earth did we *ever* start doing this?

    Now, this second behavior is managed by a config option
    (mangle_client_paths) with the default being to disable it.

    Upgrade Consideration
    =====================

    If for some reason you *do* want to drop some parts of the
    client-supplied path, add

       mangle_client_paths = True

    to the [filter:domain_remap] section of your proxy-server.conf. Do this
    before upgrading to avoid any loss of availability.

    UpgradeImpact
    Change-Id: I87944bfbf8b767e1fc36dbc7910305fa1f11eeed

commit a4a5494fd2fe8a43a5d50a21a1951266cc7c4212
Author: Alistair Coles <email address hidden>
Date: Mon Oct 9 11:33:28 2017 +0100

    test account autocreate listing format

    Related-Change: Id3ce37aa0402e2d8dd5784ce329d7cb4fbaf700d
    Change-Id: I50c22225bbebff71600bea9158bda1edd18b48b0

commit 8b7f15223cde4c19fd9cbbd97e8ad79a1b4afa8d
Author: Alistair Coles <email address hidden>
Date: Mon Oct 9 10:06:19 2017 +0100

    Add example to container-sync-realms.conf.5 man page

    Related-Change: I0760ce149e6d74f2b3f1badebac3e36da1ab7e77

    Change-Id: I129de42f91d7924c7bcb9952f17fe8a1a10ae219

commit 816331155c624c444ed123bcab412821bd7854fb
Author: HCLTech-SSW <email address hidden>
Date: Fri Oct 6 01:37:34 2017 -0700

    Added the man page for container-sync-realms.conf

    Updated the comments of reviewers.

    Change-Id: I0760ce149e6d74f2b3f1badebac3e36da1ab7e77
    Closes-Bug: #1607026

commit 747b9d928624a3f44f1f9f0269489597cddc5997
Author: Jan Zerebecki <email address hidden>
Date: Wed Oct 4 21:14:03 2017 +0200

    Fix swift-ring-builder set_weight with >1 device

  ...

Read more...

tags: added: in-feature-deep

Fix proposed to branch: feature/s3api
Review: https://review.openstack.org/512283

Change abandoned by Alistair Coles (<email address hidden>) on branch: feature/s3api
Review: https://review.openstack.org/512283
Reason: I was just trying to get sensible topic

Download full text (23.2 KiB)

Reviewed: https://review.openstack.org/512277
Committed: https://git.openstack.org/cgit/openstack/swift/commit/?id=f94d6567a7e2e8b3ca1168b4a41c42c1ee371af5
Submitter: Zuul
Branch: feature/s3api

commit 24188beb81d39790034fa0902246163a7bf54c91
Author: Samuel Merritt <email address hidden>
Date: Thu Oct 12 16:13:25 2017 -0700

    Remove some leftover threadpool cruft.

    Change-Id: I43a1a428bd96a2e18aac334c03743a9f94f7d3e1

commit 1d67485c0b935719e0c8999eb353dfd84713add6
Author: Samuel Merritt <email address hidden>
Date: Fri Apr 15 12:43:44 2016 -0700

    Move all monkey patching to one function

    Change-Id: I2db2e53c50bcfa17f08a136581cfd7ac4958ada2

commit 407f5394f0f5cb422c06b4e5b2f9fbfdb07782d1
Author: OpenStack Proposal Bot <email address hidden>
Date: Thu Oct 12 08:12:38 2017 +0000

    Imported Translations from Zanata

    For more information about this automatic import see:
    https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

    Change-Id: I628cb09aa78d8e339b4762a3c9ed8aed43941261

commit 45ca39fc68cdb42b382c1638a92cc8d3cec5529a
Author: Clay Gerrard <email address hidden>
Date: Tue Oct 10 11:47:50 2017 -0700

    add mangle_client_paths to example config

    Change-Id: Ic1126fc95e8152025fccf25356c253facce3e3ec

commit 94bac4ab2fe65104d602378e8e49c37b8187a75d
Author: Tim Burke <email address hidden>
Date: Fri May 12 10:55:21 2017 -0400

    domain_remap: stop mangling client-provided paths

    The root_path option for domain_remap seems to serve two purposes:
     - provide the first component (version) for the backend request
     - be an optional leading component for the client request, which
       should be stripped off

    As a result, we have mappings like:

       c.a.example.com/v1/o -> /v1/AUTH_a/c/o

    instead of

       c.a.example.com/v1/o -> /v1/AUTH_a/c/v1/o

    which is rather bizarre. Why on earth did we *ever* start doing this?

    Now, this second behavior is managed by a config option
    (mangle_client_paths) with the default being to disable it.

    Upgrade Consideration
    =====================

    If for some reason you *do* want to drop some parts of the
    client-supplied path, add

       mangle_client_paths = True

    to the [filter:domain_remap] section of your proxy-server.conf. Do this
    before upgrading to avoid any loss of availability.

    UpgradeImpact
    Change-Id: I87944bfbf8b767e1fc36dbc7910305fa1f11eeed

commit a4a5494fd2fe8a43a5d50a21a1951266cc7c4212
Author: Alistair Coles <email address hidden>
Date: Mon Oct 9 11:33:28 2017 +0100

    test account autocreate listing format

    Related-Change: Id3ce37aa0402e2d8dd5784ce329d7cb4fbaf700d
    Change-Id: I50c22225bbebff71600bea9158bda1edd18b48b0

commit 8b7f15223cde4c19fd9cbbd97e8ad79a1b4afa8d
Author: Alistair Coles <email address hidden>
Date: Mon Oct 9 10:06:19 2017 +0100

    Add example to container-sync-realms.conf.5 man page

    Related-Change: I0760ce149e6d74f2b3f1badebac3e36da1ab7e77

    Change-Id: I129de42f91d7924c7bcb9952f17fe8a1a10ae219

commit 816331155c624c444ed123bcab412...

tags: added: in-feature-s3api
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers