microsoft / microsoft/AzureTRE

Problem running multiple import reviews simultaneously?

Open
#4,752 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
235
Forks
192
Avg merge
1d 23h
Merged PRs (30d)
13

Description

I have a workspace where a user made two import requests. I tried to review them both at the same time, which creates two review VMs, one for each request.

At the end of the first approval, when the first VM is destroyed, there seems to be interference from the other VM. Destruction fails with the error:

Error: deleting Network Interface (Subscription: "*******" │ Resource
Group Name: "rg-mysde-ws-XXXX" │ Network Interface Name:
"internal-nic-mysde-ws-XXXX-svc-YYYY"): performing Delete: unexpected status 400 (400 Bad
Request) with error: NicReservedForAnotherVm: Nic(s) in request is reserved for another Virtual
Machine for 180 seconds. Please provide another nic(s) or retry after 180 seconds. Reserved VM:
/subscriptions/*******/resourceGroups/rg-mysde-ws-XXXX/providers/Microsoft.Compute/virtualMachines/windowsvme98f
[0m │  │ [0m  ╵ error running command /cnab/app/terraform ...

Steps to reproduce

  1. deploy a workspace
  2. make two import requests
  3. start the review process for both, so that there are two review VMs created
  4. approve or cancel one of the requests, so the review VM destruction begins
  5. watch in the airlock review workspace for the failure deleting the first VM

N.B. deleting the VM by hand later seems to work just fine, so it's not a blocker, just not very nice.

Azure TRE release version (e.g. v0.14.0 or main):
v0.21.0

Deployed Azure TRE components - click the (i) in the UI:
UI Version: 0.7.0
API Version: 0.21.1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue by creating two import requests and starting both review processes, then approve or cancel one. Trace the review VM destruction flow and its Terraform invocation under /cnab/app/terraform. Done means concurrent review VM cleanup no longer fails because the other VM temporarily reserves the network interface.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, python, terraform
Domain
cloud, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.