def METHOD_NAME(
    self,
    environment: Environment,
    log: Logger,
    node: Node,
) -> str:
    node_context = get_node_context(node)
    domain = ET.Element("domain")
    domain.attrib["type"] = "ch"
    name = ET.SubElement(domain, "name")
    name.text = node_context.vm_name
    memory = ET.SubElement(domain, "memory")
    memory.attrib["unit"] = "MiB"
    assert isinstance(node.capability.memory_mb, int)
    memory.text = str(node.capability.memory_mb)
    vcpu = ET.SubElement(domain, "vcpu")
    assert isinstance(node.capability.core_count, int)
    vcpu_count = node.capability.core_count
    vcpu.text = str(vcpu_count)
    os = ET.SubElement(domain, "os")
    os_type = ET.SubElement(os, "type")
    os_type.text = "hvm"
    os_kernel = ET.SubElement(os, "kernel")
    os_kernel.text = node_context.firmware_path
    devices = ET.SubElement(domain, "devices")
    console = ET.SubElement(devices, "console")
    console.attrib["type"] = "pty"
    console_target = ET.SubElement(console, "target")
    console_target.attrib["type"] = "serial"
    console_target.attrib["port"] = "0"
    network_interface = ET.SubElement(devices, "interface")
    network_interface.attrib["type"] = "network"
    network_interface_source = ET.SubElement(network_interface, "source")
    network_interface_source.attrib["network"] = "default"
    network_model = ET.SubElement(network_interface, "model")
    network_model.attrib["type"] = "virtio"
    network_driver = ET.SubElement(network_interface, "driver")
    network_driver.attrib["queues"] = str(vcpu_count)
    network_driver.attrib["iommu"] = "on"
    self._add_virtio_disk_xml(
        node_context,
        devices,
        node_context.os_disk_file_path,
        vcpu_count,
    )
    self._add_virtio_disk_xml(
        node_context,
        devices,
        node_context.cloud_init_file_path,
        vcpu_count,
    )
    xml = ET.tostring(domain, "unicode")
    return xml