[SRU] swift client needs to use v1 auth prior to ocata
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
simplestreams |
Fix Released
|
Medium
|
David Ames | ||
simplestreams (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Xenial |
Won't Fix
|
Medium
|
Unassigned | ||
Artful |
Won't Fix
|
Medium
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Unassigned | ||
Disco |
Fix Released
|
Medium
|
Unassigned |
Bug Description
[Impact]
Users upgrading their environment by stages may see problems with the image synchronization when swift is left in mitaka (or newton) while other services have been upgraded to keystone, it's common for clouds where the API is availability is strict to do this kind of upgrades.
[Test Case]
* deploy openstack artful-pike except swift
juju deploy ./bundle.yaml # http://
* Add swift to the already deployed model
juju deploy ./swift.yaml # http://
* Once things have settled run the script /etc/cron.
juju ssh glance-
Expected result:
Images for xenial and trusty are uploaded available in glance (openstack image list)
Actual result:
The synchronization scripts fails due that it's not possible to authenticate with swift
[Potential Regression]
* This patch attempts to authenticate using v3 and falls back to v2, so environments where keystone is configured to authenticate using v2 AND v3 may see a change in the behavior where simplestreams will be silently preferring v3 over v2 while before this patch only v2 was being used.
[Other Info]
I talked with David today (thedac) and he mentioned that the support for adding keystone v3 auth to simplestreams glance sync has issues when using older swift clients.
The swift client lagged behind other openstack client libraries in gaining support for v3 auth.
Note: This bug does not affect xenial or zesty. They do not have the keystone v3 support yet, and the code submitted for SRU contains this fix.
Related bugs:
* bug 1686437: glance sync: need keystone v3 auth support
Related branches
- Server Team CI bot: Approve (continuous-integration)
- simplestreams-dev: Pending requested
-
Diff: 38 lines (+12/-4)2 files modifiedsimplestreams/objectstores/swift.py (+8/-3)
simplestreams/openstack.py (+4/-1)
- Rafael David Tinoco (community): Disapprove
- Bryce Harrington (community): Approve
- Felipe Reyes (community): Approve
- Edward Hope-Morley: Pending requested
-
Diff: 1851 lines (+1732/-11)10 files modifieddebian/changelog (+15/-0)
debian/patches/428-do-not-require-that-hypervisor_config-be-present.patch (+23/-0)
debian/patches/433-glance-ignore-inactive-images.patch (+42/-0)
debian/patches/435-glance-refactor-for-testing.patch (+853/-0)
debian/patches/436-glance-fix-race-conditions.patch (+479/-0)
debian/patches/450-453-454-keystone-v3-support.patch (+13/-10)
debian/patches/455-nova-lxd-support-squashfs-images.patch (+230/-0)
debian/patches/460-glance-handle-v2-auth-with-sessions.patch (+33/-0)
debian/patches/series (+8/-1)
debian/patches/skip-openstack-tests-if-no-libs.patch (+36/-0)
- Billy Olsen (community): Approve
- Scott Moser (community): Needs Resubmitting
- Felipe Reyes: Pending requested
- Eric Desrochers: Pending requested
-
Diff: 380 lines (+342/-0)6 files modifieddebian/changelog (+8/-0)
debian/patches/460-glance-handle-v2-auth-with-sessions.patch (+33/-0)
debian/patches/keystone-v3-1719879.patch (+35/-0)
debian/patches/keystone-v3-1728982.patch (+32/-0)
debian/patches/nova-lxd-support-squashfs-images.patch (+230/-0)
debian/patches/series (+4/-0)
- Rafael David Tinoco (community): Disapprove
- Billy Olsen (community): Approve
- Scott Moser (community): Needs Resubmitting
- Felipe Reyes (community): Approve
- Eric Desrochers: Pending requested
-
Diff: 1845 lines (+1729/-11)10 files modifieddebian/changelog (+12/-0)
debian/patches/428-do-not-require-that-hypervisor_config-be-present.patch (+23/-0)
debian/patches/433-glance-ignore-inactive-images.patch (+42/-0)
debian/patches/435-glance-refactor-for-testing.patch (+853/-0)
debian/patches/436-glance-fix-race-conditions.patch (+479/-0)
debian/patches/450-453-454-keystone-v3-support.patch (+13/-10)
debian/patches/455-nova-lxd-support-squashfs-images.patch (+230/-0)
debian/patches/460-glance-handle-v2-auth-with-sessions.patch (+33/-0)
debian/patches/series (+8/-1)
debian/patches/skip-openstack-tests-if-no-libs.patch (+36/-0)
description: | updated |
tags: | added: sts |
Changed in simplestreams (Ubuntu): | |
importance: | Undecided → Medium |
status: | New → Confirmed |
status: | Confirmed → Fix Committed |
Changed in simplestreams (Ubuntu Artful): | |
status: | New → Confirmed |
importance: | Undecided → Medium |
description: | updated |
description: | updated |
summary: |
- swift client needs to use v1 auth prior to ocata + [SRU] swift client needs to use v1 auth prior to ocata |
Changed in simplestreams (Ubuntu Artful): | |
status: | Confirmed → Won't Fix |
Changed in simplestreams: | |
status: | Confirmed → Fix Released |
Changed in simplestreams (Ubuntu Xenial): | |
status: | New → In Progress |
assignee: | nobody → Rafael David Tinoco (rafaeldtinoco) |
Changed in simplestreams (Ubuntu Disco): | |
status: | New → Fix Released |
Changed in simplestreams (Ubuntu Xenial): | |
importance: | Undecided → Medium |
Changed in simplestreams (Ubuntu Disco): | |
importance: | Undecided → Medium |
Changed in simplestreams (Ubuntu Xenial): | |
status: | In Progress → Won't Fix |
Changed in simplestreams (Ubuntu Bionic): | |
status: | Fix Released → In Progress |
Changed in simplestreams (Ubuntu Xenial): | |
assignee: | Rafael David Tinoco (rafaeldtinoco) → nobody |
Changed in simplestreams (Ubuntu Bionic): | |
assignee: | nobody → Rafael David Tinoco (rafaeldtinoco) |
Changed in simplestreams (Ubuntu Bionic): | |
assignee: | Rafael David Tinoco (rafaeldtinoco) → nobody |
status: | In Progress → Fix Released |
With swift client 3.0.0
Traceback (most recent call last): glance- simplestreams- sync/glance- simplestreams- sync.py" , line 471, in main sync(charm_ conf, status_exchange) glance- simplestreams- sync/glance- simplestreams- sync.py" , line 210, in do_sync e(SWIFT_ DATA_DIR) lib/python2. 7/dist- packages/ simplestreams/ objectstores/ swift.py" , line 76, in __init__ swiftclient = get_swiftclient (**conn_ info) lib/python2. 7/dist- packages/ simplestreams/ objectstores/ swift.py" , line 46, in get_swiftclient session= sess)
File "/usr/share/
do_
File "/usr/share/
store = SwiftObjectStor
File "/usr/local/
self.
File "/usr/local/
return Connection(
TypeError: __init__() got an unexpected keyword argument 'session'