CLOUDSTACK-10261: Libvirt metadata create only one nuage-extension xml tag (#2441)

This commit is contained in:
Frank Maximus 2018-02-12 12:06:44 +01:00 committed by Rohit Yadav
parent b2a19f7587
commit dee5bb527e
2 changed files with 24 additions and 8 deletions

View File

@ -1543,16 +1543,15 @@ public class LibvirtVMDef {
@Override
public String toString() {
StringBuilder fsBuilder = new StringBuilder();
fsBuilder.append("<nuage-extension xmlns='nuagenetworks.net/nuage/cna'>\n");
for (Map.Entry<String, String> address : addresses.entrySet()) {
fsBuilder.append("<nuage-extension xmlns='nuagenetworks.net/nuage/cna'>\n")
.append(" <interface mac='")
.append(address.getKey())
.append("' vsp-vr-ip='")
.append(address.getValue())
.append("'></interface>\n")
.append("</nuage-extension>\n");
fsBuilder.append(" <interface mac='")
.append(address.getKey())
.append("' vsp-vr-ip='")
.append(address.getValue())
.append("'></interface>\n");
}
return fsBuilder.toString();
return fsBuilder.append("</nuage-extension>\n").toString();
}
}

View File

@ -209,4 +209,21 @@ public class LibvirtVMDefTest extends TestCase {
assertEquals(str, expected);
}
public void testMetadataDef() {
LibvirtVMDef.MetadataDef metadataDef = new LibvirtVMDef.MetadataDef();
metadataDef.getMetadataNode(LibvirtVMDef.NuageExtensionDef.class).addNuageExtension("mac1", "ip1");
metadataDef.getMetadataNode(LibvirtVMDef.NuageExtensionDef.class).addNuageExtension("mac2", "ip2");
String xmlDef = metadataDef.toString();
String expectedXml = "<metadata>\n" +
"<nuage-extension xmlns='nuagenetworks.net/nuage/cna'>\n" +
" <interface mac='mac2' vsp-vr-ip='ip2'></interface>\n" +
" <interface mac='mac1' vsp-vr-ip='ip1'></interface>\n" +
"</nuage-extension>\n" +
"</metadata>\n";
assertEquals(xmlDef, expectedXml);
}
}