Merge pull request #1473 from technosophos/fix/1468-3rd-party-apis

fix(tiller): allow 3rd party APIs
pull/1481/head
Matt Butcher 9 years ago committed by GitHub
commit 846011b02a

@ -44,12 +44,20 @@ import (
// Client represents a client capable of communicating with the Kubernetes API.
type Client struct {
*cmdutil.Factory
// IncludeThirdPartyAPIs indicates whether to load "dynamic" APIs.
//
// This requires additional calls to the Kubernetes API server, and these calls
// are not supported by all versions. Additionally, during testing, initializing
// a client will still attempt to contact a live server. In these situations,
// this flag may need to be disabled.
IncludeThirdPartyAPIs bool
}
// New create a new Client
func New(config clientcmd.ClientConfig) *Client {
return &Client{
Factory: cmdutil.NewFactory(config),
Factory: cmdutil.NewFactory(config),
IncludeThirdPartyAPIs: true,
}
}
@ -145,7 +153,7 @@ func (c *Client) Get(namespace string, reader io.Reader) (string, error) {
//
// Namespace will set the namespaces
func (c *Client) Update(namespace string, currentReader, targetReader io.Reader) error {
current := c.NewBuilder(includeThirdPartyAPIs).
current := c.NewBuilder(c.IncludeThirdPartyAPIs).
ContinueOnError().
NamespaceParam(namespace).
DefaultNamespace().
@ -153,7 +161,7 @@ func (c *Client) Update(namespace string, currentReader, targetReader io.Reader)
Flatten().
Do()
target := c.NewBuilder(includeThirdPartyAPIs).
target := c.NewBuilder(c.IncludeThirdPartyAPIs).
ContinueOnError().
NamespaceParam(namespace).
DefaultNamespace().
@ -275,10 +283,8 @@ func (c *Client) WatchUntilReady(namespace string, reader io.Reader) error {
return perform(c, namespace, reader, watchUntilReady)
}
const includeThirdPartyAPIs = false
func perform(c *Client, namespace string, reader io.Reader, fn ResourceActorFunc) error {
r := c.NewBuilder(includeThirdPartyAPIs).
r := c.NewBuilder(c.IncludeThirdPartyAPIs).
ContinueOnError().
NamespaceParam(namespace).
DefaultNamespace().

@ -101,6 +101,7 @@ func TestPerform(t *testing.T) {
}
c := New(nil)
c.IncludeThirdPartyAPIs = false
c.ClientForMapping = func(mapping *meta.RESTMapping) (resource.RESTClient, error) {
return &fake.RESTClient{}, nil
}
@ -121,12 +122,15 @@ func TestPerform(t *testing.T) {
func TestReal(t *testing.T) {
t.Skip("This is a live test, comment this line to run")
if err := New(nil).Create("test", strings.NewReader(guestbookManifest)); err != nil {
c := New(nil)
c.IncludeThirdPartyAPIs = false
if err := c.Create("test", strings.NewReader(guestbookManifest)); err != nil {
t.Fatal(err)
}
testSvcEndpointManifest := testServiceManifest + "\n---\n" + testEndpointManifest
c := New(nil)
c = New(nil)
c.IncludeThirdPartyAPIs = false
if err := c.Create("test-delete", strings.NewReader(testSvcEndpointManifest)); err != nil {
t.Fatal(err)
}

Loading…
Cancel
Save