Skip to content

Conversation

@AgeManning
Copy link
Member

Issue Addressed

#1483

Proposed Changes

Upgrades the log to a critical if a listener fails. We are able to listen on many interfaces so a single instance is not critical. We should however gracefully shutdown the client if we have no listeners, although the client can still function solely on outgoing connections.

For now a critical is raised and I leave #1494 for more sophisticated handling of this.

This also updates discv5 to handle errors of binding to a UDP socket such that lighthouse is now able to handle them.

@AgeManning
Copy link
Member Author

bors r+

bors bot pushed a commit that referenced this pull request Aug 10, 2020
## Issue Addressed

#1483 

## Proposed Changes

Upgrades the log to a critical if a listener fails. We are able to listen on many interfaces so a single instance is not critical. We should however gracefully shutdown the client if we have no listeners, although the client can still function solely on outgoing connections.

For now a critical is raised and I leave #1494 for more sophisticated handling of this. 

This also updates discv5 to handle errors of binding to a UDP socket such that lighthouse is now able to handle them.
paulhauner added a commit that referenced this pull request Aug 10, 2020
Squashed commit of the following:

commit fe3ecc0
Author: Age Manning <Age@AgeManning.com>
Date:   Mon Aug 10 13:59:29 2020 +1000

    Report port overlapping and failure to bind to user

commit d3dc6a9
Author: Age Manning <Age@AgeManning.com>
Date:   Mon Aug 10 12:01:27 2020 +1000

    Upgrade address conflict logs
@bors
Copy link

bors bot commented Aug 10, 2020

@bors bors bot changed the title Upgrade logs [Merged by Bors] - Upgrade logs Aug 10, 2020
@bors bors bot closed this Aug 10, 2020
bors bot pushed a commit that referenced this pull request Aug 11, 2020
## Issue Addressed

NA

## Proposed Changes

Adds support for using the [`cross`](https://github.com/rust-embedded/cross) project to produce cross-compiled binaries using Docker images.

Provides quite clean and simple cross-compiles cause all the complexity is hidden in Dockerfiles. It does require you to be in the `docker` group though.

## Details

- Adds shortcut commands to `Makefile`
- Ensures `reqwest` and `discv5` use vendored openssl libs (i.e., static not shared).
- Switches to a [commit](sigp/blst@284f705) of blst that has a renamed C function to avoid a collision with openssl (upstream issue: supranational/blst#21).
- Updates `ring` to the latest satisfiable version, since an earlier version was causing issues with `cross`.
- Off-topic, but adds extra message about Windows support as suggested by Discord user.

## Additional Info

- ~~Blocked on #1495~~
- There are no tests in CI for this yet for a few reasons:
  - I'm hesitant to add more long-running tasks.
  - Short-term bitrot should be avoided since we'll use it each release.
  - In the long term I think it would be good to automate binary creation on a release.
- I observed the binaries increase in size from 50mb to 52mb after these changes.
paulhauner pushed a commit that referenced this pull request Aug 12, 2020
## Issue Addressed

#1483 

## Proposed Changes

Upgrades the log to a critical if a listener fails. We are able to listen on many interfaces so a single instance is not critical. We should however gracefully shutdown the client if we have no listeners, although the client can still function solely on outgoing connections.

For now a critical is raised and I leave #1494 for more sophisticated handling of this. 

This also updates discv5 to handle errors of binding to a UDP socket such that lighthouse is now able to handle them.
paulhauner added a commit that referenced this pull request Aug 12, 2020
## Issue Addressed

NA

## Proposed Changes

Adds support for using the [`cross`](https://github.com/rust-embedded/cross) project to produce cross-compiled binaries using Docker images.

Provides quite clean and simple cross-compiles cause all the complexity is hidden in Dockerfiles. It does require you to be in the `docker` group though.

## Details

- Adds shortcut commands to `Makefile`
- Ensures `reqwest` and `discv5` use vendored openssl libs (i.e., static not shared).
- Switches to a [commit](sigp/blst@284f705) of blst that has a renamed C function to avoid a collision with openssl (upstream issue: supranational/blst#21).
- Updates `ring` to the latest satisfiable version, since an earlier version was causing issues with `cross`.
- Off-topic, but adds extra message about Windows support as suggested by Discord user.

## Additional Info

- ~~Blocked on #1495~~
- There are no tests in CI for this yet for a few reasons:
  - I'm hesitant to add more long-running tasks.
  - Short-term bitrot should be avoided since we'll use it each release.
  - In the long term I think it would be good to automate binary creation on a release.
- I observed the binaries increase in size from 50mb to 52mb after these changes.
@AgeManning AgeManning deleted the upgrade-logs branch August 18, 2020 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants