Merge pull request #32409 from dnephin/support-consistency-params-in-compose

Add support for volume consistency in compose format
This commit is contained in:
Victor Vieux 2017-04-07 17:26:50 -07:00 committed by GitHub
commit 25484159e8
6 changed files with 19 additions and 11 deletions

View File

@ -28,10 +28,11 @@ func convertVolumeToMount(
namespace Namespace,
) (mount.Mount, error) {
result := mount.Mount{
Type: mount.Type(volume.Type),
Source: volume.Source,
Target: volume.Target,
ReadOnly: volume.ReadOnly,
Type: mount.Type(volume.Type),
Source: volume.Source,
Target: volume.Target,
ReadOnly: volume.ReadOnly,
Consistency: mount.Consistency(volume.Consistency),
}
// Anonymous volumes

View File

@ -220,6 +220,10 @@ services:
- ~/configs:/etc/configs/:ro
# Named volume
- datavolume:/var/lib/mysql
- type: bind
source: ./opt
target: /opt
consistency: cached
working_dir: /code

View File

@ -910,6 +910,7 @@ func TestFullExample(t *testing.T) {
{Source: workingDir + "/static", Target: "/var/www/html", Type: "bind"},
{Source: homeDir + "/configs", Target: "/etc/configs/", Type: "bind", ReadOnly: true},
{Source: "datavolume", Target: "/var/lib/mysql", Type: "volume"},
{Source: workingDir + "/opt", Target: "/opt", Consistency: "cached", Type: "bind"},
},
WorkingDir: "/code",
}

File diff suppressed because one or more lines are too long

View File

@ -249,6 +249,7 @@
"source": {"type": "string"},
"target": {"type": "string"},
"read_only": {"type": "boolean"},
"consistency": {"type": "string"},
"bind": {
"type": "object",
"properties": {

View File

@ -229,12 +229,13 @@ type ServicePortConfig struct {
// ServiceVolumeConfig are references to a volume used by a service
type ServiceVolumeConfig struct {
Type string
Source string
Target string
ReadOnly bool `mapstructure:"read_only"`
Bind *ServiceVolumeBind
Volume *ServiceVolumeVolume
Type string
Source string
Target string
ReadOnly bool `mapstructure:"read_only"`
Consistency string
Bind *ServiceVolumeBind
Volume *ServiceVolumeVolume
}
// ServiceVolumeBind are options for a service volume of type bind