コード例 #1
0
ファイル: client.go プロジェクト: ncantor/origin
// SetOpenShiftDefaults sets the default settings on the passed
// client configuration
func SetOpenShiftDefaults(config *kclient.Config) error {
	if len(config.UserAgent) == 0 {
		config.UserAgent = DefaultOpenShiftUserAgent()
	}
	if config.Version == "" {
		// Clients default to the preferred code API version
		// TODO: implement version negotiation (highest version supported by server)
		config.Version = latest.Version
	}
	if config.Prefix == "" {
		switch config.Version {
		case "v1beta3":
			config.Prefix = "/osapi"
		default:
			config.Prefix = "/oapi"
		}
	}
	version := config.Version
	versionInterfaces, err := latest.InterfacesFor(version)
	if err != nil {
		return fmt.Errorf("API version '%s' is not recognized (valid values: %s)", version, strings.Join(latest.Versions, ", "))
	}
	if config.Codec == nil {
		config.Codec = versionInterfaces.Codec
	}
	return nil
}
コード例 #2
0
func setConfigDefaults(config *unversioned.Config) error {
	// if legacy group is not registered, return an error
	g, err := latest.Group("")
	if err != nil {
		return err
	}
	config.Prefix = "/api"
	if config.UserAgent == "" {
		config.UserAgent = unversioned.DefaultKubernetesUserAgent()
	}
	// TODO: Unconditionally set the config.Version, until we fix the config.
	//if config.Version == "" {
	copyGroupVersion := g.GroupVersion
	config.GroupVersion = &copyGroupVersion
	//}

	versionInterfaces, err := g.InterfacesFor(*config.GroupVersion)
	if err != nil {
		return fmt.Errorf("Legacy API version '%s' is not recognized (valid values: %s)",
			config.GroupVersion, g.GroupVersions)
	}
	config.Codec = versionInterfaces.Codec
	if config.QPS == 0 {
		config.QPS = 5
	}
	if config.Burst == 0 {
		config.Burst = 10
	}
	return nil
}
コード例 #3
0
ファイル: client.go プロジェクト: balv14/origin
// SetOpenShiftDefaults sets the default settings on the passed
// client configuration
func SetOpenShiftDefaults(config *kclient.Config) error {
	if len(config.UserAgent) == 0 {
		config.UserAgent = DefaultOpenShiftUserAgent()
	}
	if config.Version == "" {
		// Clients default to the preferred code API version
		config.Version = latest.Version
	}
	if config.Prefix == "" {
		config.Prefix = "/oapi"
	}
	version := config.Version
	versionInterfaces, err := latest.InterfacesFor(version)
	if err != nil {
		return fmt.Errorf("API version '%s' is not recognized (valid values: %s)", version, strings.Join(latest.Versions, ", "))
	}
	if config.Codec == nil {
		config.Codec = versionInterfaces.Codec
	}
	return nil
}
コード例 #4
0
ファイル: heapsterclient.go プロジェクト: fwalker/dashboard
// Creates new Heapster REST client. When heapsterHost param is empty string the function
// assumes that it is running inside a Kubernetes cluster and connects via service proxy.
// heapsterHost param is in the format of protocol://address:port, e.g., http://localhost:8002.
func CreateHeapsterRESTClient(heapsterHost string, apiclient *client.Client) (
	HeapsterClient, error) {

	cfg := client.Config{}

	if heapsterHost == "" {
		bufferProxyHost := bytes.NewBufferString("http://")
		bufferProxyHost.WriteString(apiclient.RESTClient.Get().URL().Host)
		cfg.Host = bufferProxyHost.String()
		cfg.Prefix = "/api/v1/proxy/namespaces/kube-system/services/heapster/api"
	} else {
		cfg.Host = heapsterHost
	}
	log.Printf("Creating Heapster REST client for %s%s", cfg.Host, cfg.Prefix)
	clientFactory := new(ClientFactoryImpl)
	heapsterClient, err := clientFactory.New(&cfg)
	if err != nil {
		return nil, err
	}
	return heapsterClient.RESTClient, nil
}
コード例 #5
0
ファイル: client.go プロジェクト: erinboyd/origin
// SetOpenShiftDefaults sets the default settings on the passed
// client configuration
func SetOpenShiftDefaults(config *kclient.Config) error {
	if len(config.UserAgent) == 0 {
		config.UserAgent = DefaultOpenShiftUserAgent()
	}
	if config.GroupVersion == nil {
		// Clients default to the preferred code API version
		groupVersionCopy := latest.Version
		config.GroupVersion = &groupVersionCopy
	}
	if config.Prefix == "" {
		config.Prefix = "/oapi"
	}
	version := config.GroupVersion
	versionInterfaces, err := latest.InterfacesFor(*version)
	if err != nil {
		return fmt.Errorf("API version %q is not recognized (valid values: %v)", version, latest.Versions)
	}
	if config.Codec == nil {
		config.Codec = versionInterfaces.Codec
	}
	return nil
}