Rename PodTemplate.Spec to PodTemplate.Template

pull/6/head
Clayton Coleman 2015-03-04 10:46:27 -05:00
parent 10c2ace6bf
commit e6e034af4f
8 changed files with 58 additions and 45 deletions

View File

@ -4,7 +4,7 @@
"metadata": { "metadata": {
"name": "nginx" "name": "nginx"
}, },
"spec": { "template": {
"metadata": { "metadata": {
"labels": { "labels": {
"name": "nginx" "name": "nginx"

View File

@ -848,8 +848,8 @@ type PodTemplate struct {
TypeMeta `json:",inline"` TypeMeta `json:",inline"`
ObjectMeta `json:"metadata,omitempty"` ObjectMeta `json:"metadata,omitempty"`
// Spec defines the pods that will be created from this template // Template defines the pods that will be created from this pod template
Spec PodTemplateSpec `json:"spec,omitempty"` Template PodTemplateSpec `json:"template,omitempty"`
} }
// PodTemplateList is a list of PodTemplates. // PodTemplateList is a list of PodTemplates.

View File

@ -854,8 +854,8 @@ type PodTemplate struct {
TypeMeta `json:",inline"` TypeMeta `json:",inline"`
ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/api-conventions.md#metadata"` ObjectMeta `json:"metadata,omitempty" description:"standard object metadata; see https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/api-conventions.md#metadata"`
// Spec defines the behavior of a pod. // Template defines the pods that will be created from this pod template
Spec PodTemplateSpec `json:"spec,omitempty" description:"specification of the desired behavior of the pod; https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/api-conventions.md#spec-and-status"` Template PodTemplateSpec `json:"template,omitempty" description:"the template of the desired behavior of the pod; https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/api-conventions.md#spec-and-status"`
} }
// PodTemplateList is a list of PodTemplates. // PodTemplateList is a list of PodTemplates.

View File

@ -892,7 +892,7 @@ func ValidatePodStatusUpdate(newPod, oldPod *api.Pod) errs.ValidationErrorList {
func ValidatePodTemplate(pod *api.PodTemplate) errs.ValidationErrorList { func ValidatePodTemplate(pod *api.PodTemplate) errs.ValidationErrorList {
allErrs := errs.ValidationErrorList{} allErrs := errs.ValidationErrorList{}
allErrs = append(allErrs, ValidateObjectMeta(&pod.ObjectMeta, true, ValidatePodName).Prefix("metadata")...) allErrs = append(allErrs, ValidateObjectMeta(&pod.ObjectMeta, true, ValidatePodName).Prefix("metadata")...)
allErrs = append(allErrs, ValidatePodTemplateSpec(&pod.Spec, 0).Prefix("spec")...) allErrs = append(allErrs, ValidatePodTemplateSpec(&pod.Template, 0).Prefix("template")...)
return allErrs return allErrs
} }
@ -902,7 +902,7 @@ func ValidatePodTemplateUpdate(newPod, oldPod *api.PodTemplate) errs.ValidationE
allErrs := errs.ValidationErrorList{} allErrs := errs.ValidationErrorList{}
allErrs = append(allErrs, ValidateObjectMetaUpdate(&oldPod.ObjectMeta, &newPod.ObjectMeta).Prefix("metadata")...) allErrs = append(allErrs, ValidateObjectMetaUpdate(&oldPod.ObjectMeta, &newPod.ObjectMeta).Prefix("metadata")...)
allErrs = append(allErrs, ValidatePodTemplateSpec(&newPod.Spec, 0).Prefix("spec")...) allErrs = append(allErrs, ValidatePodTemplateSpec(&newPod.Template, 0).Prefix("template")...)
return allErrs return allErrs
} }

View File

@ -1676,7 +1676,7 @@ func TestValidateService(t *testing.T) {
func TestValidateReplicationControllerUpdate(t *testing.T) { func TestValidateReplicationControllerUpdate(t *testing.T) {
validSelector := map[string]string{"a": "b"} validSelector := map[string]string{"a": "b"}
validPodTemplate := api.PodTemplate{ validPodTemplate := api.PodTemplate{
Spec: api.PodTemplateSpec{ Template: api.PodTemplateSpec{
ObjectMeta: api.ObjectMeta{ ObjectMeta: api.ObjectMeta{
Labels: validSelector, Labels: validSelector,
}, },
@ -1688,7 +1688,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
}, },
} }
readWriteVolumePodTemplate := api.PodTemplate{ readWriteVolumePodTemplate := api.PodTemplate{
Spec: api.PodTemplateSpec{ Template: api.PodTemplateSpec{
ObjectMeta: api.ObjectMeta{ ObjectMeta: api.ObjectMeta{
Labels: validSelector, Labels: validSelector,
}, },
@ -1702,7 +1702,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
} }
invalidSelector := map[string]string{"NoUppercaseOrSpecialCharsLike=Equals": "b"} invalidSelector := map[string]string{"NoUppercaseOrSpecialCharsLike=Equals": "b"}
invalidPodTemplate := api.PodTemplate{ invalidPodTemplate := api.PodTemplate{
Spec: api.PodTemplateSpec{ Template: api.PodTemplateSpec{
Spec: api.PodSpec{ Spec: api.PodSpec{
RestartPolicy: api.RestartPolicyAlways, RestartPolicy: api.RestartPolicyAlways,
DNSPolicy: api.DNSClusterFirst, DNSPolicy: api.DNSClusterFirst,
@ -1722,7 +1722,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Selector: validSelector, Selector: validSelector,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
update: api.ReplicationController{ update: api.ReplicationController{
@ -1730,7 +1730,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Replicas: 3, Replicas: 3,
Selector: validSelector, Selector: validSelector,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
}, },
@ -1739,7 +1739,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Selector: validSelector, Selector: validSelector,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
update: api.ReplicationController{ update: api.ReplicationController{
@ -1747,7 +1747,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Replicas: 1, Replicas: 1,
Selector: validSelector, Selector: validSelector,
Template: &readWriteVolumePodTemplate.Spec, Template: &readWriteVolumePodTemplate.Template,
}, },
}, },
}, },
@ -1765,7 +1765,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault}, ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Selector: validSelector, Selector: validSelector,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
update: api.ReplicationController{ update: api.ReplicationController{
@ -1773,7 +1773,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Replicas: 2, Replicas: 2,
Selector: validSelector, Selector: validSelector,
Template: &readWriteVolumePodTemplate.Spec, Template: &readWriteVolumePodTemplate.Template,
}, },
}, },
}, },
@ -1782,7 +1782,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault}, ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Selector: validSelector, Selector: validSelector,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
update: api.ReplicationController{ update: api.ReplicationController{
@ -1790,7 +1790,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Replicas: 2, Replicas: 2,
Selector: invalidSelector, Selector: invalidSelector,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
}, },
@ -1799,7 +1799,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault}, ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Selector: validSelector, Selector: validSelector,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
update: api.ReplicationController{ update: api.ReplicationController{
@ -1807,7 +1807,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Replicas: 2, Replicas: 2,
Selector: validSelector, Selector: validSelector,
Template: &invalidPodTemplate.Spec, Template: &invalidPodTemplate.Template,
}, },
}, },
}, },
@ -1816,7 +1816,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Selector: validSelector, Selector: validSelector,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
update: api.ReplicationController{ update: api.ReplicationController{
@ -1824,7 +1824,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Replicas: -1, Replicas: -1,
Selector: validSelector, Selector: validSelector,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
}, },
@ -1840,7 +1840,7 @@ func TestValidateReplicationControllerUpdate(t *testing.T) {
func TestValidateReplicationController(t *testing.T) { func TestValidateReplicationController(t *testing.T) {
validSelector := map[string]string{"a": "b"} validSelector := map[string]string{"a": "b"}
validPodTemplate := api.PodTemplate{ validPodTemplate := api.PodTemplate{
Spec: api.PodTemplateSpec{ Template: api.PodTemplateSpec{
ObjectMeta: api.ObjectMeta{ ObjectMeta: api.ObjectMeta{
Labels: validSelector, Labels: validSelector,
}, },
@ -1852,7 +1852,7 @@ func TestValidateReplicationController(t *testing.T) {
}, },
} }
readWriteVolumePodTemplate := api.PodTemplate{ readWriteVolumePodTemplate := api.PodTemplate{
Spec: api.PodTemplateSpec{ Template: api.PodTemplateSpec{
ObjectMeta: api.ObjectMeta{ ObjectMeta: api.ObjectMeta{
Labels: validSelector, Labels: validSelector,
}, },
@ -1866,7 +1866,7 @@ func TestValidateReplicationController(t *testing.T) {
} }
invalidSelector := map[string]string{"NoUppercaseOrSpecialCharsLike=Equals": "b"} invalidSelector := map[string]string{"NoUppercaseOrSpecialCharsLike=Equals": "b"}
invalidPodTemplate := api.PodTemplate{ invalidPodTemplate := api.PodTemplate{
Spec: api.PodTemplateSpec{ Template: api.PodTemplateSpec{
Spec: api.PodSpec{ Spec: api.PodSpec{
RestartPolicy: api.RestartPolicyAlways, RestartPolicy: api.RestartPolicyAlways,
DNSPolicy: api.DNSClusterFirst, DNSPolicy: api.DNSClusterFirst,
@ -1881,14 +1881,14 @@ func TestValidateReplicationController(t *testing.T) {
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Selector: validSelector, Selector: validSelector,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
{ {
ObjectMeta: api.ObjectMeta{Name: "abc-123", Namespace: api.NamespaceDefault}, ObjectMeta: api.ObjectMeta{Name: "abc-123", Namespace: api.NamespaceDefault},
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Selector: validSelector, Selector: validSelector,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
{ {
@ -1896,7 +1896,7 @@ func TestValidateReplicationController(t *testing.T) {
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Replicas: 1, Replicas: 1,
Selector: validSelector, Selector: validSelector,
Template: &readWriteVolumePodTemplate.Spec, Template: &readWriteVolumePodTemplate.Template,
}, },
}, },
} }
@ -1911,27 +1911,27 @@ func TestValidateReplicationController(t *testing.T) {
ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault}, ObjectMeta: api.ObjectMeta{Name: "", Namespace: api.NamespaceDefault},
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Selector: validSelector, Selector: validSelector,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
"missing-namespace": { "missing-namespace": {
ObjectMeta: api.ObjectMeta{Name: "abc-123"}, ObjectMeta: api.ObjectMeta{Name: "abc-123"},
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Selector: validSelector, Selector: validSelector,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
"empty selector": { "empty selector": {
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
"selector_doesnt_match": { "selector_doesnt_match": {
ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault}, ObjectMeta: api.ObjectMeta{Name: "abc", Namespace: api.NamespaceDefault},
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Selector: map[string]string{"foo": "bar"}, Selector: map[string]string{"foo": "bar"},
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
"invalid manifest": { "invalid manifest": {
@ -1945,7 +1945,7 @@ func TestValidateReplicationController(t *testing.T) {
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Replicas: 2, Replicas: 2,
Selector: validSelector, Selector: validSelector,
Template: &readWriteVolumePodTemplate.Spec, Template: &readWriteVolumePodTemplate.Template,
}, },
}, },
"negative_replicas": { "negative_replicas": {
@ -1965,7 +1965,7 @@ func TestValidateReplicationController(t *testing.T) {
}, },
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Selector: validSelector, Selector: validSelector,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
"invalid_label 2": { "invalid_label 2": {
@ -1977,7 +1977,20 @@ func TestValidateReplicationController(t *testing.T) {
}, },
}, },
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Template: &invalidPodTemplate.Spec, Template: &invalidPodTemplate.Template,
},
},
"invalid_annotation": {
ObjectMeta: api.ObjectMeta{
Name: "abc-123",
Namespace: api.NamespaceDefault,
Annotations: map[string]string{
"NoUppercaseOrSpecialCharsLike=Equals": "bar",
},
},
Spec: api.ReplicationControllerSpec{
Selector: validSelector,
Template: &validPodTemplate.Template,
}, },
}, },
"invalid restart policy 1": { "invalid restart policy 1": {

View File

@ -446,7 +446,7 @@ func printPodList(podList *api.PodList, w io.Writer) error {
} }
func printPodTemplate(pod *api.PodTemplate, w io.Writer) error { func printPodTemplate(pod *api.PodTemplate, w io.Writer) error {
containers := pod.Spec.Spec.Containers containers := pod.Template.Spec.Containers
var firstContainer api.Container var firstContainer api.Container
if len(containers) > 0 { if len(containers) > 0 {
firstContainer, containers = containers[0], containers[1:] firstContainer, containers = containers[0], containers[1:]
@ -455,7 +455,7 @@ func printPodTemplate(pod *api.PodTemplate, w io.Writer) error {
pod.Name, pod.Name,
firstContainer.Name, firstContainer.Name,
firstContainer.Image, firstContainer.Image,
formatLabels(pod.Spec.Labels), formatLabels(pod.Template.Labels),
) )
if err != nil { if err != nil {
return err return err

View File

@ -60,7 +60,7 @@ func createController(storage *REST, rc api.ReplicationController, t *testing.T)
} }
var validPodTemplate = api.PodTemplate{ var validPodTemplate = api.PodTemplate{
Spec: api.PodTemplateSpec{ Template: api.PodTemplateSpec{
ObjectMeta: api.ObjectMeta{ ObjectMeta: api.ObjectMeta{
Labels: map[string]string{"a": "b"}, Labels: map[string]string{"a": "b"},
}, },
@ -79,8 +79,8 @@ var validPodTemplate = api.PodTemplate{
} }
var validControllerSpec = api.ReplicationControllerSpec{ var validControllerSpec = api.ReplicationControllerSpec{
Selector: validPodTemplate.Spec.Labels, Selector: validPodTemplate.Template.Labels,
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
} }
var validController = api.ReplicationController{ var validController = api.ReplicationController{
@ -161,7 +161,7 @@ func TestCreateControllerWithGeneratedName(t *testing.T) {
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Replicas: 2, Replicas: 2,
Selector: map[string]string{"a": "b"}, Selector: map[string]string{"a": "b"},
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
} }
@ -663,7 +663,7 @@ func TestCreate(t *testing.T) {
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Replicas: 2, Replicas: 2,
Selector: map[string]string{"a": "b"}, Selector: map[string]string{"a": "b"},
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
// invalid // invalid
@ -671,7 +671,7 @@ func TestCreate(t *testing.T) {
Spec: api.ReplicationControllerSpec{ Spec: api.ReplicationControllerSpec{
Replicas: 2, Replicas: 2,
Selector: map[string]string{}, Selector: map[string]string{},
Template: &validPodTemplate.Spec, Template: &validPodTemplate.Template,
}, },
}, },
) )

View File

@ -38,7 +38,7 @@ func validNewPodTemplate(name string) *api.PodTemplate {
Name: name, Name: name,
Namespace: api.NamespaceDefault, Namespace: api.NamespaceDefault,
}, },
Spec: api.PodTemplateSpec{ Template: api.PodTemplateSpec{
ObjectMeta: api.ObjectMeta{ ObjectMeta: api.ObjectMeta{
Labels: map[string]string{"test": "foo"}, Labels: map[string]string{"test": "foo"},
}, },
@ -70,7 +70,7 @@ func TestCreate(t *testing.T) {
pod, pod,
// invalid // invalid
&api.PodTemplate{ &api.PodTemplate{
Spec: api.PodTemplateSpec{}, Template: api.PodTemplateSpec{},
}, },
) )
} }