Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

Fix errors when using default bind_addresses with replication/metrics listeners #4636

Merged
merged 5 commits into from
Feb 13, 2019

Conversation

richvdh
Copy link
Member

@richvdh richvdh commented Feb 13, 2019

Will probably make sense to look at the individual commits.

turns out it doesn't really support ipv6, so let's hack around that by only
listening on ipv4 by default.
I wanted to bring listen_tcp into line with listen_ssl in terms of returning a
list of ports, and wanted to check that was a safe thing to do - hence the
logging in `refresh_certificate`.

Also, pull the 'Synapse now listening' message up to homeserver.py, because it
was being duplicated everywhere else.
Fixes the "can't listen on 0.0.0.0" error. Also makes it more consistent with
what we do elsewhere.
@richvdh richvdh requested a review from a team February 13, 2019 12:01
@@ -153,9 +153,8 @@ def listen_metrics(bind_addresses, port):
from prometheus_client import start_http_server

for host in bind_addresses:
reactor.callInThread(start_http_server, int(port),
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no idea why this was doing a callInThread, incidentally.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, probably spurious

@codecov-io
Copy link

codecov-io commented Feb 13, 2019

Codecov Report

Merging #4636 into release-v0.99.1 will decrease coverage by <.01%.
The diff coverage is 70.58%.

@@                 Coverage Diff                 @@
##           release-v0.99.1    #4636      +/-   ##
===================================================
- Coverage            75.29%   75.28%   -0.01%     
===================================================
  Files                  338      338              
  Lines                34575    34579       +4     
  Branches              5654     5655       +1     
===================================================
+ Hits                 26032    26033       +1     
- Misses                6952     6957       +5     
+ Partials              1591     1589       -2

@@ -153,9 +153,8 @@ def listen_metrics(bind_addresses, port):
from prometheus_client import start_http_server

for host in bind_addresses:
reactor.callInThread(start_http_server, int(port),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, probably spurious

synapse/app/_base.py Outdated Show resolved Hide resolved
Co-Authored-By: richvdh <1389908+richvdh@users.noreply.github.com>
@richvdh richvdh merged commit 464c301 into release-v0.99.1 Feb 13, 2019
richvdh added a commit that referenced this pull request Feb 14, 2019
Synapse 0.99.1 (2019-02-14)
===========================

Features
--------

- Include m.room.encryption on invites by default ([\#3902](#3902))
- Federation OpenID listener resource can now be activated even if federation is disabled ([\#4420](#4420))
- Synapse's ACME support will now correctly reprovision a certificate that approaches its expiry while Synapse is running. ([\#4522](#4522))
- Add ability to update backup versions ([\#4580](#4580))
- Allow the "unavailable" presence status for /sync.
  This change makes Synapse compliant with r0.4.0 of the Client-Server specification. ([\#4592](#4592))
- There is no longer any need to specify `no_tls`: it is inferred from the absence of TLS listeners ([\#4613](#4613), [\#4615](#4615), [\#4617](#4617), [\#4636](#4636))
- The default configuration no longer requires TLS certificates. ([\#4614](#4614))

Bugfixes
--------

- Copy over room federation ability on room upgrade. ([\#4530](#4530))
- Fix noisy "twisted.internet.task.TaskStopped" errors in logs ([\#4546](#4546))
- Synapse is now tolerant of the `tls_fingerprints` option being None or not specified. ([\#4589](#4589))
- Fix 'no unique or exclusion constraint' error ([\#4591](#4591))
- Transfer Server ACLs on room upgrade. ([\#4608](#4608))
- Fix failure to start when not TLS certificate was given even if TLS was disabled. ([\#4618](#4618))
- Fix self-signed cert notice from generate-config. ([\#4625](#4625))
- Fix performance of `user_ips` table deduplication background update ([\#4626](#4626), [\#4627](#4627))

Internal Changes
----------------

- Change the user directory state query to use a filtered call to the db instead of a generic one. ([\#4462](#4462))
- Reject federation transactions if they include more than 50 PDUs or 100 EDUs. ([\#4513](#4513))
- Reduce duplication of ``synapse.app`` code. ([\#4567](#4567))
- Fix docker upload job to push -py2 images. ([\#4576](#4576))
- Add port configuration information to ACME instructions. ([\#4578](#4578))
- Update MSC1711 FAQ to calrify .well-known usage ([\#4584](#4584))
- Clean up default listener configuration ([\#4586](#4586))
- Clarifications for reverse proxy docs ([\#4607](#4607))
- Move ClientTLSOptionsFactory init out of `refresh_certificates` ([\#4611](#4611))
- Fail cleanly if listener config lacks a 'port' ([\#4616](#4616))
- Remove redundant entries from docker config ([\#4619](#4619))
- README updates ([\#4621](#4621))
@richvdh richvdh deleted the rav/bind_address_fixes branch February 20, 2019 11:54
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants