Просмотр исходного кода

Explicit error message saying we don’t support labels in compose file. (See ACI limitations: https://github.com/docker/desktop-microsoft/issues/33)

Guillaume Tardif 5 лет назад
Родитель
Сommit
8fb16cea63
2 измененных файлов с 20 добавлено и 0 удалено
  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{