From b16b125bb4326e2eec9948fd54ca8c5d83eba36a Mon Sep 17 00:00:00 2001 From: Brian Goff Date: Mon, 14 May 2018 11:03:48 -0400 Subject: [PATCH] Fix swagger volume type generation This was broken by bf6a790f00ab96bb8857e3c73502909ee5e36217 Signed-off-by: Brian Goff --- api/server/router/volume/volume_routes.go | 4 ++-- api/types/volume/{volumes_create.go => volume_create.go} | 8 ++++---- api/types/volume/{volumes_list.go => volume_list.go} | 8 ++++---- client/interface.go | 4 ++-- client/volume_create.go | 2 +- client/volume_create_test.go | 4 ++-- client/volume_list.go | 4 ++-- client/volume_list_test.go | 2 +- daemon/cluster/executor/container/container.go | 4 ++-- hack/generate-swagger-api.sh | 4 ++-- hack/integration-cli-on-swarm/host/volume.go | 2 +- hack/validate/gometalinter.json | 1 + integration/plugin/authz/authz_plugin_v2_test.go | 6 +++--- integration/volume/volume_test.go | 4 ++-- 14 files changed, 29 insertions(+), 28 deletions(-) rename api/types/volume/{volumes_create.go => volume_create.go} (81%) rename api/types/volume/{volumes_list.go => volume_list.go} (74%) diff --git a/api/server/router/volume/volume_routes.go b/api/server/router/volume/volume_routes.go index 01d710e727..602786ff8b 100644 --- a/api/server/router/volume/volume_routes.go +++ b/api/server/router/volume/volume_routes.go @@ -22,7 +22,7 @@ func (v *volumeRouter) getVolumesList(ctx context.Context, w http.ResponseWriter if err != nil { return err } - return httputils.WriteJSON(w, http.StatusOK, &volumetypes.VolumesListOKBody{Volumes: volumes, Warnings: warnings}) + return httputils.WriteJSON(w, http.StatusOK, &volumetypes.VolumeListOKBody{Volumes: volumes, Warnings: warnings}) } func (v *volumeRouter) getVolumeByName(ctx context.Context, w http.ResponseWriter, r *http.Request, vars map[string]string) error { @@ -46,7 +46,7 @@ func (v *volumeRouter) postVolumesCreate(ctx context.Context, w http.ResponseWri return err } - var req volumetypes.VolumesCreateBody + var req volumetypes.VolumeCreateBody if err := json.NewDecoder(r.Body).Decode(&req); err != nil { if err == io.EOF { return errdefs.InvalidParameter(errors.New("got EOF while reading request body")) diff --git a/api/types/volume/volumes_create.go b/api/types/volume/volume_create.go similarity index 81% rename from api/types/volume/volumes_create.go rename to api/types/volume/volume_create.go index b2dd3a419d..539e9b97d9 100644 --- a/api/types/volume/volumes_create.go +++ b/api/types/volume/volume_create.go @@ -1,4 +1,4 @@ -package volume // import "github.com/docker/docker/api/types/volume" +package volume // ---------------------------------------------------------------------------- // DO NOT EDIT THIS FILE @@ -7,9 +7,9 @@ package volume // import "github.com/docker/docker/api/types/volume" // See hack/generate-swagger-api.sh // ---------------------------------------------------------------------------- -// VolumesCreateBody volumes create body -// swagger:model VolumesCreateBody -type VolumesCreateBody struct { +// VolumeCreateBody +// swagger:model VolumeCreateBody +type VolumeCreateBody struct { // Name of the volume driver to use. // Required: true diff --git a/api/types/volume/volumes_list.go b/api/types/volume/volume_list.go similarity index 74% rename from api/types/volume/volumes_list.go rename to api/types/volume/volume_list.go index e071ca08fc..1bb279dbb3 100644 --- a/api/types/volume/volumes_list.go +++ b/api/types/volume/volume_list.go @@ -1,4 +1,4 @@ -package volume // import "github.com/docker/docker/api/types/volume" +package volume // ---------------------------------------------------------------------------- // DO NOT EDIT THIS FILE @@ -9,9 +9,9 @@ package volume // import "github.com/docker/docker/api/types/volume" import "github.com/docker/docker/api/types" -// VolumesListOKBody volumes list o k body -// swagger:model VolumesListOKBody -type VolumesListOKBody struct { +// VolumeListOKBody +// swagger:model VolumeListOKBody +type VolumeListOKBody struct { // List of volumes // Required: true diff --git a/client/interface.go b/client/interface.go index 314c940c3b..8ab25591c0 100644 --- a/client/interface.go +++ b/client/interface.go @@ -168,10 +168,10 @@ type SystemAPIClient interface { // VolumeAPIClient defines API client methods for the volumes type VolumeAPIClient interface { - VolumeCreate(ctx context.Context, options volumetypes.VolumesCreateBody) (types.Volume, error) + VolumeCreate(ctx context.Context, options volumetypes.VolumeCreateBody) (types.Volume, error) VolumeInspect(ctx context.Context, volumeID string) (types.Volume, error) VolumeInspectWithRaw(ctx context.Context, volumeID string) (types.Volume, []byte, error) - VolumeList(ctx context.Context, filter filters.Args) (volumetypes.VolumesListOKBody, error) + VolumeList(ctx context.Context, filter filters.Args) (volumetypes.VolumeListOKBody, error) VolumeRemove(ctx context.Context, volumeID string, force bool) error VolumesPrune(ctx context.Context, pruneFilter filters.Args) (types.VolumesPruneReport, error) } diff --git a/client/volume_create.go b/client/volume_create.go index 639c325286..f1f6fcdc4a 100644 --- a/client/volume_create.go +++ b/client/volume_create.go @@ -9,7 +9,7 @@ import ( ) // VolumeCreate creates a volume in the docker host. -func (cli *Client) VolumeCreate(ctx context.Context, options volumetypes.VolumesCreateBody) (types.Volume, error) { +func (cli *Client) VolumeCreate(ctx context.Context, options volumetypes.VolumeCreateBody) (types.Volume, error) { var volume types.Volume resp, err := cli.post(ctx, "/volumes/create", nil, options, nil) if err != nil { diff --git a/client/volume_create_test.go b/client/volume_create_test.go index 30b9a44db7..cfab191845 100644 --- a/client/volume_create_test.go +++ b/client/volume_create_test.go @@ -19,7 +19,7 @@ func TestVolumeCreateError(t *testing.T) { client: newMockClient(errorMock(http.StatusInternalServerError, "Server error")), } - _, err := client.VolumeCreate(context.Background(), volumetypes.VolumesCreateBody{}) + _, err := client.VolumeCreate(context.Background(), volumetypes.VolumeCreateBody{}) if err == nil || err.Error() != "Error response from daemon: Server error" { t.Fatalf("expected a Server Error, got %v", err) } @@ -53,7 +53,7 @@ func TestVolumeCreate(t *testing.T) { }), } - volume, err := client.VolumeCreate(context.Background(), volumetypes.VolumesCreateBody{ + volume, err := client.VolumeCreate(context.Background(), volumetypes.VolumeCreateBody{ Name: "myvolume", Driver: "mydriver", DriverOpts: map[string]string{ diff --git a/client/volume_list.go b/client/volume_list.go index 4cf74831f1..284554d67c 100644 --- a/client/volume_list.go +++ b/client/volume_list.go @@ -10,8 +10,8 @@ import ( ) // VolumeList returns the volumes configured in the docker host. -func (cli *Client) VolumeList(ctx context.Context, filter filters.Args) (volumetypes.VolumesListOKBody, error) { - var volumes volumetypes.VolumesListOKBody +func (cli *Client) VolumeList(ctx context.Context, filter filters.Args) (volumetypes.VolumeListOKBody, error) { + var volumes volumetypes.VolumeListOKBody query := url.Values{} if filter.Len() > 0 { diff --git a/client/volume_list_test.go b/client/volume_list_test.go index c5e4bbb724..2a83823f7e 100644 --- a/client/volume_list_test.go +++ b/client/volume_list_test.go @@ -69,7 +69,7 @@ func TestVolumeList(t *testing.T) { if actualFilters != listCase.expectedFilters { return nil, fmt.Errorf("filters not set in URL query properly. Expected '%s', got %s", listCase.expectedFilters, actualFilters) } - content, err := json.Marshal(volumetypes.VolumesListOKBody{ + content, err := json.Marshal(volumetypes.VolumeListOKBody{ Volumes: []*types.Volume{ { Name: "volume", diff --git a/daemon/cluster/executor/container/container.go b/daemon/cluster/executor/container/container.go index 5d052dfe09..69d673bd30 100644 --- a/daemon/cluster/executor/container/container.go +++ b/daemon/cluster/executor/container/container.go @@ -398,7 +398,7 @@ func (c *containerConfig) hostConfig() *enginecontainer.HostConfig { } // This handles the case of volumes that are defined inside a service Mount -func (c *containerConfig) volumeCreateRequest(mount *api.Mount) *volumetypes.VolumesCreateBody { +func (c *containerConfig) volumeCreateRequest(mount *api.Mount) *volumetypes.VolumeCreateBody { var ( driverName string driverOpts map[string]string @@ -412,7 +412,7 @@ func (c *containerConfig) volumeCreateRequest(mount *api.Mount) *volumetypes.Vol } if mount.VolumeOptions != nil { - return &volumetypes.VolumesCreateBody{ + return &volumetypes.VolumeCreateBody{ Name: mount.Source, Driver: driverName, DriverOpts: driverOpts, diff --git a/hack/generate-swagger-api.sh b/hack/generate-swagger-api.sh index 9bbd8de5d7..a01a57387a 100755 --- a/hack/generate-swagger-api.sh +++ b/hack/generate-swagger-api.sh @@ -23,5 +23,5 @@ swagger generate operation -f api/swagger.yaml \ -n ContainerUpdate \ -n ContainerWait \ -n ImageHistory \ - -n VolumesCreate \ - -n VolumesList + -n VolumeCreate \ + -n VolumeList diff --git a/hack/integration-cli-on-swarm/host/volume.go b/hack/integration-cli-on-swarm/host/volume.go index c2f96984a0..a6ddc6fae7 100644 --- a/hack/integration-cli-on-swarm/host/volume.go +++ b/hack/integration-cli-on-swarm/host/volume.go @@ -41,7 +41,7 @@ func createTar(data map[string][]byte) (io.Reader, error) { // which is attached to the container. func createVolumeWithData(cli *client.Client, volumeName string, data map[string][]byte, image string) error { _, err := cli.VolumeCreate(context.Background(), - volume.VolumesCreateBody{ + volume.VolumeCreateBody{ Driver: "local", Name: volumeName, }) diff --git a/hack/validate/gometalinter.json b/hack/validate/gometalinter.json index 8e8da10a39..81eb1017cb 100644 --- a/hack/validate/gometalinter.json +++ b/hack/validate/gometalinter.json @@ -6,6 +6,7 @@ ".*\\.pb\\.go", "dockerversion/version_autogen.go", "api/types/container/container_.*", + "api/types/volume/volume_.*", "integration-cli/" ], "Skip": ["integration-cli/"], diff --git a/integration/plugin/authz/authz_plugin_v2_test.go b/integration/plugin/authz/authz_plugin_v2_test.go index fa3d37dc8c..93e36d76b9 100644 --- a/integration/plugin/authz/authz_plugin_v2_test.go +++ b/integration/plugin/authz/authz_plugin_v2_test.go @@ -77,7 +77,7 @@ func TestAuthZPluginV2Disable(t *testing.T) { d.Restart(t, "--authorization-plugin="+authzPluginNameWithTag) d.LoadBusybox(t) - _, err = client.VolumeCreate(context.Background(), volumetypes.VolumesCreateBody{Driver: "local"}) + _, err = client.VolumeCreate(context.Background(), volumetypes.VolumeCreateBody{Driver: "local"}) assert.Assert(t, err != nil) assert.Assert(t, strings.Contains(err.Error(), fmt.Sprintf("Error response from daemon: plugin %s failed with error:", authzPluginNameWithTag))) @@ -86,7 +86,7 @@ func TestAuthZPluginV2Disable(t *testing.T) { assert.NilError(t, err) // now test to see if the docker api works. - _, err = client.VolumeCreate(context.Background(), volumetypes.VolumesCreateBody{Driver: "local"}) + _, err = client.VolumeCreate(context.Background(), volumetypes.VolumeCreateBody{Driver: "local"}) assert.NilError(t, err) } @@ -104,7 +104,7 @@ func TestAuthZPluginV2RejectVolumeRequests(t *testing.T) { // restart the daemon with the plugin d.Restart(t, "--authorization-plugin="+authzPluginNameWithTag) - _, err = client.VolumeCreate(context.Background(), volumetypes.VolumesCreateBody{Driver: "local"}) + _, err = client.VolumeCreate(context.Background(), volumetypes.VolumeCreateBody{Driver: "local"}) assert.Assert(t, err != nil) assert.Assert(t, strings.Contains(err.Error(), fmt.Sprintf("Error response from daemon: plugin %s failed with error:", authzPluginNameWithTag))) diff --git a/integration/volume/volume_test.go b/integration/volume/volume_test.go index d4dc648771..36822bb447 100644 --- a/integration/volume/volume_test.go +++ b/integration/volume/volume_test.go @@ -26,7 +26,7 @@ func TestVolumesCreateAndList(t *testing.T) { ctx := context.Background() name := t.Name() - vol, err := client.VolumeCreate(ctx, volumetypes.VolumesCreateBody{ + vol, err := client.VolumeCreate(ctx, volumetypes.VolumeCreateBody{ Name: name, }) assert.NilError(t, err) @@ -83,7 +83,7 @@ func TestVolumesInspect(t *testing.T) { now := time.Now().Truncate(time.Minute) name := t.Name() - _, err := client.VolumeCreate(ctx, volumetypes.VolumesCreateBody{ + _, err := client.VolumeCreate(ctx, volumetypes.VolumeCreateBody{ Name: name, }) assert.NilError(t, err)