Merge pull request #23554 from nikhiljindal/swaggerInRun

Automatic merge from submit-queue

genericapiserver: Moving InstallSwaggerAPI to Run

Ref https://github.com/kubernetes/kubernetes/pull/21190#discussion_r57494673

Moving InstallSwaggerAPI() from InstallAPIGroups() to Run(). This allows the use of InstallAPIGroups() multiple times or using InstallAPIGroup() directly.

cc @jianhuiz @kubernetes/sig-api-machinery
This commit is contained in:
k8s-merge-robot 2016-04-02 08:19:25 -07:00
commit 3197f31cc6
2 changed files with 10 additions and 7 deletions

View File

@ -605,16 +605,13 @@ func (s *GenericAPIServer) init(c *Config) {
s.installGroupsDiscoveryHandler()
}
// Exposes the given group versions in API.
// Exposes the given group versions in API. Helper method to install multiple group versions at once.
func (s *GenericAPIServer) InstallAPIGroups(groupsInfo []APIGroupInfo) error {
for _, apiGroupInfo := range groupsInfo {
if err := s.installAPIGroup(&apiGroupInfo); err != nil {
if err := s.InstallAPIGroup(&apiGroupInfo); err != nil {
return err
}
}
if s.enableSwaggerSupport {
s.InstallSwaggerAPI()
}
return nil
}
@ -641,7 +638,10 @@ func (s *GenericAPIServer) installGroupsDiscoveryHandler() {
}
func (s *GenericAPIServer) Run(options *ServerRunOptions) {
// We serve on 2 ports. See docs/accessing_the_api.md
if s.enableSwaggerSupport {
s.InstallSwaggerAPI()
}
// We serve on 2 ports. See docs/accessing_the_api.md
secureLocation := ""
if options.SecurePort != 0 {
secureLocation = net.JoinHostPort(options.BindAddress.String(), strconv.Itoa(options.SecurePort))
@ -757,7 +757,8 @@ func shouldGenSelfSignedCerts(certPath, keyPath string) bool {
return true
}
func (s *GenericAPIServer) installAPIGroup(apiGroupInfo *APIGroupInfo) error {
// Exposes the given group version in API.
func (s *GenericAPIServer) InstallAPIGroup(apiGroupInfo *APIGroupInfo) error {
apiPrefix := s.APIGroupPrefix
if apiGroupInfo.IsLegacyGroup {
apiPrefix = s.APIPrefix

View File

@ -46,6 +46,8 @@ func TestKubectlValidation(t *testing.T) {
defer components.Stop(true, true)
ctx := clientcmdapi.NewContext()
cfg := clientcmdapi.NewConfig()
// Enable swagger api on master.
components.KubeMaster.InstallSwaggerAPI()
cluster := clientcmdapi.NewCluster()
cluster.Server = components.ApiServer.URL
cluster.InsecureSkipTLSVerify = true