Keystone token expiration time too short

Bug #1415635 reported by Ian Unruh
30
This bug affects 7 people
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
Confirmed
Medium
Mike Fedosin

Bug Description

The default Keystone token expiration time of 1 hour is too short. This affects internal operations for long-running processes, like Glance handling a large image upload when backed by Swift.

Revision history for this message
Ryan Moe (rmoe) wrote :

Can you provide logs from one of these failures? More details would also be helpful (Fuel version, how big of an image are you uploading, etc.).

Changed in fuel:
status: New → Incomplete
Revision history for this message
Ian Unruh (ianunruh) wrote :

Fuel 5.0.1

The environment impacted was using Swift as the backend for Glance. When an 100GB image was uploaded to Glance, it took more than an hour. Glance would stop just around the hour mark with this error:

ClientException: put_object('glance', 'xxx', ...) failure and no ability to reset contents for reupload.

On the Swift logs, the corresponding operation failed with a token authorization error. Smaller images that uploaded in less time worked just fine.

Revision history for this message
Stanislaw Bogatkin (sbogatkin) wrote :

Hi, Ian.
Could you, please, attach diagnostic snapshot to this bug?

Changed in fuel:
assignee: nobody → Fuel Library Team (fuel-library)
Changed in fuel:
importance: Undecided → Medium
Revision history for this message
Bogdan Dobrelya (bogdando) wrote :

Perhaps, the description given in the comment #2 should be enough for confirmation of this bug, even if diagnostic logs snapshot cannot be provided for some reason. Please do not expire this bug as incomplete

Revision history for this message
Vladimir Kuklin (vkuklin) wrote :

I think this bug is Invalid for FUEL project and should be fixed in OpenStack code - there is no point in increasing token life limit as it actually does not solve the problem - Client should request token again if it expired. Otherwise we introduce major security flaw here allowing someone to steal and use a token for a long time

Revision history for this message
Vladimir Kuklin (vkuklin) wrote :

According to discussion with glance contributors - this is not FUEL bug, but rather swift client bug. Removing fuel project from it.

Changed in mos:
status: New → Confirmed
no longer affects: fuel
Changed in mos:
importance: Undecided → Medium
Revision history for this message
Alexander Tivelkov (ativelkov) wrote :

My understanding is that this is indeed some swift-related issue. Glance is not aware about internal swift communication: it just makes a single call to swift and pushes a data stream to it. At the moment when the code is made the token is valid. Its invalidation during the long request should be addressed within swift.

no longer affects: fuel/6.1.x
no longer affects: fuel/6.0.x
no longer affects: fuel/5.1.x
no longer affects: fuel/5.0.x
Changed in mos:
milestone: none → 7.0
assignee: nobody → MOS Swift (mos-swift)
Revision history for this message
Alexey Khivin (akhivin) wrote :

As i understand Glance uploads (maybe via Swift client) large files by chunks. Every new chunk it is the new connection to the Swift authenticated using token. Thus when glance trying to upload next chunk using token which already expired then authentication fails

Revision history for this message
Alexey Khivin (akhivin) wrote :

Glance should get new token when trying to upload new chunk. As I understand, it will be implemented in the future versions of glance driver

Changed in mos:
assignee: MOS Swift (mos-swift) → Mike Fedosin (mfedosin)
tags: added: customer-found
Roman Rufanov (rrufanov)
tags: added: support
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.