def domain_create(hypervisor, identifier, configuration, disk_path):
    """libvirt Domain definition.

    @raise: ConfigError, IOError, libvirt.libvirtError.

    """
    with open(configuration['configuration']) as config_file:
        domain_config = config_file.read()

    xml = domain_xml(identifier, domain_config, disk_path)

    return hypervisor.defineXML(xml)