-
Notifications
You must be signed in to change notification settings - Fork 38.6k
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
Polymorphic Scale Client #53743
Polymorphic Scale Client #53743
Commits on Oct 19, 2017
-
[client-go] avoid Registry in fake REST client
Previously, the fake RESTClient in client-go required a Registry. It used the Registry to fetch the GroupVersion for the fake client. However, the way it did so was dubious in some cases (it hard-coded the default API group in places), and not strictly necssary. This updates the fake client to just recieve the GroupVersion and internal group name directly, instead of requiring a Registry, so that it can be consumed in unit tests where a Registry isn't necessarily readily available (e.g. elsewhere in client-go).
Configuration menu - View commit details
-
Copy full SHA for eac2049 - Browse repository at this point
Copy the full SHA eac2049View commit details -
[client-go] fake discovery returns server groups
The fake discovery client currently returns `nil, nil` for several methods. Among them is the `ServerGroups` method, which is used by the discovery REST mapper implementations. This updates the fake discovery client to actually return server groups so that the discovery REST mapper can be used in tests.
Configuration menu - View commit details
-
Copy full SHA for f83a196 - Browse repository at this point
Copy the full SHA f83a196View commit details -
[client-go] Polymorphic Scale Client
This introduces a polymorphic scale client capable of operating against scale subresources which return different group-versions of Scale. The scale subresources may be in group-versions different than the scale itself, so that we no longer need a copy of every scalable resource in the extensions API group. To discovery which Scale group-versions go to which subresources, discovery is used. The scale client maintains its own internal versions and conversions to several external versions, with a "hub" version that's a copy of the autoscaling internal version. It currently supports the following group-versions for Scale subresources: - extensions/v1beta1.Scale - autoscaling/v1.Scale
Configuration menu - View commit details
-
Copy full SHA for d61a2d9 - Browse repository at this point
Copy the full SHA d61a2d9View commit details -
Previously, we did not have custom code for fuzzing label selectors. Anything that used a label selector (like Scale) had to manually bypass fuzzing the selector, or write its own fuzzer. This introduces a fuzzer for label selectors which generates random correct selectors with random keys and values.
Configuration menu - View commit details
-
Copy full SHA for ef583ae - Browse repository at this point
Copy the full SHA ef583aeView commit details -
Update extensions fuzzer to use selector fuzzer
This removes the override on the extensions fuzzer so that extensions.Scale will use the full label selector fuzzer.
Configuration menu - View commit details
-
Copy full SHA for 3f51bab - Browse repository at this point
Copy the full SHA 3f51babView commit details -
Make HPA controller use polymorphic scale client
This updates the HPA controller to use the polymorphic scale client from client-go. This should enable HPAs to work with arbitrary scalable resources, instead of just those in the extensions API group (meaning we can deprecate the copy of ReplicationController in extensions/v1beta1). It also means that the HPA controller now pays attention to the APIVersion field in `scaleTargetRef` (more specifically, the group part of it). Note that currently, discovery information on which resources are available where is only fetched once (the first time that it's requested). In the future, we may want a refreshing discovery REST mapper.
Configuration menu - View commit details
-
Copy full SHA for d2b4112 - Browse repository at this point
Copy the full SHA d2b4112View commit details -
[make-rules] test grep should treat binary as text
The output of `go test` is passed throug a grep filter that's used when producing junit output. Unfortunately, when testing round-trip conversions with random strings, grep can become convinced that the test output is binary, and will truncate a failed test before any output is displayed, showing "binary file (standard input) matches". This forces grep to consider test output to be text, so that we always see test results.
Configuration menu - View commit details
-
Copy full SHA for 55e1f6a - Browse repository at this point
Copy the full SHA 55e1f6aView commit details -
[client-go] Add fake scale client
This adds a new fake scale client (for use in testing) to match the new polymorphic scale client.
Configuration menu - View commit details
-
Copy full SHA for f22bfcd - Browse repository at this point
Copy the full SHA f22bfcdView commit details