Migration Toolkit Docs

Section

How Controllers Select AOS-10 Images

Three-layer image resolution: family → model override → default

Image Selection Mechanism

When the controller executes ap convert active specific-aps activate, it does NOT require explicit image parameters. Instead, the toolkit pre-determines which AOS-10 image each AP model needs and passes that information via the image_map.json configuration file. The controller uses the AP model to look up the correct image automatically.

Three-Layer Image Resolution

1Per-Model Override (Highest Priority)

The toolkit checks image_map.json for a specific model override first. If configured, this takes absolute precedence. Example:

"model_overrides": {
  "AP-515": "ArubaInstant_Hercules_10.7.1.0_90001",
  "AP-635": "ArubaInstant_Scorpio_10.7.1.0_90000"
}

When to use: When a specific model requires a different AOS-10 build than its family (e.g., beta features, security patches, known incompatibilities).

2Hardware Family (Medium Priority)

If no model override exists, the toolkit looks up the AP model's hardware family (WiFi-5, WiFi-6, WiFi-6E, WiFi-7) and retrieves the mapped image. Example:

"families": {
  "wifi5": "ArubaInstant_Hercules_10.7.1.0_90000",
  "wifi6": "ArubaInstant_Draco_10.7.1.0_90000",
  "wifi6e": "ArubaInstant_Scorpio_10.7.1.0_90000",
  "wifi7": "ArubaInstant_Vela_10.7.1.0_90000"
}

Builtin families: WiFi-5 (AP-3xx, 5xx), WiFi-6 (AP-6xx, 64x), WiFi-6E (AP-6xx-E), WiFi-7 (AP-7xx).

3Builtin Defaults (Lowest Priority)

If the model's family is not in image_map.json, the toolkit falls back to compiled-in defaults from models.py. This ensures the migration always has a fallback image.

Image Selection Flow

User runs migration
         ↓
For each AP in convert list:
  1. Get AP model (e.g., "AP-515")
  2. Check image_map.json model_overrides["AP-515"] → Found? Use it
  3. If not found, lookup AP family (e.g., "wifi5")
  4. Check image_map.json families["wifi5"] → Found? Use it
  5. If not found, use builtin DEFAULT_FAMILY_IMAGES["wifi5"]
  6. Result: target_image = "ArubaInstant_Hercules_10.7.1.0_90000"
         ↓
Toolkit builds command:
  ap convert active specific-aps activate image-url https://server/ArubaInstant_Hercules_10.7.1.0_90000.tar
         ↓
Controller executes on AP (matching its model to image)

Three Image Download Methods

ACentral Cloud Pull (Default)

ap convert active specific-aps activate (no parameters)

How it works: Controller contacts Aruba Central to fetch the AOS-10 image for the AP's model. Central returns the image based on the AP's device registration and subscription.

Requirements: Central connectivity, valid bearer token, subscription active, image available in Central.

BHTTPS Image Server (Custom URL)

ap convert active specific-aps activate image-url https://server.com/path/ArubaInstant_Hercules_10.7.1.0_90000.tar

How it works: Controller downloads the AOS-10 image from the specified HTTPS URL (company internal server, CDN, or external mirror).

Requirements: HTTPS server reachable from controller, image file present at URL, TLS/certificate validation (optional).

CLocal Flash (Pre-staged)

ap convert active specific-aps local-flash

How it works: Controller uses a pre-staged AOS-10 image already present on the controller's local flash. AP loads directly from controller flash without download.

Requirements: Image pre-staged on controller flash using image download or image fetch commands.

Editing image_map.json for Custom Builds

The image_map.json file is fully editable and controls which AOS-10 build the toolkit deploys to each AP model. Location: aos_migration_toolkit/data/image_map.json

Example: Update WiFi-6 Family Image
Before:
"wifi6": "ArubaInstant_Draco_10.7.1.0_90000"

After (update to patch version):
"wifi6": "ArubaInstant_Draco_10.7.1.1_90002"
Example: Override Single Model
"model_overrides": {
  "AP-515": "ArubaInstant_Hercules_10.7.1.0_BETA_90050"
}

Important: Confirm exact image filenames against your Aruba Central "Firmware" page or HPE Support Center before production use. Filename mismatch = download failure.

How Does the Controller Know Which Image to Use?

Answer: The toolkit tells the controller which image to use before the ap convert active specific-aps activate command is sent.

  1. Pre-Migration: Toolkit reads each AP's model from the controller database (via show ap database long)
  2. Image Resolution: Toolkit resolves the AP model to its target AOS-10 image using the three-layer lookup (model override → family → builtin)
  3. Command Building: Toolkit constructs the full activation command with the image URL (if using HTTPS method) or method flag (if using Central cloud or local-flash)
  4. Execution: Toolkit sends the complete command to the controller via SSH: ap convert active specific-aps activate image-url https://server/IMAGE_NAME.tar
  5. Controller Receipt: Controller receives the full command with image location/URL baked in. It doesn't perform image lookups—it just downloads from the provided URL or Central.

Real-World Model-to-Image Examples

AP-515

WiFi-5 campus AP

wifi5

ArubaInstant_Hercules_10.7.1.0_90000

AP-635

WiFi-6 campus AP

wifi6

ArubaInstant_Draco_10.7.1.0_90000

AP-635E

WiFi-6E campus AP

wifi6e

ArubaInstant_Scorpio_10.7.1.0_90000

AP-755

WiFi-7 campus AP

wifi7

ArubaInstant_Vela_10.7.1.0_90000

Summary

✓ The toolkit determines the AOS-10 image for each AP model BEFORE the activation command is sent

✓ Image selection uses a three-layer lookup: model override → family → builtin defaults

✓ The toolkit builds the complete command with the image URL/method and sends it to the controller

✓ The controller does NOT independently look up images—it uses exactly what the toolkit provides

✓ Three download methods available: Central cloud, HTTPS server, or pre-staged local-flash