diff --git a/integration-cli/docker_cli_external_volume_driver_test.go b/integration-cli/docker_cli_external_volume_driver_test.go index 51480c88e7..ba623e4a56 100644 --- a/integration-cli/docker_cli_external_volume_driver_test.go +++ b/integration-cli/docker_cli_external_volume_driver_test.go @@ -16,6 +16,7 @@ import ( "github.com/docker/docker/api/types" volumetypes "github.com/docker/docker/api/types/volume" "github.com/docker/docker/integration-cli/daemon" + "github.com/docker/docker/pkg/plugins" "github.com/docker/docker/pkg/stringid" testdaemon "github.com/docker/docker/testutil/daemon" "github.com/docker/docker/volume" @@ -104,10 +105,10 @@ func newVolumePlugin(c *testing.T, name string) *volumePlugin { case error: http.Error(w, t.Error(), 500) case string: - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintln(w, t) default: - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) json.NewEncoder(w).Encode(&data) } } diff --git a/integration-cli/docker_cli_network_unix_test.go b/integration-cli/docker_cli_network_unix_test.go index b6653521e2..52f2daee0a 100644 --- a/integration-cli/docker_cli_network_unix_test.go +++ b/integration-cli/docker_cli_network_unix_test.go @@ -22,6 +22,7 @@ import ( "github.com/docker/docker/libnetwork/ipamapi" remoteipam "github.com/docker/docker/libnetwork/ipams/remote/api" "github.com/docker/docker/libnetwork/netlabel" + "github.com/docker/docker/pkg/plugins" "github.com/docker/docker/pkg/stringid" "github.com/docker/docker/runconfig" testdaemon "github.com/docker/docker/testutil/daemon" @@ -58,13 +59,13 @@ func (s *DockerNetworkSuite) SetUpSuite(c *testing.T) { func setupRemoteNetworkDrivers(c *testing.T, mux *http.ServeMux, url, netDrv, ipamDrv string) { mux.HandleFunc("/Plugin.Activate", func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, `{"Implements": ["%s", "%s"]}`, driverapi.NetworkPluginEndpointType, ipamapi.PluginEndpointType) }) // Network driver implementation mux.HandleFunc(fmt.Sprintf("/%s.GetCapabilities", driverapi.NetworkPluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, `{"Scope":"local"}`) }) @@ -74,22 +75,22 @@ func setupRemoteNetworkDrivers(c *testing.T, mux *http.ServeMux, url, netDrv, ip http.Error(w, "Unable to decode JSON payload: "+err.Error(), http.StatusBadRequest) return } - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, "null") }) mux.HandleFunc(fmt.Sprintf("/%s.DeleteNetwork", driverapi.NetworkPluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, "null") }) mux.HandleFunc(fmt.Sprintf("/%s.CreateEndpoint", driverapi.NetworkPluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, `{"Interface":{"MacAddress":"a0:b1:c2:d3:e4:f5"}}`) }) mux.HandleFunc(fmt.Sprintf("/%s.Join", driverapi.NetworkPluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) veth := &netlink.Veth{ LinkAttrs: netlink.LinkAttrs{Name: "randomIfName", TxQLen: 0}, PeerName: "cnt0", @@ -102,12 +103,12 @@ func setupRemoteNetworkDrivers(c *testing.T, mux *http.ServeMux, url, netDrv, ip }) mux.HandleFunc(fmt.Sprintf("/%s.Leave", driverapi.NetworkPluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, "null") }) mux.HandleFunc(fmt.Sprintf("/%s.DeleteEndpoint", driverapi.NetworkPluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) if link, err := netlink.LinkByName("cnt0"); err == nil { netlink.LinkDel(link) } @@ -128,7 +129,7 @@ func setupRemoteNetworkDrivers(c *testing.T, mux *http.ServeMux, url, netDrv, ip ) mux.HandleFunc(fmt.Sprintf("/%s.GetDefaultAddressSpaces", ipamapi.PluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, `{"LocalDefaultAddressSpace":"`+lAS+`", "GlobalDefaultAddressSpace": "`+gAS+`"}`) }) @@ -138,7 +139,7 @@ func setupRemoteNetworkDrivers(c *testing.T, mux *http.ServeMux, url, netDrv, ip http.Error(w, "Unable to decode JSON payload: "+err.Error(), http.StatusBadRequest) return } - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) if poolRequest.AddressSpace != lAS && poolRequest.AddressSpace != gAS { fmt.Fprintf(w, `{"Error":"Unknown address space in pool request: `+poolRequest.AddressSpace+`"}`) } else if poolRequest.Pool != "" && poolRequest.Pool != pool { @@ -154,7 +155,7 @@ func setupRemoteNetworkDrivers(c *testing.T, mux *http.ServeMux, url, netDrv, ip http.Error(w, "Unable to decode JSON payload: "+err.Error(), http.StatusBadRequest) return } - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) // make sure libnetwork is now querying on the expected pool id if addressRequest.PoolID != poolID { fmt.Fprintf(w, `{"Error":"unknown pool id"}`) @@ -171,7 +172,7 @@ func setupRemoteNetworkDrivers(c *testing.T, mux *http.ServeMux, url, netDrv, ip http.Error(w, "Unable to decode JSON payload: "+err.Error(), http.StatusBadRequest) return } - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) // make sure libnetwork is now asking to release the expected address from the expected poolid if addressRequest.PoolID != poolID { fmt.Fprintf(w, `{"Error":"unknown pool id"}`) @@ -188,7 +189,7 @@ func setupRemoteNetworkDrivers(c *testing.T, mux *http.ServeMux, url, netDrv, ip http.Error(w, "Unable to decode JSON payload: "+err.Error(), http.StatusBadRequest) return } - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) // make sure libnetwork is now asking to release the expected poolid if addressRequest.PoolID != poolID { fmt.Fprintf(w, `{"Error":"unknown pool id"}`) diff --git a/integration-cli/docker_cli_swarm_test.go b/integration-cli/docker_cli_swarm_test.go index 5338bbd234..53291aa177 100644 --- a/integration-cli/docker_cli_swarm_test.go +++ b/integration-cli/docker_cli_swarm_test.go @@ -26,6 +26,7 @@ import ( "github.com/docker/docker/libnetwork/driverapi" "github.com/docker/docker/libnetwork/ipamapi" remoteipam "github.com/docker/docker/libnetwork/ipams/remote/api" + "github.com/docker/docker/pkg/plugins" "github.com/moby/swarmkit/v2/ca/keyutils" "github.com/vishvananda/netlink" "gotest.tools/v3/assert" @@ -617,13 +618,13 @@ const ( func setupRemoteGlobalNetworkPlugin(c *testing.T, mux *http.ServeMux, url, netDrv, ipamDrv string) { mux.HandleFunc("/Plugin.Activate", func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, `{"Implements": ["%s", "%s"]}`, driverapi.NetworkPluginEndpointType, ipamapi.PluginEndpointType) }) // Network driver implementation mux.HandleFunc(fmt.Sprintf("/%s.GetCapabilities", driverapi.NetworkPluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, `{"Scope":"global"}`) }) @@ -633,12 +634,12 @@ func setupRemoteGlobalNetworkPlugin(c *testing.T, mux *http.ServeMux, url, netDr http.Error(w, "Unable to decode JSON payload: "+err.Error(), http.StatusBadRequest) return } - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, "null") }) mux.HandleFunc(fmt.Sprintf("/%s.FreeNetwork", driverapi.NetworkPluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, "null") }) @@ -648,22 +649,22 @@ func setupRemoteGlobalNetworkPlugin(c *testing.T, mux *http.ServeMux, url, netDr http.Error(w, "Unable to decode JSON payload: "+err.Error(), http.StatusBadRequest) return } - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, "null") }) mux.HandleFunc(fmt.Sprintf("/%s.DeleteNetwork", driverapi.NetworkPluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, "null") }) mux.HandleFunc(fmt.Sprintf("/%s.CreateEndpoint", driverapi.NetworkPluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, `{"Interface":{"MacAddress":"a0:b1:c2:d3:e4:f5"}}`) }) mux.HandleFunc(fmt.Sprintf("/%s.Join", driverapi.NetworkPluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) veth := &netlink.Veth{ LinkAttrs: netlink.LinkAttrs{Name: "randomIfName", TxQLen: 0}, PeerName: "cnt0", @@ -676,12 +677,12 @@ func setupRemoteGlobalNetworkPlugin(c *testing.T, mux *http.ServeMux, url, netDr }) mux.HandleFunc(fmt.Sprintf("/%s.Leave", driverapi.NetworkPluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, "null") }) mux.HandleFunc(fmt.Sprintf("/%s.DeleteEndpoint", driverapi.NetworkPluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) if link, err := netlink.LinkByName("cnt0"); err == nil { netlink.LinkDel(link) } @@ -702,7 +703,7 @@ func setupRemoteGlobalNetworkPlugin(c *testing.T, mux *http.ServeMux, url, netDr ) mux.HandleFunc(fmt.Sprintf("/%s.GetDefaultAddressSpaces", ipamapi.PluginEndpointType), func(w http.ResponseWriter, r *http.Request) { - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) fmt.Fprintf(w, `{"LocalDefaultAddressSpace":"`+lAS+`", "GlobalDefaultAddressSpace": "`+gAS+`"}`) }) @@ -712,7 +713,7 @@ func setupRemoteGlobalNetworkPlugin(c *testing.T, mux *http.ServeMux, url, netDr http.Error(w, "Unable to decode JSON payload: "+err.Error(), http.StatusBadRequest) return } - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) if poolRequest.AddressSpace != lAS && poolRequest.AddressSpace != gAS { fmt.Fprintf(w, `{"Error":"Unknown address space in pool request: `+poolRequest.AddressSpace+`"}`) } else if poolRequest.Pool != "" && poolRequest.Pool != pool { @@ -728,7 +729,7 @@ func setupRemoteGlobalNetworkPlugin(c *testing.T, mux *http.ServeMux, url, netDr http.Error(w, "Unable to decode JSON payload: "+err.Error(), http.StatusBadRequest) return } - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) // make sure libnetwork is now querying on the expected pool id if addressRequest.PoolID != poolID { fmt.Fprintf(w, `{"Error":"unknown pool id"}`) @@ -745,7 +746,7 @@ func setupRemoteGlobalNetworkPlugin(c *testing.T, mux *http.ServeMux, url, netDr http.Error(w, "Unable to decode JSON payload: "+err.Error(), http.StatusBadRequest) return } - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) // make sure libnetwork is now asking to release the expected address from the expected poolid if addressRequest.PoolID != poolID { fmt.Fprintf(w, `{"Error":"unknown pool id"}`) @@ -762,7 +763,7 @@ func setupRemoteGlobalNetworkPlugin(c *testing.T, mux *http.ServeMux, url, netDr http.Error(w, "Unable to decode JSON payload: "+err.Error(), http.StatusBadRequest) return } - w.Header().Set("Content-Type", "application/vnd.docker.plugins.v1+json") + w.Header().Set("Content-Type", plugins.VersionMimetype) // make sure libnetwork is now asking to release the expected poolid if addressRequest.PoolID != poolID { fmt.Fprintf(w, `{"Error":"unknown pool id"}`)