mirror of https://github.com/docker/compose.git
Merge pull request #714 from docker/volumes-e2e
Add aci volumes e2e test
This commit is contained in:
commit
de9a1d832e
1
go.mod
1
go.mod
|
@ -48,6 +48,7 @@ require (
|
||||||
github.com/opencontainers/go-digest v1.0.0
|
github.com/opencontainers/go-digest v1.0.0
|
||||||
github.com/opencontainers/runc v0.1.1 // indirect
|
github.com/opencontainers/runc v0.1.1 // indirect
|
||||||
github.com/pkg/errors v0.9.1
|
github.com/pkg/errors v0.9.1
|
||||||
|
github.com/prometheus/tsdb v0.7.1
|
||||||
github.com/sanathkr/go-yaml v0.0.0-20170819195128-ed9d249f429b
|
github.com/sanathkr/go-yaml v0.0.0-20170819195128-ed9d249f429b
|
||||||
github.com/sirupsen/logrus v1.6.0
|
github.com/sirupsen/logrus v1.6.0
|
||||||
github.com/smartystreets/goconvey v1.6.4 // indirect
|
github.com/smartystreets/goconvey v1.6.4 // indirect
|
||||||
|
|
5
go.sum
5
go.sum
|
@ -188,11 +188,14 @@ github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9
|
||||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
||||||
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
|
||||||
github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
|
github.com/go-ini/ini v1.25.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
|
||||||
|
github.com/go-kit/kit v0.8.0 h1:Wz+5lgoB0kkuqLEc6NVmwRknTKP6dTGbSqvhZtBI/j0=
|
||||||
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||||
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
|
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
|
||||||
|
github.com/go-logfmt/logfmt v0.4.0 h1:MP4Eh7ZCb31lleYCFuwm0oe4/YGak+5l1vA2NOE80nA=
|
||||||
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
||||||
github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
|
github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
|
||||||
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
|
||||||
|
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
|
||||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||||
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0=
|
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0=
|
||||||
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
|
github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo=
|
||||||
|
@ -312,6 +315,7 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
|
||||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||||
github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8=
|
github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8=
|
||||||
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||||
|
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY=
|
||||||
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
||||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||||
|
@ -404,6 +408,7 @@ github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R
|
||||||
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||||
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||||
github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
|
github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ=
|
||||||
|
github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA=
|
||||||
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
|
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
|
||||||
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
||||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||||
|
|
|
@ -20,10 +20,12 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
|
@ -39,6 +41,7 @@ import (
|
||||||
"github.com/Azure/azure-sdk-for-go/profiles/2019-03-01/resources/mgmt/resources"
|
"github.com/Azure/azure-sdk-for-go/profiles/2019-03-01/resources/mgmt/resources"
|
||||||
"github.com/Azure/azure-storage-file-go/azfile"
|
"github.com/Azure/azure-storage-file-go/azfile"
|
||||||
"github.com/Azure/go-autorest/autorest/to"
|
"github.com/Azure/go-autorest/autorest/to"
|
||||||
|
"github.com/prometheus/tsdb/fileutil"
|
||||||
|
|
||||||
"github.com/docker/compose-cli/aci"
|
"github.com/docker/compose-cli/aci"
|
||||||
"github.com/docker/compose-cli/aci/convert"
|
"github.com/docker/compose-cli/aci/convert"
|
||||||
|
@ -133,16 +136,27 @@ func getTestLocation() string {
|
||||||
return location[n]
|
return location[n]
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestContainerRunVolume(t *testing.T) {
|
func uploadTestFile(t *testing.T, aciContext store.AciContext, accountName string, fileshareName string, testFileName string, testFileContent string) {
|
||||||
c := NewParallelE2eCLI(t, binDir)
|
storageLogin := login.StorageLoginImpl{AciContext: aciContext}
|
||||||
sID, rg, location := setupTestResourceGroup(t, c)
|
key, err := storageLogin.GetAzureStorageAccountKey(context.TODO(), accountName)
|
||||||
|
assert.NilError(t, err)
|
||||||
|
cred, err := azfile.NewSharedKeyCredential(accountName, key)
|
||||||
|
assert.NilError(t, err)
|
||||||
|
u, _ := url.Parse(fmt.Sprintf("https://%s.file.core.windows.net/%s", accountName, fileshareName))
|
||||||
|
uploadFile(t, *cred, u.String(), testFileName, testFileContent)
|
||||||
|
}
|
||||||
|
|
||||||
|
const fileshareName = "dockertestshare"
|
||||||
|
|
||||||
|
func TestRunVolume(t *testing.T) {
|
||||||
const (
|
const (
|
||||||
fileshareName = "dockertestshare"
|
|
||||||
testFileContent = "Volume mounted successfully!"
|
testFileContent = "Volume mounted successfully!"
|
||||||
testFileName = "index.html"
|
testFileName = "index.html"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
c := NewParallelE2eCLI(t, binDir)
|
||||||
|
sID, rg, location := setupTestResourceGroup(t, c)
|
||||||
|
|
||||||
// Bootstrap volume
|
// Bootstrap volume
|
||||||
aciContext := store.AciContext{
|
aciContext := store.AciContext{
|
||||||
SubscriptionID: sID,
|
SubscriptionID: sID,
|
||||||
|
@ -180,8 +194,8 @@ func TestContainerRunVolume(t *testing.T) {
|
||||||
t.Run("create volumes", func(t *testing.T) {
|
t.Run("create volumes", func(t *testing.T) {
|
||||||
c.RunDockerCmd("volume", "create", "--storage-account", accountName, fileshareName)
|
c.RunDockerCmd("volume", "create", "--storage-account", accountName, fileshareName)
|
||||||
})
|
})
|
||||||
volumeID = accountName + "/" + fileshareName
|
|
||||||
|
|
||||||
|
volumeID = accountName + "/" + fileshareName
|
||||||
t.Cleanup(func() {
|
t.Cleanup(func() {
|
||||||
c.RunDockerCmd("volume", "rm", volumeID)
|
c.RunDockerCmd("volume", "rm", volumeID)
|
||||||
res := c.RunDockerCmd("volume", "ls")
|
res := c.RunDockerCmd("volume", "ls")
|
||||||
|
@ -215,14 +229,7 @@ func TestContainerRunVolume(t *testing.T) {
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("upload file", func(t *testing.T) {
|
t.Run("upload file", func(t *testing.T) {
|
||||||
storageLogin := login.StorageLoginImpl{AciContext: aciContext}
|
uploadTestFile(t, aciContext, accountName, fileshareName, testFileName, testFileContent)
|
||||||
|
|
||||||
key, err := storageLogin.GetAzureStorageAccountKey(context.TODO(), accountName)
|
|
||||||
assert.NilError(t, err)
|
|
||||||
cred, err := azfile.NewSharedKeyCredential(accountName, key)
|
|
||||||
assert.NilError(t, err)
|
|
||||||
u, _ := url.Parse(fmt.Sprintf("https://%s.file.core.windows.net/%s", accountName, fileshareName))
|
|
||||||
uploadFile(t, *cred, u.String(), testFileName, testFileContent)
|
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("run", func(t *testing.T) {
|
t.Run("run", func(t *testing.T) {
|
||||||
|
@ -465,24 +472,66 @@ func TestContainerRunAttached(t *testing.T) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestComposeUpUpdate(t *testing.T) {
|
func overwriteFileStorageAccount(t *testing.T, absComposefileName string, storageAccount string) {
|
||||||
c := NewParallelE2eCLI(t, binDir)
|
data, err := ioutil.ReadFile(absComposefileName)
|
||||||
_, groupID, location := setupTestResourceGroup(t, c)
|
assert.NilError(t, err)
|
||||||
|
override := strings.Replace(string(data), "dockertestvolumeaccount", storageAccount, 1)
|
||||||
|
err = ioutil.WriteFile(absComposefileName, []byte(override), 0644)
|
||||||
|
assert.NilError(t, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestUpUpdate(t *testing.T) {
|
||||||
const (
|
const (
|
||||||
composeFile = "../composefiles/aci-demo/aci_demo_port.yaml"
|
|
||||||
composeFileMultiplePorts = "../composefiles/aci-demo/aci_demo_multi_port.yaml"
|
|
||||||
composeProjectName = "acidemo"
|
composeProjectName = "acidemo"
|
||||||
serverContainer = composeProjectName + "_web"
|
serverContainer = composeProjectName + "_web"
|
||||||
wordsContainer = composeProjectName + "_words"
|
wordsContainer = composeProjectName + "_words"
|
||||||
dbContainer = composeProjectName + "_db"
|
dbContainer = composeProjectName + "_db"
|
||||||
)
|
)
|
||||||
|
var (
|
||||||
|
singlePortVolumesComposefile = "aci_demo_port_volumes.yaml"
|
||||||
|
multiPortComposefile = "aci_demo_multi_port.yaml"
|
||||||
|
)
|
||||||
|
c := NewParallelE2eCLI(t, binDir)
|
||||||
|
sID, groupID, location := setupTestResourceGroup(t, c)
|
||||||
|
composeAccountName := groupID + "-sa"
|
||||||
|
composeAccountName = strings.ReplaceAll(composeAccountName, "-", "")
|
||||||
|
composeAccountName = strings.ToLower(composeAccountName)
|
||||||
|
|
||||||
|
dstDir := filepath.Join(os.TempDir(), "e2e-aci-volume-"+composeAccountName)
|
||||||
|
err := fileutil.CopyDirs("../composefiles/aci-demo/", dstDir)
|
||||||
|
assert.NilError(t, err)
|
||||||
|
t.Cleanup(func() {
|
||||||
|
assert.NilError(t, os.RemoveAll(dstDir))
|
||||||
|
})
|
||||||
|
|
||||||
|
singlePortVolumesComposefile = filepath.Join(dstDir, singlePortVolumesComposefile)
|
||||||
|
overwriteFileStorageAccount(t, singlePortVolumesComposefile, composeAccountName)
|
||||||
|
multiPortComposefile = filepath.Join(dstDir, multiPortComposefile)
|
||||||
|
|
||||||
t.Run("compose up", func(t *testing.T) {
|
t.Run("compose up", func(t *testing.T) {
|
||||||
|
const (
|
||||||
|
testFileName = "msg.txt"
|
||||||
|
testFileContent = "VOLUME_OK"
|
||||||
|
)
|
||||||
|
|
||||||
|
c.RunDockerCmd("volume", "create", "--storage-account", composeAccountName, fileshareName)
|
||||||
|
volumeID := composeAccountName + "/" + fileshareName
|
||||||
|
t.Cleanup(func() {
|
||||||
|
c.RunDockerCmd("volume", "rm", volumeID)
|
||||||
|
})
|
||||||
|
|
||||||
|
// Bootstrap volume
|
||||||
|
aciContext := store.AciContext{
|
||||||
|
SubscriptionID: sID,
|
||||||
|
Location: location,
|
||||||
|
ResourceGroup: groupID,
|
||||||
|
}
|
||||||
|
uploadTestFile(t, aciContext, composeAccountName, fileshareName, testFileName, testFileContent)
|
||||||
|
|
||||||
dnsLabelName := "nginx-" + groupID
|
dnsLabelName := "nginx-" + groupID
|
||||||
fqdn := dnsLabelName + "." + location + ".azurecontainer.io"
|
fqdn := dnsLabelName + "." + location + ".azurecontainer.io"
|
||||||
// Name of Compose project is taken from current folder "acie2e"
|
// Name of Compose project is taken from current folder "acie2e"
|
||||||
c.RunDockerCmd("compose", "up", "-f", composeFile, "--domainname", dnsLabelName)
|
c.RunDockerCmd("compose", "up", "-f", singlePortVolumesComposefile, "--domainname", dnsLabelName, "--project-name", "acidemo")
|
||||||
|
|
||||||
res := c.RunDockerCmd("ps")
|
res := c.RunDockerCmd("ps")
|
||||||
out := lines(res.Stdout())
|
out := lines(res.Stdout())
|
||||||
|
@ -495,7 +544,7 @@ func TestComposeUpUpdate(t *testing.T) {
|
||||||
strings.Contains(l, ":80->80/tcp")
|
strings.Contains(l, ":80->80/tcp")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assert.Assert(t, webRunning, "web container not running")
|
assert.Assert(t, webRunning, "web container not running ; ps:\n"+res.Stdout())
|
||||||
|
|
||||||
res = c.RunDockerCmd("inspect", serverContainer)
|
res = c.RunDockerCmd("inspect", serverContainer)
|
||||||
|
|
||||||
|
@ -510,6 +559,9 @@ func TestComposeUpUpdate(t *testing.T) {
|
||||||
|
|
||||||
endpoint = fmt.Sprintf("http://%s:%d", fqdn, containerInspect.Ports[0].HostPort)
|
endpoint = fmt.Sprintf("http://%s:%d", fqdn, containerInspect.Ports[0].HostPort)
|
||||||
HTTPGetWithRetry(t, endpoint+"/words/noun", http.StatusOK, 2*time.Second, 20*time.Second)
|
HTTPGetWithRetry(t, endpoint+"/words/noun", http.StatusOK, 2*time.Second, 20*time.Second)
|
||||||
|
|
||||||
|
body := HTTPGetWithRetry(t, endpoint+"/volume_test/"+testFileName, http.StatusOK, 2*time.Second, 20*time.Second)
|
||||||
|
assert.Assert(t, strings.Contains(body, testFileContent))
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("compose ps", func(t *testing.T) {
|
t.Run("compose ps", func(t *testing.T) {
|
||||||
|
@ -553,7 +605,7 @@ func TestComposeUpUpdate(t *testing.T) {
|
||||||
})
|
})
|
||||||
|
|
||||||
t.Run("update", func(t *testing.T) {
|
t.Run("update", func(t *testing.T) {
|
||||||
c.RunDockerCmd("compose", "up", "-f", composeFileMultiplePorts, "--project-name", composeProjectName)
|
c.RunDockerCmd("compose", "up", "-f", multiPortComposefile, "--project-name", composeProjectName)
|
||||||
res := c.RunDockerCmd("ps")
|
res := c.RunDockerCmd("ps")
|
||||||
out := lines(res.Stdout())
|
out := lines(res.Stdout())
|
||||||
// Check three containers are running
|
// Check three containers are running
|
||||||
|
@ -645,7 +697,7 @@ func TestRunEnvVars(t *testing.T) {
|
||||||
|
|
||||||
func setupTestResourceGroup(t *testing.T, c *E2eCLI) (string, string, string) {
|
func setupTestResourceGroup(t *testing.T, c *E2eCLI) (string, string, string) {
|
||||||
startTime := strconv.Itoa(int(time.Now().Unix()))
|
startTime := strconv.Itoa(int(time.Now().Unix()))
|
||||||
rg := "E2E-" + t.Name() + "-" + startTime
|
rg := "E2E-" + t.Name() + "-" + startTime[5:]
|
||||||
azureLogin(t, c)
|
azureLogin(t, c)
|
||||||
sID := getSubscriptionID(t)
|
sID := getSubscriptionID(t)
|
||||||
location := getTestLocation()
|
location := getTestLocation()
|
||||||
|
|
|
@ -13,11 +13,11 @@ services:
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
volumes:
|
volumes:
|
||||||
- mydata:/mount/testvolumes
|
- mydata:/static/volume_test
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
mydata:
|
mydata:
|
||||||
driver: azure_file
|
driver: azure_file
|
||||||
driver_opts:
|
driver_opts:
|
||||||
share_name: minecraft-volume
|
share_name: dockertestshare
|
||||||
storage_account_name: minecraftdocker
|
storage_account_name: dockertestvolumeaccount
|
Loading…
Reference in New Issue