Opened 4 years ago

Closed 4 years ago

#14067 closed defect (fixed)

chutney verify doesn't verify bridge clients or hidden services

Reported by: teor Owned by: teor
Priority: Medium Milestone:
Component: Core Tor/Chutney Version: Tor: 0.2.6.2-alpha
Severity: Keywords: chutney testing SponsorR SponsorS
Cc: dgoulet, nickm Actual Points:
Parent ID: #14175 Points:
Reviewer: Sponsor:

Description

The current chutney verify implementation only verifies clients.

I have a patch that makes it verify bridge clients as well. (I'll post it soon.)

But I don't know how to verify a hidden service - particularly the one configured in the hs chutney network.

dgoulet, do you have any ideas?

Child Tickets

Change History (12)

comment:1 Changed 4 years ago by nickm

IMO, "verify" needs to become a part of a larger suite of tests to check what's working.

comment:2 Changed 4 years ago by teor

Owner: changed from nickm to teor
Status: newassigned

We can verify a hidden service using the existing chutney.Traffic.TrafficTester as long as the hidden service redirects requests to the TrafficTester's LISTEN_PORT.

I am working on this at the moment, but I still need to verify the code does what I think it should.

comment:3 Changed 4 years ago by teor

chutney can now verify hidden services and bridge clients.
But HSs take around 40-45 seconds to bootstrap, even after applying the changes in #13401.
BCs also take around 35 seconds to bootstrap.
This is compared to basic-min's 10 seconds (an ideal bootstrap time).

I fear this may be a repeat of the timing-debugging-monstrosity that was #13718.

Last edited 4 years ago by teor (previous) (diff)

comment:4 Changed 4 years ago by teor

#13401 reduces HS bootstrap times to 25 seconds, and contains the corresponding tor and chutney changes.

Unfortunately, bridge client bootstrap times are still around 35 seconds. I think we should be able to adjust these to 15-25 seconds. They can hardly be more complex than hidden services, can they?

comment:5 Changed 4 years ago by teor

Milestone: Tor: 0.2.7.x-final
Version: Tor: 0.2.6.2-alpha

This is not that important for 0.2.6.

comment:6 Changed 4 years ago by teor

Milestone: Tor: 0.2.7.x-finalTor: 0.2.6.x-final
Status: assignedneeds_review

Oops, let's do this the other way. Further bootstrap time improvements to #14034, the rest is ready for review in 0.2.6, branches in #13401.

comment:7 Changed 4 years ago by teor

Parent ID: #14034

comment:8 Changed 4 years ago by teor

Keywords: SponsorR SponsorS added

Hi Nick,

I've modified chutney to bring the bridge bootstrap time under 25 seconds.
I have reduced the following parameters:

  • Reduce ...DownloadSchedule (x5) to 0, 2
  • Reduce TestingClientMaxIntervalWithoutRequest to 1

I've also added an IPv6-only bridge network, to ensure we're not just falling back to IPv4.

chutney
Branch: bug-14067-faster-bridge-bootstrap
Repository: ​​​​​​​​​​https://github.com/teor2345/chutney.git

(No changes to tor are required.)

This means that tor's src/test/test-network.sh will bootstrap reliably with --flavour bridges+ipv6+hs with the default delay of 25 seconds.
This will verify data transmission from:

  • every client to an arbitrary exit,
  • every bridge client to an arbitrary exit, and
  • an arbitrary client or bridge client to every hidden service

Which paves the way for chutney-based performance testing in #14175.

Last edited 4 years ago by teor (previous) (diff)

comment:9 Changed 4 years ago by teor

Parent ID: #14034#14175

comment:10 Changed 4 years ago by nickm

Milestone: Tor: 0.2.6.x-final

(Chutney tickets don't go in Tor milestones)

comment:11 Changed 4 years ago by dgoulet

Is commit 0d350720ff8d3de2763ffb2ca55232b078693837 actually closes this issue?

Seems like chutney verify now can test HS.

comment:12 Changed 4 years ago by teor

Resolution: fixed
Status: needs_reviewclosed

Yes, I think we were waiting on testing/feedback/review, which you've just provided :-)

Note: See TracTickets for help on using tickets.