-
Notifications
You must be signed in to change notification settings - Fork 9.8k
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
discoveryserver: implement a minimal discovery API on top of v3 APIs #10627
Conversation
Oh, and the reason I would like to put this in the tree here is because trying to vendor the v2store and v2v3 pkgs was a nightmare. |
afda038
to
eb72223
Compare
Everything is working and deployed here for demonstration purposes. My testing shows it works just fine: https://discovery.ifup.org/new |
@philips I skimmed this PR. Overall, looks reasonable good, just a few nits. |
Thanks!
Are the tests just always failing now? I feel the test failures are all
unrelated.
…On Sun, Apr 14, 2019 at 3:59 PM Xiang Li ***@***.***> wrote:
@philips <https://github.com/philips> I skimmed this PR. Overall, looks
reasonable good, just a few nits.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#10627 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AACDCKXuBQpT3iqVMtUfMdrzuKiwObBFks5vg7LigaJpZM4cojOd>
.
|
Codecov Report
@@ Coverage Diff @@
## master #10627 +/- ##
==========================================
+ Coverage 71.51% 71.94% +0.42%
==========================================
Files 394 406 +12
Lines 36658 36988 +330
==========================================
+ Hits 26217 26610 +393
+ Misses 8595 8479 -116
- Partials 1846 1899 +53
Continue to review full report at Codecov.
|
4b56423
to
c891b68
Compare
Signed-off-by: Gyuho Lee <[email protected]>
_config is part of the spec, fix this
This handles PUT/DELETE/GET via the v2v3 storage API.
With this commit hack/insta-discovery/discovery now works to spin up a three node cluster!
This is necessary for the watch behavior
The dockerfile needs the full tree context for vendor so put it in the root.
This makes it so watches work sufficient for a discovery client.
The CoreOS docs are no longer maintained. Point the home to the github docs on how to use the discovery service.
follow Go styling and lowercase all of the error messages
We don't want to continue on an unrecognized method, return from the function.
This could happen on all verbs, not just GET.
Include the verb to ease debugging. This was really annoying when trying to get the integration tests running again
Remove v2 specific stuff, and away it goes.
Add periodic GC proteted by a mutex in the server. Also add a simple integration test.
Replace with Kube instructions for discovery.etcd.io
staticcheck identified deprecated package and unused variables. Fix.
Ensure that the client is syncing with the known etcd machines regularly
Use a custom metrics registry so this program doesn't pickup all of the random guages registered via init functions in the rest of etcd.
The semaphore tests are bogus and this service is in production. Can someone help review and merge this? |
@philips I will give it a look over the weekend. |
@hexfusion @xiang90 can someone please give this a review so we can get this merged? |
Ping. This is both in production and in need of a code review. |
@philips I will take a look this week. |
@hexfusion Please help on this. This is implemented in a separate package, so it's pretty low risk. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
To make the etcd discovery service maintainable by the CNCF (coreos/discovery.etcd.io#63) we should make it easy to run on the v3 API and storage.
This discoveryserver package implements enough of the v2 API alongside the existing discovery.etcd.io API. I have tested it just now with the
hack/insta-discovery
bring-up script and it worked enough to do that.This PR is operating under a deadline. One of the AWS nodes that is running discovery.etcd.io is scheduled for deletion on April 16th. So, ideally I can get a Kubernetes cluster up, an etcd Operator backed etcd cluster, and this code all running by end of week.