Puncte:2

Cum determinați locația unui Vagrantfile de la virt-manager?

drapel it

Sistemul de operare este Debian 10, furnizorul vagabond este libvirt.

statut global vagabond ar trebui să furnizeze informații despre toate VM-urile dintr-un sistem, dar pot vedea închiderea și rularea VM-uri în virt-manager care nu sunt listate de statut global vagabond. Am folosit libvirt doar pentru Vagrant, așa că știu că Vagrant este vinovat.

Cum determin directorul/Fișierul Vagrant asociat pentru fiecare dintre aceste vms?

Cred că această comandă ar face truc:

find / -name Vagrantfile -exec echo {} \; -exec bash -c 'cd "$(dirname {})" && stare vagabond | grep -E oprire\|rulare' \; 2>/dev/null

Dar pare absurd că ceva de genul acesta ar fi necesar și ar dura foarte mult timp pe un sistem de fișiere mare.

Cum pot determina exact directorul pentru fișierul Vagrant asociat pentru fiecare vm? Trebuie să existe o modalitate mai ușoară în afară de căutarea exhaustivă în sistemul de fișiere.

drapel cn
Am răspuns, dar apoi mi-am dat seama că nu am citit bine întrebarea!
Puncte:2
drapel us

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>

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.