kube-apiserver should exit with error if not able to connect to etcd
Signed-off-by: Ted Yu <yuzhihong@gmail.com>
This commit is contained in:
		| @@ -142,16 +142,22 @@ func (c completedConfig) New(delegationTarget genericapiserver.DelegationTarget) | ||||
| 	if apiResourceConfig.VersionEnabled(v1beta1.SchemeGroupVersion) { | ||||
| 		storage := map[string]rest.Storage{} | ||||
| 		// customresourcedefinitions | ||||
| 		customResourceDefintionStorage := customresourcedefinition.NewREST(Scheme, c.GenericConfig.RESTOptionsGetter) | ||||
| 		storage["customresourcedefinitions"] = customResourceDefintionStorage | ||||
| 		storage["customresourcedefinitions/status"] = customresourcedefinition.NewStatusREST(Scheme, customResourceDefintionStorage) | ||||
| 		customResourceDefinitionStorage, err := customresourcedefinition.NewREST(Scheme, c.GenericConfig.RESTOptionsGetter) | ||||
| 		if err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| 		storage["customresourcedefinitions"] = customResourceDefinitionStorage | ||||
| 		storage["customresourcedefinitions/status"] = customresourcedefinition.NewStatusREST(Scheme, customResourceDefinitionStorage) | ||||
|  | ||||
| 		apiGroupInfo.VersionedResourcesStorageMap[v1beta1.SchemeGroupVersion.Version] = storage | ||||
| 	} | ||||
| 	if apiResourceConfig.VersionEnabled(v1.SchemeGroupVersion) { | ||||
| 		storage := map[string]rest.Storage{} | ||||
| 		// customresourcedefinitions | ||||
| 		customResourceDefintionStorage := customresourcedefinition.NewREST(Scheme, c.GenericConfig.RESTOptionsGetter) | ||||
| 		customResourceDefintionStorage, err := customresourcedefinition.NewREST(Scheme, c.GenericConfig.RESTOptionsGetter) | ||||
| 		if err != nil { | ||||
| 			return nil, err | ||||
| 		} | ||||
| 		storage["customresourcedefinitions"] = customResourceDefintionStorage | ||||
| 		storage["customresourcedefinitions/status"] = customresourcedefinition.NewStatusREST(Scheme, customResourceDefintionStorage) | ||||
|  | ||||
|   | ||||
| @@ -38,7 +38,7 @@ type REST struct { | ||||
| } | ||||
|  | ||||
| // NewREST returns a RESTStorage object that will work against API services. | ||||
| func NewREST(scheme *runtime.Scheme, optsGetter generic.RESTOptionsGetter) *REST { | ||||
| func NewREST(scheme *runtime.Scheme, optsGetter generic.RESTOptionsGetter) (*REST, error) { | ||||
| 	strategy := NewStrategy(scheme) | ||||
|  | ||||
| 	store := &genericregistry.Store{ | ||||
| @@ -56,9 +56,9 @@ func NewREST(scheme *runtime.Scheme, optsGetter generic.RESTOptionsGetter) *REST | ||||
| 	} | ||||
| 	options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: GetAttrs} | ||||
| 	if err := store.CompleteWithOptions(options); err != nil { | ||||
| 		panic(err) // TODO: Propagate error up | ||||
| 		return nil, err | ||||
| 	} | ||||
| 	return &REST{store} | ||||
| 	return &REST{store}, nil | ||||
| } | ||||
|  | ||||
| // Implement ShortNamesProvider | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Ted Yu
					Ted Yu