kubetcl create --validate crashes when no apiVersion or kind is provided

This commit is contained in:
feihujiang
2015-06-07 21:02:27 +08:00
parent 0f1c4c25c3
commit 37abe11f8a
3 changed files with 13 additions and 7 deletions

View File

@@ -77,9 +77,15 @@ func (s *SwaggerSchema) ValidateBytes(data []byte) error {
if !ok {
return fmt.Errorf("error in unmarshaling data %s", string(data))
}
apiVersion := fields["apiVersion"].(string)
kind := fields["kind"].(string)
return s.ValidateObject(obj, apiVersion, "", apiVersion+"."+kind)
apiVersion := fields["apiVersion"]
if apiVersion == nil {
fmt.Errorf("apiVersion not set")
}
kind := fields["kind"]
if kind == nil {
fmt.Errorf("kind not set")
}
return s.ValidateObject(obj, apiVersion.(string), "", apiVersion.(string)+"."+kind.(string))
}
func (s *SwaggerSchema) ValidateObject(obj interface{}, apiVersion, fieldName, typeName string) error {