Describe the bug
I'm working with an AzureTRE environment with around 25 workspaces. During a new workspace deployment, the Firewall upgrade failed with the following error:
OSError: [Errno 7] Argumento list too long: '/bin/sh'
The full message can be seen in the attached screenshot.
After some debugging, I concluded that parameters sent to Porter, using --param network_rule_collections and --param rule_collections were too long. I mean, the Base64 encoded strings represent Rule collections and Application rule collections, were longer than the Linux image were able to handle.
This environment is based on AzureTRE 0.9.0, and Firewall shared service is version 1.1.7. However, comparing current Resource Processor version and the version we have deployed, the command seems to be based in the same approach; e.g., a single Porter upgrade command with all the parameters are created and launched.
Have you considered a different approach for updating Firewall rules?
I have tried to split the Porter upgrade command into 2 commands. One includes only --param network_rule_collections and the other includes only --param rule_collections. Preliminary tests went fine and I was able to unblock deployments, but I'm aware it's a mitigation.
Steps to reproduce
- Deploy lots of workspaces and lots of workspace services so that around 300 rules are created
- Firewall upgrade should fail due to too long list of parameters
Azure TRE release version (e.g. v0.14.0 or main):
Release version is v0.9.0
Deployed Azure TRE components - click the (i) in the UI:
Describe the bug
I'm working with an AzureTRE environment with around 25 workspaces. During a new workspace deployment, the Firewall upgrade failed with the following error:
The full message can be seen in the attached screenshot.
After some debugging, I concluded that parameters sent to Porter, using
--param network_rule_collectionsand--param rule_collectionswere too long. I mean, the Base64 encoded strings represent Rule collections and Application rule collections, were longer than the Linux image were able to handle.This environment is based on AzureTRE 0.9.0, and Firewall shared service is version 1.1.7. However, comparing current Resource Processor version and the version we have deployed, the command seems to be based in the same approach; e.g., a single Porter upgrade command with all the parameters are created and launched.
Have you considered a different approach for updating Firewall rules?
I have tried to split the Porter upgrade command into 2 commands. One includes only --param network_rule_collections and the other includes only --param rule_collections. Preliminary tests went fine and I was able to unblock deployments, but I'm aware it's a mitigation.
Steps to reproduce
Azure TRE release version (e.g. v0.14.0 or main):
Release version is v0.9.0
Deployed Azure TRE components - click the (i) in the UI: