Browse Source

Fix compose volume creation and check this in volume e2e test

Signed-off-by: Guillaume Tardif <[email protected]>
Guillaume Tardif 5 years ago
parent
commit
fe363fd146
2 changed files with 27 additions and 17 deletions
  1. 17 17
      local/compose.go
  2. 10 0
      local/e2e/volume-test/docker-compose.yml

+ 17 - 17
local/compose.go

@@ -1086,24 +1086,24 @@ func (s *composeService) ensureVolume(ctx context.Context, volume types.VolumeCo
 	// TODO could identify volume by label vs name
 	_, err := s.apiClient.VolumeInspect(ctx, volume.Name)
 	if err != nil {
-		if errdefs.IsNotFound(err) {
-			eventName := fmt.Sprintf("Volume %q", volume.Name)
-			w := progress.ContextWriter(ctx)
-			w.Event(progress.CreatingEvent(eventName))
-			// TODO we miss support for driver_opts and labels
-			_, err := s.apiClient.VolumeCreate(ctx, mobyvolume.VolumeCreateBody{
-				Labels:     volume.Labels,
-				Name:       volume.Name,
-				Driver:     volume.Driver,
-				DriverOpts: volume.DriverOpts,
-			})
-			if err != nil {
-				w.Event(progress.ErrorEvent(eventName))
-				return err
-			}
-			w.Event(progress.CreatedEvent(eventName))
+		if !errdefs.IsNotFound(err) {
+			return err
 		}
-		return err
+		eventName := fmt.Sprintf("Volume %q", volume.Name)
+		w := progress.ContextWriter(ctx)
+		w.Event(progress.CreatingEvent(eventName))
+		// TODO we miss support for driver_opts and labels
+		_, err := s.apiClient.VolumeCreate(ctx, mobyvolume.VolumeCreateBody{
+			Labels:     volume.Labels,
+			Name:       volume.Name,
+			Driver:     volume.Driver,
+			DriverOpts: volume.DriverOpts,
+		})
+		if err != nil {
+			w.Event(progress.ErrorEvent(eventName))
+			return err
+		}
+		w.Event(progress.CreatedEvent(eventName))
 	}
 	return nil
 }

+ 10 - 0
local/e2e/volume-test/docker-compose.yml

@@ -5,3 +5,13 @@ services:
       - ./static:/usr/share/nginx/html
     ports:
       - 8090:80
+
+  nginx2:
+    build: nginx-build
+    volumes:
+      - staticVol:/usr/share/nginx/html
+    ports:
+      - 9090:80
+
+volumes:
+  staticVol: