From 0d172ab55c6eb9a235870d8f98d619078bb91078 Mon Sep 17 00:00:00 2001 From: Manuel Bentele Date: Tue, 16 Nov 2021 08:43:18 +0100 Subject: Add CPU topology functionality for Libvirt domain XML configs --- .../java/org/openslx/libvirt/domain/Domain.java | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) (limited to 'src/main/java/org/openslx/libvirt/domain/Domain.java') diff --git a/src/main/java/org/openslx/libvirt/domain/Domain.java b/src/main/java/org/openslx/libvirt/domain/Domain.java index e6049fa..ca10261 100644 --- a/src/main/java/org/openslx/libvirt/domain/Domain.java +++ b/src/main/java/org/openslx/libvirt/domain/Domain.java @@ -767,6 +767,90 @@ public class Domain extends LibvirtXmlDocument this.getRootXmlNode().setXmlElementAttributeValue( "cpu", "check", check.toString() ); } + /** + * Returns the number of virtual machine CPU dies defined in the Libvirt domain XML document. + * + * @return number of virtual machine CPU dies. + */ + public int getCpuDies() + { + final String numDies = this.getRootXmlNode().getXmlElementAttributeValue( "cpu/topology", "dies" ); + return Integer.valueOf( numDies ); + } + + /** + * Set number of virtual machine CPU dies in the Libvirt domain XML document. + * + * @param number virtual machine CPU dies. + */ + public void setCpuDies( int number ) + { + this.getRootXmlNode().setXmlElementAttributeValue( "cpu/topology", "dies", Integer.toString( number ) ); + } + + /** + * Returns the number of virtual machine CPU sockets defined in the Libvirt domain XML document. + * + * @return number of virtual machine CPU sockets. + */ + public int getCpuSockets() + { + final String numSockets = this.getRootXmlNode().getXmlElementAttributeValue( "cpu/topology", "sockets" ); + return Integer.valueOf( numSockets ); + } + + /** + * Set number of virtual machine CPU dies in the Libvirt domain XML document. + * + * @param number virtual machine CPU dies. + */ + public void setCpuSockets( int number ) + { + this.getRootXmlNode().setXmlElementAttributeValue( "cpu/topology", "sockets", Integer.toString( number ) ); + } + + /** + * Returns the number of virtual machine CPU cores defined in the Libvirt domain XML document. + * + * @return number of virtual machine CPU cores. + */ + public int getCpuCores() + { + final String numCores = this.getRootXmlNode().getXmlElementAttributeValue( "cpu/topology", "cores" ); + return Integer.valueOf( numCores ); + } + + /** + * Set number of virtual machine CPU cores in the Libvirt domain XML document. + * + * @param number virtual machine CPU cores. + */ + public void setCpuCores( int number ) + { + this.getRootXmlNode().setXmlElementAttributeValue( "cpu/topology", "cores", Integer.toString( number ) ); + } + + /** + * Returns the number of virtual machine CPU threads defined in the Libvirt domain XML document. + * + * @return number of virtual machine CPU threads. + */ + public int getCpuThreads() + { + final String numThreads = this.getRootXmlNode().getXmlElementAttributeValue( "cpu/topology", "threads" ); + return Integer.valueOf( numThreads ); + } + + /** + * Set number of virtual machine CPU threads in the Libvirt domain XML document. + * + * @param number virtual machine CPU threads. + */ + public void setCpuThreads( int number ) + { + this.getRootXmlNode().setXmlElementAttributeValue( "cpu/topology", "threads", Integer.toString( number ) ); + } + /** * Returns the file name of the emulator binary defined in the Libvirt domain XML document. * -- cgit v1.2.3-55-g7522