Skip to content

Commit 56deea6

Browse files
add mutex to route for peering (#3439) (#6243)
Signed-off-by: Modular Magician <[email protected]>
1 parent 8b9e43c commit 56deea6

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

.changelog/3439.txt

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:bug
2+
compute: Added lock to prevent `google_compute_route` from changing while peering operations are happening on its network
3+
```

google/resource_compute_route.go

+14
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,13 @@ func resourceComputeRouteCreate(d *schema.ResourceData, meta interface{}) error
247247
obj["nextHopIlb"] = nextHopIlbProp
248248
}
249249

250+
lockName, err := replaceVars(d, config, "projects/{{project}}/global/networks/{{network}}/peerings")
251+
if err != nil {
252+
return err
253+
}
254+
mutexKV.Lock(lockName)
255+
defer mutexKV.Unlock(lockName)
256+
250257
url, err := replaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/global/routes")
251258
if err != nil {
252259
return err
@@ -368,6 +375,13 @@ func resourceComputeRouteDelete(d *schema.ResourceData, meta interface{}) error
368375
return err
369376
}
370377

378+
lockName, err := replaceVars(d, config, "projects/{{project}}/global/networks/{{network}}/peerings")
379+
if err != nil {
380+
return err
381+
}
382+
mutexKV.Lock(lockName)
383+
defer mutexKV.Unlock(lockName)
384+
371385
url, err := replaceVars(d, config, "{{ComputeBasePath}}projects/{{project}}/global/routes/{{name}}")
372386
if err != nil {
373387
return err

0 commit comments

Comments
 (0)