-
Notifications
You must be signed in to change notification settings - Fork 113
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
go/oasis-test-runner/oasis: Add a keymanager replication test #2843
Conversation
Yawning
commented
Apr 15, 2020
•
edited
Loading
edited
- Add a basic replication test.
- Spin up a replica.
- Explicitly query the replica or something.
- Fix bugs.
- Oh my god, the key manager worker host doesn't support enclave rpc.
- Key manager client should support km->km.
- Fix the key manager grpc access control.
902f2b0
to
7a1c23d
Compare
Codecov Report
@@ Coverage Diff @@
## master #2843 +/- ##
==========================================
- Coverage 67.60% 67.57% -0.03%
==========================================
Files 349 350 +1
Lines 33796 33960 +164
==========================================
+ Hits 22849 22950 +101
- Misses 8009 8051 +42
- Partials 2938 2959 +21
Continue to review full report at Codecov.
|
22dbf25
to
7a1fa12
Compare
56785c9
to
2687d40
Compare
fc084c0
to
63d39f3
Compare
Well, replication works. The rust side simple encryption test client will panic when the query goes to the replica, but that's an orthogonal problem. Either this doesn't retry, or the retry logic is busted.
|
Rust part of the retry mechanism should work and is also covered in unit tests. Currently the Rust client will only retry three times though so depending on the situation this may not be enough. It could also be a problem with the round robin node selection policy. |
2a96f63
to
8e0b3c6
Compare
Access control forbidding replication may be more secure, but is not all that useful.
This fixture stuff is over-complication for what ostensibly was a KISS test harness, that will become even more of an overcomplicated nightmare once a poor damned soul makes policies specify more than just the keymanager runtime ID and serial number. Hopefully someone that's not me gets to have that particular honor.
It is likely prudent to bind the persisted master secret to the runtime ID. This change does so by including the key manager runtime ID as the AAD when sealing the master secret. This is backward incompatible with all current key manager instances as the existing persisted master secret will not decrypt.
3085711
to
5378569
Compare