Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch iperf3 to generate a new client every time it runs a test #29495

Merged
merged 3 commits into from Dec 5, 2019

Conversation

@rohankapoorcom
Copy link
Member

rohankapoorcom commented Dec 5, 2019

Description:

Generates a new Iperf3 client every time one is needed, rather than re-using the existing one. There is a race condition in the existing implementation because both the upload/download sensors start updating at the same time using the same client. Rather than saving and reusing two unique clients, it seems better to regenerate when we need to use one. Thanks to @dooz127 for tracing down the root cause.

I also added myself to CODEOWNERS for iperf3 since I have been maintaining it.

Related issue (if applicable): fixes #22163

Pull request with documentation for home-assistant.io (if applicable): home-assistant/home-assistant.io#<home-assistant.io PR number goes here>

Example entry for configuration.yaml (if applicable):

iperf3:
  hosts:
    - host: bouygues.iperf.fr
  monitored_conditions:
    - download
    - upload

Checklist:

  • The code change is tested and works locally.
  • Local tests pass with tox. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
  • Untested files have been added to .coveragerc.

If the code does not interact with devices:

  • Tests have been added to verify that the new code works.
@balloob
balloob approved these changes Dec 5, 2019
Dev automation moved this from Needs review to Reviewer approved Dec 5, 2019
@balloob balloob merged commit b2d5de6 into home-assistant:dev Dec 5, 2019
5 of 9 checks passed
5 of 9 checks passed
CI (FullCheck Pylint) FullCheck Pylint failed
Details
CI (Tests PyTest Python36) Tests PyTest Python36 failed
Details
CI (Tests PyTest Python37) Tests PyTest Python37 failed
Details
CI in progress
Details
CI (FullCheck Mypy) FullCheck Mypy succeeded
Details
CI (Overview CheckFormat) Overview CheckFormat succeeded
Details
CI (Overview Lint) Overview Lint succeeded
Details
CI (Overview Validate) Overview Validate succeeded
Details
cla-bot Everyone involved has signed the CLA
Dev automation moved this from Reviewer approved to Done Dec 5, 2019
@dooz127

This comment has been minimized.

Copy link

dooz127 commented Dec 5, 2019

Awesome. Works when I manually call the service and my latest update.

@rohankapoorcom rohankapoorcom deleted the rohankapoorcom:fix-iperf3 branch Dec 5, 2019
@lock lock bot locked and limited conversation to collaborators Dec 6, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Dev
  
Done
4 participants
You can’t perform that action at this time.