MCPcopy
hub / github.com/docker/compose / reconcileNetworks

Method reconcileNetworks

pkg/compose/reconcile.go:145–169  ·  view source on GitHub ↗

reconcileNetworks adds plan nodes for network creation or recreation.

()

Source from the content-addressed store, hash-verified

143
144// reconcileNetworks adds plan nodes for network creation or recreation.
145func (r *reconciler) reconcileNetworks() error {
146 for _, key := range sortedKeys(r.project.Networks) {
147 desired := r.project.Networks[key]
148 if desired.External {
149 continue
150 }
151 observed, exists := r.observed.Networks[key]
152 if !exists {
153 r.planCreateNetwork(key, &desired)
154 continue
155 }
156
157 expectedHash, err := NetworkHash(&desired)
158 if err != nil {
159 return err
160 }
161 if observed.ConfigHash != "" && observed.ConfigHash != expectedHash {
162 if err := r.planRecreateNetwork(key, &desired); err != nil {
163 return err
164 }
165 }
166 // else: network exists and config matches, nothing to do
167 }
168 return nil
169}
170
171// planCreateNetwork adds a single CreateNetwork node and records it for dependency tracking.
172func (r *reconciler) planCreateNetwork(key string, nw *types.NetworkConfig) *PlanNode {

Callers 1

reconcileFunction · 0.95

Calls 4

planCreateNetworkMethod · 0.95
planRecreateNetworkMethod · 0.95
sortedKeysFunction · 0.85
NetworkHashFunction · 0.85

Tested by

no test coverage detected