def virt_conf(<EOL>self,<EOL>conf,<EOL>template_repo=None,<EOL>template_store=None,<EOL>do_bootstrap=True,<EOL>do_build=True<EOL>):
os.environ['<STR_LIT>'] = self.paths.prefix_path()<EOL>with utils.RollbackContext() as rollback:<EOL><INDENT>rollback.prependDefer(<EOL>shutil.rmtree, self.paths.prefix_path(), ignore_errors=True<EOL>)<EOL>self._metadata = {<EOL>'<STR_LIT>': pkg_resources.get_distribution("<STR_LIT>").version,<EOL>}<EOL>conf = self._prepare_domains_images(<EOL>conf=conf,<EOL>template_repo=template_repo,<EOL>template_store=template_store,<EOL>)<EOL>conf = self._config_net_topology(conf)<EOL>conf['<STR_LIT>'] = self._copy_deploy_scripts_for_hosts(<EOL>domains=conf['<STR_LIT>']<EOL>)<EOL>self._virt_env = self.VIRT_ENV_CLASS(<EOL>prefix=self,<EOL>vm_specs=conf['<STR_LIT>'],<EOL>net_specs=conf['<STR_LIT>'],<EOL>)<EOL>if do_bootstrap:<EOL><INDENT>self.virt_env.bootstrap()<EOL><DEDENT>if do_build:<EOL><INDENT>self.build(conf['<STR_LIT>'])<EOL><DEDENT>self.save()<EOL>rollback.clear()<EOL><DEDENT>
Initializes all the virt infrastructure of the prefix, creating the
domains disks, doing any network leases and creating all the virt
related files and dirs inside this prefix.

Args:
    conf (dict): Configuration spec
    template_repo (TemplateRepository): template repository intance
    template_store (TemplateStore): template store instance
    do_bootstrap(bool): If true run virt-sysprep on the images
    do_build(bool): If true run build commands on the images,
        see lago.build.py for more info.

Returns:
    None