IPV6 for swift proxy cache memcached config is inconsistent with keystoneauth

Bug #1610064 reported by David Moreau Simard on 2016-08-05
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Wishlist
Unassigned

Bug Description

Keystone with memcached token caching uses python-memcached which has this parsing:
https://github.com/linsomniac/python-memcached/blob/0864fa4c50aeab49e1adb4551730fa0dacff4889/memcache.py#L1212

While Swift has this parsing:
https://github.com/openstack/swift/blob/e9f5e7966a064f7a675c71c059e8d3a9a48b8745/swift/common/utils.py#L119

The following would be the keystone config:
[keystone_authtoken]
memcached_servers=inet6:[::1]:11211

While this would be the swift cache config:
[filter:cache]
use = egg:swift#memcache
memcache_servers = [::1]:11211

This isn't really a bug, just wish the format (and the parameter name) was consistent, it'd be more straightforward.

summary: - Parsing of IPV6 for swift proxy cache memcached config is inconsistent
- with keystoneauth
+ IPV6 for swift proxy cache memcached config is inconsistent with
+ keystoneauth
Matthew Oliver (matt-0) wrote :

We could chance the re in swift to something like "^(inet6:)?\[(?P<address>.*)\](:(?P<port>[0-9]+))?$" so the 'inet6:' part it optional.. then we would support both forms.

Changed in swift:
importance: Undecided → Wishlist
status: New → Confirmed
Tim Burke (1-tim-z) wrote :

Couple notes:

* This would also impact the nameservers option for cname_lookup [1], but I don't really see it as a problem.
* We'll also need to tweak the startswith args in parse_socket_string [2].

[1] https://github.com/openstack/swift/blob/2.15.0/swift/common/middleware/cname_lookup.py#L100-L112
[2] https://github.com/openstack/swift/blob/2.15.0/swift/common/utils.py#L2199

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers