@@ -59,6 +59,8 @@ public class LibvirtDomainXMLParser {
5959 private Integer vncPort ;
6060 private String desc ;
6161
62+ private String name ;
63+
6264 public boolean parseDomainXML (String domXML ) {
6365 DocumentBuilder builder ;
6466 try {
@@ -71,6 +73,7 @@ public boolean parseDomainXML(String domXML) {
7173 Element rootElement = doc .getDocumentElement ();
7274
7375 desc = getTagValue ("description" , rootElement );
76+ name = getTagValue ("name" , rootElement );
7477
7578 Element devices = (Element )rootElement .getElementsByTagName ("devices" ).item (0 );
7679 NodeList disks = devices .getElementsByTagName ("disk" );
@@ -303,15 +306,19 @@ public boolean parseDomainXML(String domXML) {
303306 String path = getTagValue ("backend" , rng );
304307 String bytes = getAttrValue ("rate" , "bytes" , rng );
305308 String period = getAttrValue ("rate" , "period" , rng );
306-
307- if (StringUtils .isEmpty (backendModel )) {
308- def = new RngDef (path , Integer .parseInt (bytes ), Integer .parseInt (period ));
309+ if (StringUtils .isAnyEmpty (bytes , period )) {
310+ s_logger .debug (String .format ("Bytes and period in the rng section should not be null, please check the VM %s" , name ));
309311 } else {
310- def = new RngDef (path , RngBackendModel .valueOf (backendModel .toUpperCase ()),
311- Integer .parseInt (bytes ), Integer .parseInt (period ));
312+ if (StringUtils .isEmpty (backendModel )) {
313+ def = new RngDef (path , Integer .parseInt (bytes ), Integer .parseInt (period ));
314+ } else {
315+ def = new RngDef (path , RngBackendModel .valueOf (backendModel .toUpperCase ()),
316+ Integer .parseInt (bytes ), Integer .parseInt (period ));
317+ }
318+ }
319+ if (def != null ) {
320+ rngDefs .add (def );
312321 }
313-
314- rngDefs .add (def );
315322 }
316323
317324 NodeList watchDogs = devices .getElementsByTagName ("watchdog" );
@@ -418,4 +425,8 @@ public List<WatchDogDef> getWatchDogs() {
418425 public String getDescription () {
419426 return desc ;
420427 }
428+
429+ public String getName () {
430+ return name ;
431+ }
421432}
0 commit comments