Bläddra i källkod

Merge pull request #463 from docker/compose_labels_error

Explicit error message saying we don’t support labels in compose file
Guillaume Tardif 5 år sedan
förälder
incheckning
abd363d641
2 ändrade filer med 20 tillägg och 0 borttagningar
  1. 3 0
      aci/convert/convert.go
  2. 17 0
      aci/convert/convert_test.go

+ 3 - 0
aci/convert/convert.go

@@ -95,6 +95,9 @@ func ToContainerGroup(aciContext store.AciContext, p types.Project) (containerin
 		if err != nil {
 		if err != nil {
 			return containerinstance.ContainerGroup{}, err
 			return containerinstance.ContainerGroup{}, err
 		}
 		}
+		if service.Labels != nil && len(service.Labels) > 0 {
+			return containerinstance.ContainerGroup{}, errors.New("ACI integration does not support labels in compose applications")
+		}
 		if service.Ports != nil {
 		if service.Ports != nil {
 			var containerPorts []containerinstance.ContainerPort
 			var containerPorts []containerinstance.ContainerPort
 			for _, portConfig := range service.Ports {
 			for _, portConfig := range service.Ports {

+ 17 - 0
aci/convert/convert_test.go

@@ -235,6 +235,23 @@ func TestComposeInconsistentMultiContainerRestartPolicy(t *testing.T) {
 	assert.Error(t, err, "ACI integration does not support specifying different restart policies on containers in the same compose application")
 	assert.Error(t, err, "ACI integration does not support specifying different restart policies on containers in the same compose application")
 }
 }
 
 
+func TestLabelsErrorMessage(t *testing.T) {
+	project := types.Project{
+		Services: []types.ServiceConfig{
+			{
+				Name:  "service1",
+				Image: "image1",
+				Labels: map[string]string{
+					"label1": "value1",
+				},
+			},
+		},
+	}
+
+	_, err := ToContainerGroup(convertCtx, project)
+	assert.Error(t, err, "ACI integration does not support labels in compose applications")
+}
+
 func TestComposeSingleContainerGroupToContainerDefaultRestartPolicy(t *testing.T) {
 func TestComposeSingleContainerGroupToContainerDefaultRestartPolicy(t *testing.T) {
 	project := types.Project{
 	project := types.Project{
 		Services: []types.ServiceConfig{
 		Services: []types.ServiceConfig{