Keystone's IANA-assigned default port in linux local ephemeral port range: [Errno 98] Address already in use
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Identity (keystone) |
Fix Released
|
Critical
|
Dolph Mathews | ||
devstack |
Fix Released
|
Undecided
|
Morgan Fainberg |
Bug Description
The linux ip port local range is 32768 to 61000 as reported by sysctl:
$ sysctl -a | grep ip_local_port_range
net.ipv4.
Keystone's default port as assigned by IANA is 35357. It is therefore possible that keystone will fail to start because some application has a socket open on port 35357. We believe this is the case logged at http://
To fix this devstack should shift the ephemeral port range to 49152 to 61000 to avoid IANA port allocations and to avoid linux private port ranges.
Additionally keystone should document this fact so that deployers are aware of this and know to work around the funny linux default range.
Changed in keystone: | |
assignee: | Dolph Mathews (dolph) → Joseph W. Breu (breu) |
Changed in keystone: | |
assignee: | Joseph W. Breu (breu) → William Kelly (the-william-kelly) |
assignee: | William Kelly (the-william-kelly) → Justin Shepherd (jshepher) |
summary: |
- Keystone default port in linux local ephemeral port range. Devstack - should shift range. + Keystone's IANA-assigned default port in linux local ephemeral port + range |
Changed in devstack: | |
assignee: | Clark Boylan (cboylan) → Joe Gordon (jogo) |
Changed in keystone: | |
assignee: | nobody → Dolph Mathews (dolph) |
status: | Triaged → In Progress |
Changed in keystone: | |
milestone: | none → juno-1 |
status: | Fix Committed → Fix Released |
summary: |
Keystone's IANA-assigned default port in linux local ephemeral port - range + range: [Errno 98] Address already in use |
Changed in keystone: | |
milestone: | juno-1 → 2014.2 |
Changed in devstack: | |
status: | In Progress → Fix Released |
Given that 35357 is keystone's IANA assigned port, I don't think it's reasonable to expect keystone to change ports in the short term. In the long term (after dropping API v2 support), keystone will be deployable on any one port. Using 35357 theoretically aids discoverability a tiny bit, but there are other means of discoverability that we can investigate in the future (such as RFC 2782).