func runAPIVersionsTest(c *client.Client) { g, err := c.ServerGroups() clientVersion := c.APIVersion().String() if err != nil { glog.Fatalf("Failed to get api versions: %v", err) } versions := client.ExtractGroupVersions(g) // Verify that the server supports the API version used by the client. for _, version := range versions { if version == clientVersion { glog.Infof("Version test passed") return } } glog.Fatalf("Server does not support APIVersion used by client. Server supported APIVersions: '%v', client APIVersion: '%v'", versions, clientVersion) }
func RunApiVersions(f *cmdutil.Factory, w io.Writer) error { if len(os.Args) > 1 && os.Args[1] == "apiversions" { printDeprecationWarning("api-versions", "apiversions") } client, err := f.Client() if err != nil { return err } groupList, err := client.Discovery().ServerGroups() if err != nil { return fmt.Errorf("Couldn't get available api versions from server: %v\n", err) } apiVersions := unversioned_client.ExtractGroupVersions(groupList) sort.Strings(apiVersions) for _, v := range apiVersions { fmt.Fprintln(w, v) } return nil }