now we talkin, updates to db now get reflected in cluster!
This commit is contained in:
@@ -6,28 +6,33 @@ import (
|
||||
)
|
||||
|
||||
func (virt *Libvirt) getAllDomains() {
|
||||
virt.getDomainsByFlag(libvirt.CONNECT_LIST_DOMAINS_ACTIVE)
|
||||
virt.getDomainsByFlag(libvirt.CONNECT_LIST_DOMAINS_INACTIVE)
|
||||
virt.Domains.Active = make(map[string]map[string]libvirt.Domain)
|
||||
virt.Domains.Inactive = make(map[string]map[string]libvirt.Domain)
|
||||
for uri, conn := range virt.Hosts {
|
||||
virt.Domains.Active[uri] = getDomainsByFlag(uri, conn, libvirt.CONNECT_LIST_DOMAINS_ACTIVE)
|
||||
virt.Domains.Inactive[uri] = getDomainsByFlag(uri, conn, libvirt.CONNECT_LIST_DOMAINS_INACTIVE)
|
||||
}
|
||||
}
|
||||
|
||||
func (virt *Libvirt) getDomainsByFlag(flag libvirt.ConnectListAllDomainsFlags) {
|
||||
for _, conn := range virt.Hosts {
|
||||
doms, err := conn.ListAllDomains(flag)
|
||||
uri, _ := conn.GetURI()
|
||||
func getDomainsByFlag(uri string, conn *libvirt.Connect, flag libvirt.ConnectListAllDomainsFlags) map[string]libvirt.Domain {
|
||||
domMap := make(map[string]libvirt.Domain)
|
||||
doms, err := conn.ListAllDomains(flag)
|
||||
if err != nil {
|
||||
log.PrintLog(
|
||||
log.ERROR,
|
||||
"Error fetching domain list from node with connection uri: \"%s\"! %s",
|
||||
uri, err)
|
||||
}
|
||||
for _, dom := range doms {
|
||||
uuid, err := dom.GetUUIDString()
|
||||
if err != nil {
|
||||
log.PrintLog(
|
||||
log.ERROR,
|
||||
"Error fetching domain list from node with connection uri: \"%s\"! %s",
|
||||
"Error getting id of domain on node with uri: \"%s\"! %s",
|
||||
uri, err)
|
||||
}
|
||||
virt.Guests[uri] = make(map[string]libvirt.Domain)
|
||||
for _, dom := range doms {
|
||||
name, err := dom.GetName()
|
||||
if err != nil {
|
||||
log.PrintLog(log.ERROR, "Error getting name of domain on node with connection string \"%s\"! %s",
|
||||
uri, err)
|
||||
}
|
||||
virt.Guests[uri][name] = dom
|
||||
} else {
|
||||
domMap[uuid] = dom
|
||||
}
|
||||
}
|
||||
return domMap
|
||||
}
|
||||
|
Reference in New Issue
Block a user