MCPcopy Create free account
hub / github.com/docker/cli / updatePlacementPreferences

Function updatePlacementPreferences

cli/command/service/update.go:643–669  ·  view source on GitHub ↗
(flags *pflag.FlagSet, placement *swarm.Placement)

Source from the content-addressed store, hash-verified

641}
642
643func updatePlacementPreferences(flags *pflag.FlagSet, placement *swarm.Placement) {
644 var newPrefs []swarm.PlacementPreference
645
646 if flags.Changed(flagPlacementPrefRemove) {
647 for _, existing := range placement.Preferences {
648 removed := false
649 for _, removal := range flags.Lookup(flagPlacementPrefRemove).Value.(*placementPrefOpts).prefs {
650 if removal.Spread != nil && existing.Spread != nil && removal.Spread.SpreadDescriptor == existing.Spread.SpreadDescriptor {
651 removed = true
652 break
653 }
654 }
655 if !removed {
656 newPrefs = append(newPrefs, existing)
657 }
658 }
659 } else {
660 newPrefs = placement.Preferences
661 }
662
663 if flags.Changed(flagPlacementPrefAdd) {
664 newPrefs = append(newPrefs,
665 flags.Lookup(flagPlacementPrefAdd).Value.(*placementPrefOpts).prefs...)
666 }
667
668 placement.Preferences = newPrefs
669}
670
671func updateContainerLabels(flags *pflag.FlagSet, field *map[string]string) {
672 if *field != nil && flags.Changed(flagContainerLabelRemove) {

Callers 2

updateServiceFunction · 0.85
TestUpdatePlacementPrefsFunction · 0.85

Calls

no outgoing calls

Tested by 1

TestUpdatePlacementPrefsFunction · 0.68

Used in the wild real call sites across dependent graphs

searching dependent graphs…