firecracker-microvm/firecracker · error

MMDS error: metadata provided not valid json

Error message

MMDS error: metadata provided not valid json

What it means

Error "MMDS error: metadata provided not valid json" thrown in firecracker-microvm/firecracker.

Source

Thrown at src/vmm/src/resources.rs:216

            resources.set_block_device(drive_config)?;
        }

        for net_config in vmm_config.network_interfaces.into_iter() {
            resources.build_net_device(net_config)?;
        }

        if let Some(vsock_config) = vmm_config.vsock {
            resources.set_vsock_device(vsock_config)?;
        }

        if let Some(balloon_config) = vmm_config.balloon {
            resources.set_balloon_device(balloon_config)?;
        }

        // Init the data store from file, if present.
        if let Some(data) = metadata_json {
            resources.locked_mmds_or_default()?.put_data(
                serde_json::from_str(data).expect("MMDS error: metadata provided not valid json"),
            )?;
            info!("Successfully added metadata to mmds from file");
        }

        if let Some(mmds_config) = vmm_config.mmds_config {
            resources.set_mmds_config(mmds_config, &instance_info.id)?;
        }

        if let Some(entropy_device_config) = vmm_config.entropy {
            resources.build_entropy_device(entropy_device_config)?;
        }

        for pmem_config in vmm_config.pmem_devices.into_iter() {
            resources.build_pmem_device(pmem_config)?;
        }

        if let Some(serial_cfg) = vmm_config.serial_config {
            resources.serial_out_path = serial_cfg.serial_out_path;

View on GitHub (pinned to a5a45f68b8)

Solutions

  1. Validate the MMDS metadata as well-formed JSON before sending the PUT/PATCH request.
  2. Check for truncated request bodies and encoding issues in the metadata payload.

When it happens

Trigger: Thrown at src/vmm/src/resources.rs:216 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of firecracker-microvm/firecracker@a5a45f68b8 (2026-08-19). Data as JSON: /api/errors/67c5660928355e8f. Report an issue: GitHub.