mirror of https://github.com/docker/docs.git
fix func name and use extracExprs
Signed-off-by: Xian Chaobo <xianchaobo@huawei.com>
This commit is contained in:
parent
05ba86d329
commit
0037c31a95
|
@ -147,13 +147,10 @@ func (c *ContainerConfig) Constraints() []string {
|
||||||
return c.extractExprs("constraints")
|
return c.extractExprs("constraints")
|
||||||
}
|
}
|
||||||
|
|
||||||
// AddSoftImageAffinity to config
|
// AddAffinity to config
|
||||||
func (c *ContainerConfig) AddSoftImageAffinity(image string) error {
|
func (c *ContainerConfig) AddAffinity(affinity string) error {
|
||||||
affnitiesJSON := c.Labels[SwarmLabelNamespace+".affinities"]
|
affinities := c.extractExprs("affinities")
|
||||||
var affinities []string
|
affinities = append(affinities, affinity)
|
||||||
json.Unmarshal([]byte(affnitiesJSON), &affinities)
|
|
||||||
affinities = append(affinities, "image==~"+image)
|
|
||||||
|
|
||||||
labels, err := json.Marshal(affinities)
|
labels, err := json.Marshal(affinities)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -82,10 +82,10 @@ func TestConsolidateResourceFields(t *testing.T) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestAddSoftImageAffinity(t *testing.T) {
|
func TestAddAffinity(t *testing.T) {
|
||||||
config := BuildContainerConfig(dockerclient.ContainerConfig{})
|
config := BuildContainerConfig(dockerclient.ContainerConfig{})
|
||||||
assert.Empty(t, config.Affinities())
|
assert.Empty(t, config.Affinities())
|
||||||
|
|
||||||
config.AddSoftImageAffinity("testimage")
|
config.AddAffinity("image==~testimage")
|
||||||
assert.Len(t, config.Affinities(), 1)
|
assert.Len(t, config.Affinities(), 1)
|
||||||
}
|
}
|
||||||
|
|
|
@ -116,7 +116,7 @@ func (c *Cluster) createContainer(config *cluster.ContainerConfig, name string,
|
||||||
|
|
||||||
configTemp := config
|
configTemp := config
|
||||||
if withSoftImageAffinity {
|
if withSoftImageAffinity {
|
||||||
configTemp.AddSoftImageAffinity(config.Image)
|
configTemp.AddAffinity("image==~" + config.Image)
|
||||||
}
|
}
|
||||||
|
|
||||||
n, err := c.scheduler.SelectNodeForContainer(c.listNodes(), configTemp)
|
n, err := c.scheduler.SelectNodeForContainer(c.listNodes(), configTemp)
|
||||||
|
|
Loading…
Reference in New Issue