Pe baza șablonului [1], Vagrant nu pare să țină evidența directorului de proiect asociat cu VM în metadatele domeniului libvirt.
Intern Vagrant păstrează informațiile despre VM (inclusiv directorul) într-un fișier JSON ~/vagrant.d/data/machine-index/index
, verificați exemplul [2]
Bănuiesc că este posibil să modificați șablonul pentru a adăuga directorul ca metadate, similar cu modul în care Openstack Nova adaugă câteva metadate la domeniul libvirt al invitatului, metadatele pot fi folosite pentru a obține numele VM, Flavour etc. direct din nodul de calcul. fără să o întreb pe Nova.
Evident, acest lucru nu se aplică VM-urilor existente înainte de modificare.
[1] https://github.com/vagrant-libvirt/vagrant-libvirt/blob/master/lib/vagrant-libvirt/templates/domain.xml.erb
[2]
cat .\index | python -m json.tool
{
"versiunea": 1,
„mașini”: {
„4f9bf5cd740f409c867553c19c52a81c”: {
"local_data_path": "C:/Vagrant-Machines/bionic-vm/.vagrant",
"nume": "implicit",
"furnizor": "hiperv",
"state": "a alerga",
„vagrantfile_name”: nul,
"vagrantfile_path": "C:/Vagrant-Machines/bionic-vm",
„updated_at”: nul,
„date_extra”: {
"cutie": {
"nume": "hashicorp/bionic64",
"furnizor": "hiperv",
"versiunea": "1.0.282"
}
}
}
}
}
Pentru referință, iată cum arată metedata în cazul Nova:
virsh dumpxml instance-0033dd00 | cap
<domain type='kvm' id='93'>
<name>instanță-0033dd00</name>
<uuid>XXXXXXXXXXXXXXXXXXXXX</uuid>
<metadate>
<nova:instance xmlns:nova="http://openstack.org/xmlns/libvirt/nova/1.0">
<nova:package version="17.0.13"/>
<nova:name>VM-NAME</nova:name>
<nova:creationTime>2021-05-11 10:50:49</nova:creationTime>
<nova:flavor name="m1.small">
<nova:memory>16384</nova:memory>