mirror of
https://github.com/rancher/os.git
synced 2025-09-08 18:20:32 +00:00
latest rancher-compose, default.go -> os-config.yml
also, gofmt
This commit is contained in:
@@ -92,9 +92,30 @@ func getHash(containerCfg *config.ContainerConfig) string {
|
||||
for _, sliceKey := range sliceKeys {
|
||||
io.WriteString(hash, fmt.Sprintf("%s=%v, ", sliceKey, s.MapParts()[sliceKey]))
|
||||
}
|
||||
case project.Maporslice:
|
||||
case project.MaporEqualSlice:
|
||||
sliceKeys := s.Slice()
|
||||
// do not sort environment keys as the order matters
|
||||
// do not sort keys as the order matters
|
||||
|
||||
for _, sliceKey := range sliceKeys {
|
||||
io.WriteString(hash, fmt.Sprintf("%s, ", sliceKey))
|
||||
}
|
||||
case project.MaporColonSlice:
|
||||
sliceKeys := s.Slice()
|
||||
// do not sort keys as the order matters
|
||||
|
||||
for _, sliceKey := range sliceKeys {
|
||||
io.WriteString(hash, fmt.Sprintf("%s, ", sliceKey))
|
||||
}
|
||||
case project.MaporSpaceSlice:
|
||||
sliceKeys := s.Slice()
|
||||
// do not sort keys as the order matters
|
||||
|
||||
for _, sliceKey := range sliceKeys {
|
||||
io.WriteString(hash, fmt.Sprintf("%s, ", sliceKey))
|
||||
}
|
||||
case project.Command:
|
||||
sliceKeys := s.Slice()
|
||||
// do not sort keys as the order matters
|
||||
|
||||
for _, sliceKey := range sliceKeys {
|
||||
io.WriteString(hash, fmt.Sprintf("%s, ", sliceKey))
|
||||
@@ -157,7 +178,7 @@ func getByLabel(client *dockerClient.Client, key, value string) (*dockerClient.A
|
||||
containers, err := client.ListContainers(dockerClient.ListContainersOptions{
|
||||
All: true,
|
||||
Filters: map[string][]string{
|
||||
config.LABEL: []string{fmt.Sprintf("%s=%s", key, value)},
|
||||
config.LABEL: {fmt.Sprintf("%s=%s", key, value)},
|
||||
},
|
||||
})
|
||||
|
||||
@@ -190,7 +211,7 @@ func (c *Container) Lookup() *Container {
|
||||
containers, err := client.ListContainers(dockerClient.ListContainersOptions{
|
||||
All: true,
|
||||
Filters: map[string][]string{
|
||||
config.LABEL: []string{fmt.Sprintf("%s=%s", config.HASH, hash)},
|
||||
config.LABEL: {fmt.Sprintf("%s=%s", config.HASH, hash)},
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
@@ -246,7 +267,7 @@ func (c *Container) requiresUserDocker() bool {
|
||||
}
|
||||
|
||||
func (c *Container) hasLink(link string) bool {
|
||||
return util.Contains(c.ContainerCfg.Service.Links, link)
|
||||
return util.Contains(c.ContainerCfg.Service.Links.Slice(), link)
|
||||
}
|
||||
|
||||
func (c *Container) addLink(link string) {
|
||||
@@ -255,7 +276,7 @@ func (c *Container) addLink(link string) {
|
||||
}
|
||||
|
||||
log.Debugf("Adding %s link to %s", link, c.Name)
|
||||
c.ContainerCfg.Service.Links = append(c.ContainerCfg.Service.Links, link)
|
||||
c.ContainerCfg.Service.Links = project.NewMaporColonSlice(append(c.ContainerCfg.Service.Links.Slice(), link))
|
||||
}
|
||||
|
||||
func (c *Container) parseService() {
|
||||
|
@@ -45,7 +45,45 @@ func TestHash2(t *testing.T) {
|
||||
MigrateVolumes: false,
|
||||
ReloadConfig: false,
|
||||
CreateOnly: true,
|
||||
Service: &project.ServiceConfig{CapAdd:nil, CapDrop:nil, CpuShares:0, Command:"", Detach:"", Dns:project.NewStringorslice(), DnsSearch:project.NewStringorslice(), DomainName:"", Entrypoint:"", EnvFile:"", Environment:project.NewMaporslice([]string{}), Hostname:"", Image:"state", Labels:project.NewSliceorMap(map[string]string{"io.rancher.os.createonly":"true", "io.rancher.os.scope":"system"}), Links:nil, LogDriver:"json-file", MemLimit:0, Name:"", Net:"none", Pid:"", Ipc:"", Ports:nil, Privileged:true, Restart:"", ReadOnly:true, StdinOpen:false, Tty:false, User:"", Volumes:[]string{"/var/lib/docker:/var/lib/docker", "/var/lib/rancher/conf:/var/lib/rancher/conf", "/var/lib/system-docker:/var/lib/system-docker"}, VolumesFrom:nil, WorkingDir:"", Expose:nil, ExternalLinks:nil},
|
||||
Service: &project.ServiceConfig{
|
||||
CapAdd: nil,
|
||||
CapDrop: nil,
|
||||
CpuShares: 0,
|
||||
Command: project.NewCommand(),
|
||||
Detach: "",
|
||||
Dns: project.NewStringorslice(),
|
||||
DnsSearch: project.NewStringorslice(),
|
||||
DomainName: "",
|
||||
Entrypoint: project.NewCommand(),
|
||||
EnvFile: project.NewStringorslice(),
|
||||
Environment: project.NewMaporEqualSlice([]string{}),
|
||||
Hostname: "",
|
||||
Image: "state",
|
||||
Labels: project.NewSliceorMap(map[string]string{
|
||||
"io.rancher.os.createonly": "true",
|
||||
"io.rancher.os.scope": "system"}),
|
||||
Links: project.NewMaporColonSlice(nil),
|
||||
LogDriver: "json-file",
|
||||
MemLimit: 0,
|
||||
Name: "",
|
||||
Net: "none",
|
||||
Pid: "",
|
||||
Ipc: "",
|
||||
Ports: nil,
|
||||
Privileged: true,
|
||||
Restart: "",
|
||||
ReadOnly: true,
|
||||
StdinOpen: false,
|
||||
Tty: false,
|
||||
User: "",
|
||||
Volumes: []string{
|
||||
"/var/lib/docker:/var/lib/docker",
|
||||
"/var/lib/rancher/conf:/var/lib/rancher/conf",
|
||||
"/var/lib/system-docker:/var/lib/system-docker"},
|
||||
VolumesFrom: nil,
|
||||
WorkingDir: "",
|
||||
Expose: nil,
|
||||
ExternalLinks: nil},
|
||||
}
|
||||
|
||||
for i := 0; i < 1000; i++ {
|
||||
@@ -58,7 +96,6 @@ func TestBool2String(t *testing.T) {
|
||||
assert.Equal("true", fmt.Sprint(true), "")
|
||||
}
|
||||
|
||||
|
||||
func TestParse(t *testing.T) {
|
||||
assert := require.New(t)
|
||||
|
||||
|
@@ -13,6 +13,7 @@ type ContainerFactory struct {
|
||||
}
|
||||
|
||||
type containerBasedService struct {
|
||||
project.EmptyService
|
||||
name string
|
||||
project *project.Project
|
||||
container *Container
|
||||
|
Reference in New Issue
Block a user