Kristoffer Dalby
83769ba715
Replace database locks with transactions ( #1701 )
...
This commits removes the locks used to guard data integrity for the
database and replaces them with Transactions, turns out that SQL had
a way to deal with this all along.
This reduces the complexity we had with multiple locks that might stack
or recurse (database, nofitifer, mapper). All notifications and state
updates are now triggered _after_ a database change.
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2024-02-08 17:28:19 +01:00
Kristoffer Dalby
3b103280ef
implement selfupdate and pass expiry ( #1647 )
2024-01-05 10:41:56 +01:00
Kristoffer Dalby
054b06d45d
add 1.54 and 1.56 to integration tests ( #1652 )
...
* add 1.54 and 1.56 to integration tests
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
* fix bug where we tested random versions, now sorted
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
---------
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2024-01-02 10:41:40 +01:00
Kristoffer Dalby
f65f4eca35
ensure online status and route changes are propagated ( #1564 )
2023-12-09 18:09:24 +01:00
Andrei Pechkurov
6c9c55774b
Update xsync to v3.0.2 ( #1597 )
...
Co-authored-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-11-29 15:47:14 +01:00
Kristoffer Dalby
a59aab2081
Remove support for non-noise clients (pre-1.32) ( #1611 )
2023-11-23 08:31:33 +01:00
Kristoffer Dalby
fb4ed95ff6
Upgrade Go 1.21, Tailscale 1.50 and add Capability version support ( #1563 )
2023-09-28 12:33:53 -07:00
Kristoffer Dalby
9ccf87c566
add lock around saving ts clients
...
Closes #1544
Co-Authored-By: Patrick Huang <huangxiaoman@gmail.com>
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-09-19 10:20:21 -05:00
Kristoffer Dalby
2434d76ade
give ci more tollerance for timeouts
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-09-19 10:20:21 -05:00
Kristoffer Dalby
1766e6b5df
General fixups discovered by checking errors
...
There was a lot of tests that actually threw a lot of errors and that did
not pass all the way because we didnt check everything. This commit should
fix all of these cases.
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-09-05 08:47:43 +02:00
Kristoffer Dalby
f8a58aa15b
introduce a version subset we must test against
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-09-05 08:47:43 +02:00
Kristoffer Dalby
b4a4d0f760
Handle errors in integration test setups
...
Thanks @kev-the-dev
Closes #1460
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-09-05 08:47:43 +02:00
Kristoffer Dalby
14e29a7bee
create DB struct
...
This is step one in detaching the Database layer from Headscale (h). The
ultimate goal is to have all function that does database operations in
its own package, and keep the business logic and writing separate.
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-05-26 12:24:50 +02:00
Kristoffer Dalby
52ad138c32
update dependency path for integration
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-05-10 20:47:51 +02:00
Kristoffer Dalby
b23a9153df
trim dockerfiles, script to rebuild test images ( #1403 )
2023-05-02 10:51:30 +01:00
Kristoffer Dalby
56dd734300
Add go profiling flag, and enable on integration tests ( #1382 )
2023-04-27 16:57:11 +02:00
Juan Font
9836b097a4
Make sure all clients of a user are ready ( #1335 )
2023-04-12 09:25:51 +02:00
Juan Font
6eea96eabc
Added 1.38.4 in the new tests
2023-04-07 19:45:46 +02:00
Kristoffer Dalby
e65ce17f7b
Add documentation to integration test framework
...
so tsic, hsic and scenario
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-02-03 16:25:58 +01:00
Kristoffer Dalby
c39085911f
Add node expiry test
...
This commits adds a test to verify that nodes get updated if a node in
their network expires.
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-02-03 09:26:22 +01:00
Kristoffer Dalby
727d95b477
Improve generated integration tests
...
- Save logs from control(headscale) on every run to tmp
- Upgrade nix-actions
- Cancel builds if new commit is pushed
- Fix a sorting bug in user command test
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-01-30 14:43:03 +01:00
Juan Font
9714900db9
Target Tailscale 1.36.0
2023-01-26 07:50:03 +01:00
Kristoffer Dalby
90287a6735
gofumpt
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-01-18 15:40:04 +01:00
Kristoffer Dalby
e3a2593344
Rename [Nn]amespace -> [Uu]ser in go code
...
Use gopls, ag and perl to rename all occurances of Namespace
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2023-01-18 15:40:04 +01:00
Juan Font
55a3885614
Added integration tests for ephemeral nodes
...
Fetch the machines from headscale
2023-01-05 14:59:02 +01:00
Even Holthe
6de26b1d7c
Remove Tailscale v1.18.2 from test matrix
2023-01-02 16:06:12 +01:00
Juan Font
2494e27a73
Make WaitForTailscaleLogout a Scenario method
2022-12-22 20:02:18 +01:00
Juan Font Alonso
2bf576ea8a
Disable Tailscale 1.16 in integration tests
2022-12-09 19:11:24 +01:00
Kristoffer Dalby
7b8cf5ef1a
Add 1.34.0 to integration tests
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-12-05 20:41:15 +01:00
Kristoffer Dalby
3695284286
Make simple initial test case
...
This commit makes the initial SSH test a bit simpler:
- Use the same pattern/functions for all clients as other tests
- Only test within _one_ namespace/user to confirm the base case
- Use retry function, same as taildrop, there is some funky going on
there...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-11-26 11:53:31 +01:00
Juan Font
9269dd01f5
Move Tailscale old versions to TS2019 list
2022-11-14 23:06:30 +01:00
Kristoffer Dalby
835288d864
Remove unused variable
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-11-14 16:50:28 +01:00
Kristoffer Dalby
93d56362af
Lock and unify headscale start/get method
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-11-14 16:50:28 +01:00
Kristoffer Dalby
d479234058
Split ts versions into 2019/2021 for dedicated tests later
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-11-14 16:50:28 +01:00
Kristoffer Dalby
456479eaa1
Rename and move wait for headscale
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-11-14 16:50:28 +01:00
Kristoffer Dalby
9bc6ac0f35
Make TLS setup work automatically
...
This commit injects the per-test-generated tls certs into the tailscale
container and makes sure all can ping all. It does not test any of the
DERP isolation yet.
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-11-14 16:50:28 +01:00
Juan Font Alonso
9989657c0f
Wait for tailscale client to be ready after tailscale up
2022-11-13 18:30:00 +01:00
Kristoffer Dalby
d8c856e602
Add basic accept all acl to all test as example
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-11-03 12:53:00 +01:00
Kristoffer Dalby
4f9fe93146
golangci-lint --fix
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-11-03 12:53:00 +01:00
Kristoffer Dalby
7155b22043
Factor out some commonly used patterns
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-10-23 12:41:35 +02:00
Kristoffer Dalby
d706c3516d
Remove 1.16 from FQDN, bump 1.32.1
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-10-23 11:50:19 +02:00
Kristoffer Dalby
c9823ce347
Use TailscaleClient interface instead of tsic
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-10-21 13:17:54 +02:00
Kristoffer Dalby
6d8c18d4de
Fix golangcilint
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-10-18 15:37:11 +02:00
Kristoffer Dalby
12ee9bc02d
Fix golangcilint
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-10-18 15:37:11 +02:00
Kristoffer Dalby
36ad0003a9
golangci-lint --fix
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-10-18 15:37:11 +02:00
Kristoffer Dalby
0db608a7b7
Add tailscale versions, waiters and helpers for scenario
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-10-18 15:37:11 +02:00
Kristoffer Dalby
25e39d9ff9
Add get ips command to scenario
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-10-18 15:37:11 +02:00
Kristoffer Dalby
f109b54e79
Join test suite container to network, allowing seperate networks
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-10-18 15:37:11 +02:00
Kristoffer Dalby
a9c3b14f79
Define a "scenario", which is a controlserver with nodes
...
Signed-off-by: Kristoffer Dalby <kristoffer@tailscale.com>
2022-10-18 15:37:11 +02:00