swift-auth-create-account lets you create multiple users with same params but only single token exists causing problems on reset
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Fix Released
|
Undecided
|
Adam Jacob |
Bug Description
Steps to reproduce:
bc@ubuntu:
bc@ubuntu:
http://
bc@ubuntu:
Account: b1d452ee-
Containers: 0
Objects: 0
Bytes: 0
bc@ubuntu:
test|http://
b1d452ee-
bc@ubuntu:
http://
bc@ubuntu:
test|http://
test|http://
b1d452ee-
bc@ubuntu:
No account-auditor running
Stopping account-server pid: 2312 signal: 15
Stopping account-server pid: 2311 signal: 15
Stopping account-server pid: 2310 signal: 15
Stopping account-server pid: 2309 signal: 15
No container-auditor running
No container-
Stopping container-server pid: 2323 signal: 15
Stopping container-server pid: 2322 signal: 15
Stopping container-server pid: 2321 signal: 15
Stopping container-server pid: 2320 signal: 15
No container-updater running
No object-auditor running
Stopping object-server pid: 2342 signal: 15
Stopping object-server pid: 2341 signal: 15
Stopping object-server pid: 2340 signal: 15
Stopping object-server pid: 2335 signal: 15
No object-replicator running
No object-updater running
Stopping proxy-server pid: 2305 signal: 15
No account-replicator running
Stopping auth-server pid: 2303 signal: 15
No account-reaper running
[sudo] password for bc:
meta-data=/dev/sdb1 isize=1024 agcount=4, agsize=1310238 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=5240950, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
rsyslog start/running, process 2886
Restarting memcached: memcached.
bc@ubuntu:
Unable to increase file descriptor limit. Running as non-root?
Starting auth-server
Unable to increase file descriptor limit. Running as non-root?
Starting proxy-server
Unable to increase file descriptor limit. Running as non-root?
Starting account-server
Starting account-server
Starting account-server
Starting account-server
Unable to increase file descriptor limit. Running as non-root?
Starting container-server
Starting container-server
Starting container-server
Starting container-server
Unable to increase file descriptor limit. Running as non-root?
Starting object-server
Starting object-server
Starting object-server
Starting object-server
bc@ubuntu:
Account not found
Related branches
- Swift Core security contacts: Pending requested
-
Diff: 76 lines (+36/-8)2 files modifiedswift/auth/server.py (+28/-7)
test/unit/auth/test_server.py (+8/-1)
- Chuck Thier (community): Approve
-
Diff: 6866 lines (+2927/-890)40 files modifiedbin/st (+344/-134)
bin/swift-auth-add-user (+27/-15)
bin/swift-stats-populate (+2/-1)
bin/swift-stats-report (+22/-19)
doc/source/auth.rst (+1/-1)
doc/source/development_auth.rst (+484/-0)
doc/source/development_saio.rst (+8/-16)
doc/source/howto_cyberduck.rst (+2/-2)
doc/source/index.rst (+1/-0)
doc/source/misc.rst (+9/-0)
doc/source/overview_auth.rst (+16/-11)
etc/proxy-server.conf-sample (+6/-0)
setup.py (+1/-1)
swift/account/reaper.py (+1/-1)
swift/auth/server.py (+145/-85)
swift/common/client.py (+148/-75)
swift/common/direct_client.py (+40/-31)
swift/common/middleware/acl.py (+160/-0)
swift/common/middleware/auth.py (+80/-75)
swift/container/server.py (+7/-2)
swift/proxy/server.py (+140/-21)
test/functional/sample.conf (+15/-5)
test/functional/tests.py (+10/-6)
test/functionalnosetests/swift_testing.py (+51/-16)
test/functionalnosetests/test_account.py (+4/-3)
test/functionalnosetests/test_container.py (+229/-8)
test/functionalnosetests/test_object.py (+91/-0)
test/probe/test_account_failures.py (+30/-16)
test/probe/test_container_failures.py (+52/-52)
test/probe/test_object_async_update.py (+2/-2)
test/probe/test_object_handoff.py (+14/-15)
test/probe/test_running_with_each_type_down.py (+18/-9)
test/unit/auth/test_server.py (+128/-93)
test/unit/common/middleware/test_acl.py (+126/-0)
test/unit/common/middleware/test_auth.py (+149/-32)
test/unit/common/test_client.py (+6/-3)
test/unit/common/test_direct_client.py (+0/-1)
test/unit/container/test_server.py (+43/-0)
test/unit/obj/test_server.py (+22/-21)
test/unit/proxy/test_server.py (+293/-118)
affects: | nova → swift |
Changed in swift: | |
assignee: | nobody → Adam Jacob (adamhjk) |
Changed in swift: | |
status: | New → Fix Committed |
Changed in swift: | |
status: | Fix Committed → In Progress |
Changed in swift: | |
status: | Fix Committed → Fix Released |
The fix here is to look for a pre-existing user. If we find it, we re-use the UUID generated for that user, and update the password as needed.