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

Colibri.integration test #49

Merged
merged 8 commits into from
Sep 30, 2021

Conversation

juagargi
Copy link
Owner

@juagargi juagargi commented Sep 30, 2021

  • Integration test
  • Fix use of transactions

This change is Reviewable

Similar to the end2end integration tests, this test will
attempt to make a reservation, send data using it, and
clean it up, for every AS pair.
When the remote AS is the same as the local one, it will do nothing.
Just added the basic skeleton for the test.
Calls been made to the colibri binary.
Dummy binary listing as server, but noop as client.
Create reservation, use it and clean it.
The client needs to see the response using colibri.
Fixed bug in cleanup store procedure: reservations with empty
paths are valid and expected.
Fixed e2e table printout.
Fixed CombineAll function when only using a down segment.
SQLITE3 doesn't like parallel write-transactions. It would spit out busy errors,
with an actual confusing "database is locked" message, when attempting to write with
two transactions at the same time.
The situation is patched by overriding the write functions (e.g. PersistSegRsv) at the
transaction level, and detecting if they return an sqlite3.ErrBusy.
If so, the transaction will create a new sql.Tx object, store the older one, and try again.
Added tests.
If no MaxOpenConns is specified for colibri, the default of 100 is used.
@juagargi juagargi merged this pull request into scionlab_colibri_feature Sep 30, 2021
@juagargi juagargi deleted the colibri.integration_test branch September 30, 2021 16:59
juagargi added a commit that referenced this pull request Oct 5, 2021
Colibri.header.doc (#22)
Add 'Original Payload Length' to Info Field.
Correct flag consistency checks.
colibri border router (#24)
simplify parsing. (#25)
Colibri.experiments (#27)
Performance changes, fixes and tests added for the NSDI paper.
Per-packet MAC: replace payload size input with total packet size input. Static and sigma MAC InputData: Remove HFCount input. Fix warnings in Colibri doc. (#26)
gRPC with COLIBRI primer (#28)
Colibri initiator (#29)
gRPC for COLIBRI (#30)
Replace ColibriService.md with ColibriDesign.rst
Resolve failing /go/pkg/gateway/control/fake:go_default_test
Fix linter errors.
Colibri.topology entry (#31)
Colibri.e2e.basic api (#33)
Colibri.move to co (#34)
Colibri.fix data plane (#35)
fix e2e mac computation, simplify. (#37)
For now use the static MAC computation also for E2E.
Add tests.
Colibri.extended api (#38)
Colibri.refactor (#39)
changes from review.
changes from review.
changes from review.
missing build file in go/co
Colibri.extended api (#40)
Colibri.cleanup (#41)
Colibri.review (#43)
Colibri.review (#44)
use a auto-freshen cache for the colibri listings in sciond (#45)
several fixes.
Colibri.remove todos (#46)
Colibri.admission list (#47)
Colibri.remove tod os (#48)
Colibri.integration test (#49)
remove stray deleteme
fixes.
local topos with 1Gbps capacity for colibry purposes
remove last deleteme.
juagargi added a commit that referenced this pull request Oct 15, 2021
* Colibri feature squashed.

Colibri.header.doc (#22)
Add 'Original Payload Length' to Info Field.
Correct flag consistency checks.
colibri border router (#24)
simplify parsing. (#25)
Colibri.experiments (#27)
Performance changes, fixes and tests added for the NSDI paper.
Per-packet MAC: replace payload size input with total packet size input. Static and sigma MAC InputData: Remove HFCount input. Fix warnings in Colibri doc. (#26)
gRPC with COLIBRI primer (#28)
Colibri initiator (#29)
gRPC for COLIBRI (#30)
Replace ColibriService.md with ColibriDesign.rst
Resolve failing /go/pkg/gateway/control/fake:go_default_test
Fix linter errors.
Colibri.topology entry (#31)
Colibri.e2e.basic api (#33)
Colibri.move to co (#34)
Colibri.fix data plane (#35)
fix e2e mac computation, simplify. (#37)
For now use the static MAC computation also for E2E.
Add tests.
Colibri.extended api (#38)
Colibri.refactor (#39)
changes from review.
changes from review.
changes from review.
missing build file in go/co
Colibri.extended api (#40)
Colibri.cleanup (#41)
Colibri.review (#43)
Colibri.review (#44)
use a auto-freshen cache for the colibri listings in sciond (#45)
several fixes.
Colibri.remove todos (#46)
Colibri.admission list (#47)
Colibri.remove tod os (#48)
Colibri.integration test (#49)
colibri command. (#50)
Colibri.adapt end2end integration (#51)
use end2end_integration to run colibri.
remove colibri_integration .
* extend validity check of colibri packet.
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.

1 participant