This script collects network, DNS, routing, and firewall configuration data relevant to troubleshooting Azure Red Hat OpenShift (ARO) provisioning failures.
- Azure CLI installed and authenticated (
az login) - Appropriate permissions to read network resources in your subscription
- For DNS resolution tests (
nslookup), run from a VM inside the same VNet as the ARO cluster for accurate results
Before running the script, set the following environment variables:
export RESOURCE_GROUP="" # Resource group containing the VNet
export VNET_NAME="" # VNet name used by ARO
export MASTER_SUBNET_NAME="" # ARO master subnet name
export WORKER_SUBNET_NAME="" # ARO worker subnet name
export REGION="" # Azure regionexport FIREWALL_RG="" # Resource group of the firewall
export FIREWALL_NAME="" # Azure Firewall name (leave empty if using 3rd-party NVA)
export ARO_SUBNET_PREFIX="" # ARO subnet prefix for log filtering (e.g., 10.0.1)Note: If using a third-party network virtual appliance (NVA) like Palo Alto or Fortinet, omit the FIREWALL_NAME variable or set it to an empty string.
# Make the script executable
chmod +x aro-network-diagnostics.sh
# Set required environment variables
export RESOURCE_GROUP="your-rg"
export VNET_NAME="your-vnet"
export MASTER_SUBNET_NAME="your-master-subnet"
export WORKER_SUBNET_NAME="your-worker-subnet"
export REGION="eastus"
# Optional: Set firewall variables
export FIREWALL_RG="your-firewall-rg"
export FIREWALL_NAME="your-firewall"
# Run the script
./aro-network-diagnostics.shThe script will generate an output file named aro-diagnostics-YYYYMMDD-HHMMSS.txt
The script gathers the following information:
-
VNet and Subnet Configuration
- VNet details (address space, DNS servers, location)
- Master and worker subnet configuration
- Route tables and NSG associations
-
DNS Configuration
- VNet DNS server settings
- DNS resolution tests for critical ARO endpoints:
arosvc.azurecr.ioarosvc.<region>.data.azurecr.iomanagement.azure.comlogin.microsoftonline.com
-
Private DNS Zones
- All private DNS zones in the subscription
- VNet links for zones in the resource group
- Common ARO-related privatelink zones
-
Route Tables (UDR)
- Routes configured on master and worker subnets
- User-defined routing configuration
-
Network Security Groups (NSG)
- NSG rules applied to master and worker subnets
-
VNet Peering
- Peering connections configured on the VNet
-
Azure Firewall Configuration (if applicable)
- Firewall settings and threat intelligence mode
- Network rule collections
- Application rule collections
The script creates a timestamped output file containing all collected diagnostic data. Share this file with Red Hat support when troubleshooting ARO deployment issues.
This script is compatible with both bash and zsh shells.
- If DNS resolution tests fail, ensure you're running the script from within the VNet or from a location with network connectivity to the VNet
- If firewall data collection fails, verify the
FIREWALL_RGandFIREWALL_NAMEvariables are correct - For third-party NVAs, you'll need to manually export firewall rules and traffic logs as noted in the script output