Skip to content

Commit dee5bb5

Browse files
fmaximusyadvr
authored andcommitted
CLOUDSTACK-10261: Libvirt metadata create only one nuage-extension xml tag (#2441)
1 parent b2a19f7 commit dee5bb5

2 files changed

Lines changed: 24 additions & 8 deletions

File tree

plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtVMDef.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1543,16 +1543,15 @@ public void addNuageExtension(String macAddress, String vrIp) {
15431543
@Override
15441544
public String toString() {
15451545
StringBuilder fsBuilder = new StringBuilder();
1546+
fsBuilder.append("<nuage-extension xmlns='nuagenetworks.net/nuage/cna'>\n");
15461547
for (Map.Entry<String, String> address : addresses.entrySet()) {
1547-
fsBuilder.append("<nuage-extension xmlns='nuagenetworks.net/nuage/cna'>\n")
1548-
.append(" <interface mac='")
1549-
.append(address.getKey())
1550-
.append("' vsp-vr-ip='")
1551-
.append(address.getValue())
1552-
.append("'></interface>\n")
1553-
.append("</nuage-extension>\n");
1548+
fsBuilder.append(" <interface mac='")
1549+
.append(address.getKey())
1550+
.append("' vsp-vr-ip='")
1551+
.append(address.getValue())
1552+
.append("'></interface>\n");
15541553
}
1555-
return fsBuilder.toString();
1554+
return fsBuilder.append("</nuage-extension>\n").toString();
15561555
}
15571556
}
15581557

plugins/hypervisors/kvm/test/com/cloud/hypervisor/kvm/resource/LibvirtVMDefTest.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,4 +209,21 @@ public void testSCSIDef() {
209209
assertEquals(str, expected);
210210
}
211211

212+
public void testMetadataDef() {
213+
LibvirtVMDef.MetadataDef metadataDef = new LibvirtVMDef.MetadataDef();
214+
215+
metadataDef.getMetadataNode(LibvirtVMDef.NuageExtensionDef.class).addNuageExtension("mac1", "ip1");
216+
metadataDef.getMetadataNode(LibvirtVMDef.NuageExtensionDef.class).addNuageExtension("mac2", "ip2");
217+
218+
String xmlDef = metadataDef.toString();
219+
String expectedXml = "<metadata>\n" +
220+
"<nuage-extension xmlns='nuagenetworks.net/nuage/cna'>\n" +
221+
" <interface mac='mac2' vsp-vr-ip='ip2'></interface>\n" +
222+
" <interface mac='mac1' vsp-vr-ip='ip1'></interface>\n" +
223+
"</nuage-extension>\n" +
224+
"</metadata>\n";
225+
226+
assertEquals(xmlDef, expectedXml);
227+
}
228+
212229
}

0 commit comments

Comments
 (0)