diff options
author | Thomas Hipp <thipp@suse.de> | 2017-02-22 13:20:09 +0100 |
---|---|---|
committer | Thomas Hipp <thipp@suse.de> | 2017-03-15 13:59:59 +0100 |
commit | d6174cad42eef4d8d08bddb4d316620ae0a75f9b (patch) | |
tree | 1061566017c02c6d1aa31b7834914139ee246332 /libvirt/utils_libvirt.go | |
parent | 7bcecfecfe90390ea14d27c324111a1224b86280 (diff) | |
download | terraform-provider-libvirt-d6174cad42eef4d8d08bddb4d316620ae0a75f9b.tar terraform-provider-libvirt-d6174cad42eef4d8d08bddb4d316620ae0a75f9b.tar.gz |
Exclude `graphics` block on s390x and ppc64
Since the `graphics` and `video` devices cause problems on s390x and
ppc64, they are ignored when creating a domain.
Signed-off-by: Thomas Hipp <thipp@suse.de>
Diffstat (limited to 'libvirt/utils_libvirt.go')
-rw-r--r-- | libvirt/utils_libvirt.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libvirt/utils_libvirt.go b/libvirt/utils_libvirt.go index e14e9554..5b38a5ea 100644 --- a/libvirt/utils_libvirt.go +++ b/libvirt/utils_libvirt.go @@ -1,6 +1,7 @@ package libvirt import ( + "encoding/xml" "log" libvirt "github.com/dmacvicar/libvirt-go" @@ -39,3 +40,26 @@ func updateHost(n *libvirt.VirNetwork, ip, mac, name string) error { log.Printf("Updating host with XML:\n%s", xmlDesc) return n.UpdateXMLDesc(xmlDesc, libvirt.VIR_NETWORK_UPDATE_COMMAND_MODIFY, libvirt.VIR_NETWORK_SECTION_IP_DHCP_HOST) } + +func getHostArchitecture(virConn *libvirt.VirConnection) (string, error) { + type HostCapabilities struct { + XMLName xml.Name `xml:"capabilities"` + Host struct { + XMLName xml.Name `xml:"host"` + CPU struct { + XMLName xml.Name `xml:"cpu"` + Arch string `xml:"arch"` + } + } + } + + info, err := virConn.GetCapabilities() + if err != nil { + return "", err + } + + capabilities := HostCapabilities{} + xml.Unmarshal([]byte(info), &capabilities) + + return capabilities.Host.CPU.Arch, nil +} |