Ori Liel has uploaded a new change for review.

Change subject: restapi: Fix Duplicate Name In Cloud-Init Schema (#1039921)
......................................................................

restapi: Fix Duplicate Name In Cloud-Init Schema (#1039921)

Duplicate name 'network' in schema violated a name-uniqneness assumption
of python-sdk code generation.

Bug-Url: http://bugzilla.redhat.com/1039921
Change-Id: If251b2ee2dec5660cce04d4e1332f91a33c7485b
Signed-off-by: Ori Liel <ol...@redhat.com>
---
M 
backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
M 
backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
M 
backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/validation/CloudInitValidator.java
M 
backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
4 files changed, 30 insertions(+), 28 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/98/22298/1

diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
index abe17bc..3f000b4 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/api.xsd
@@ -2446,15 +2446,8 @@
   <xs:complexType name="CloudInit">
     <xs:sequence>
       <xs:element ref="host" minOccurs="0"/>
-      <xs:element name="network" minOccurs="0">
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element ref="nics" minOccurs="0"/>
-            <xs:element ref="dns" minOccurs="0"/>
-          </xs:sequence>
-        </xs:complexType>
-      </xs:element> <!-- </network> -->
       <xs:element ref="authorized_keys" minOccurs="0"/>
+      <xs:element ref="network_configuration" minOccurs="0"/>
       <xs:element name="regenerate_ssh_keys" type="xs:boolean" minOccurs="0"/>
       <xs:element name="timezone" type="xs:string" minOccurs="0"/>
       <xs:element ref="users" minOccurs="0"/>
@@ -2462,6 +2455,15 @@
     </xs:sequence>
   </xs:complexType>
 
+  <xs:complexType name="NetworkConfiguration">
+    <xs:sequence>
+      <xs:element ref="nics" minOccurs="0"/>
+      <xs:element ref="dns" minOccurs="0"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:element name="network_configuration" type="NetworkConfiguration"/>
+
   <xs:complexType name="VmPlacementPolicy">
     <xs:sequence>
       <xs:element name="host" type="Host" minOccurs="0" maxOccurs="1"/>
diff --git 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
index c892cae..58a66ba 100644
--- 
a/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
+++ 
b/backend/manager/modules/restapi/interface/definition/src/main/resources/rsdl_metadata.yaml
@@ -287,21 +287,21 @@
           action.vm.domain.user.username: 'xs:string', action.pause: 
'xs:boolean',
           action.vm.os.boot--COLLECTION: {boot.dev: 
'xs:string'},action.vm.domain.user.password: 'xs:string',
           action.vm.initialization.cloud_init.hostname: 'xs:string',
-          action.vm.initialization.cloud_init.network.nics.nic--COLLECTION: 
{nic.name: 'xs:string',
+          
action.vm.initialization.cloud_init.network_configuration.nics.nic--COLLECTION: 
{nic.name: 'xs:string',
           nic.boot_protocol: 'xs:string',
           nic.network.address.ip: 'xs:string',
           nic.network.address.netmask: 'xs:string',
           nic.network.address.gateway: 'xs:string',
           nic.onboot: 'xs:boolean'},
-          
action.vm.initialization.cloud_init.network.dns.servers.host--COLLECTION: 
{host.address: 'xs:string'},
-          
action.vm.initialization.cloud_init.network.dns.search_domains.host--COLLECTION:
 {host.address: 'xs:string'},
+          
action.vm.initialization.cloud_init.network_configuration.dns.servers.host--COLLECTION:
 {host.address: 'xs:string'},
+          
action.vm.initialization.cloud_init.network_configuration.dns.search_domains.host--COLLECTION:
 {host.address: 'xs:string'},
           
action.vm.initialization.cloud_init.authorized_keys.authorized_key--COLLECTION: 
{authorized_key.key: 'xs:string',
           authorized_key.user.name: 'xs:string'},
           action.vm.initialization.cloud_init.regenerate_ssh_keys: 
'xs:boolean',
           action.vm.initialization.cloud_init.timezone: 'xs:string',
           action.vm.initialization.cloud_init.users.user--COLLECTION: 
{user.password: 'xs:string', user.name: 'xs:string'},
           
action.vm.initialization.cloud_init.payload_files.payload_file--COLLECTION: 
{payload_file.name: 'xs:string',
-          payload_file.content: 'xs:string',payload_file.type: 'xs:string'}
+          payload_file.content: 'xs:string',payload_file.type: 'xs:string'}}
         description: start a virtual machine in the system identified by the 
given id with the options specified in the request body
     urlparams: {}
     headers:
diff --git 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/validation/CloudInitValidator.java
 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/validation/CloudInitValidator.java
index 626225c..7204a17 100644
--- 
a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/validation/CloudInitValidator.java
+++ 
b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/validation/CloudInitValidator.java
@@ -14,10 +14,10 @@
     @Override
     public void validateEnums(CloudInit model) {
         if (model != null) {
-            if (model.isSetNetwork()) {
-                if (model.getNetwork().isSetNics()
-                        && !model.getNetwork().getNics().getNics().isEmpty()) {
-                    for (NIC iface : model.getNetwork().getNics().getNics()) {
+            if (model.isSetNetworkConfiguration()) {
+                if (model.getNetworkConfiguration().isSetNics()
+                        && 
!model.getNetworkConfiguration().getNics().getNics().isEmpty()) {
+                    for (NIC iface : 
model.getNetworkConfiguration().getNics().getNics()) {
                         validateEnum(BootProtocol.class, 
iface.getBootProtocol(), true);
                     }
                 }
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
index 0df96a6..ccd5f5b 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/VmMapper.java
@@ -959,10 +959,10 @@
             entity.setRegenerateKeys(model.isRegenerateSshKeys());
         }
 
-        if (model.isSetNetwork()) {
-            if (model.getNetwork().isSetNics()) {
+        if (model.isSetNetworkConfiguration()) {
+            if (model.getNetworkConfiguration().isSetNics()) {
                 Map<String, VdsNetworkInterface> interfaces = new HashMap<>();
-                for (NIC iface : model.getNetwork().getNics().getNics()) {
+                for (NIC iface : 
model.getNetworkConfiguration().getNics().getNics()) {
                     VdsNetworkInterface vdsNetworkInterface = new 
VdsNetworkInterface();
                     if (iface.isSetBootProtocol()) {
                         NetworkBootProtocol protocol = 
HostNicMapper.map(BootProtocol.fromValue(iface.getBootProtocol()), null);
@@ -992,12 +992,12 @@
 
                 entity.setInterfaces(interfaces);
             }
-            if (model.getNetwork().isSetDns()) {
-                if (model.getNetwork().getDns().isSetServers()
-                        && 
model.getNetwork().getDns().getServers().isSetHosts()
-                        && 
!model.getNetwork().getDns().getServers().getHosts().isEmpty()) {
+            if (model.getNetworkConfiguration().isSetDns()) {
+                if (model.getNetworkConfiguration().getDns().isSetServers()
+                        && 
model.getNetworkConfiguration().getDns().getServers().isSetHosts()
+                        && 
!model.getNetworkConfiguration().getDns().getServers().getHosts().isEmpty()) {
                     List<String> dnsServers = new ArrayList<>();
-                    for (Host host : 
model.getNetwork().getDns().getServers().getHosts()) {
+                    for (Host host : 
model.getNetworkConfiguration().getDns().getServers().getHosts()) {
                         if (host.isSetAddress()) {
                             dnsServers.add(host.getAddress());
                         }
@@ -1005,11 +1005,11 @@
                     entity.setDnsServers(dnsServers);
                 }
 
-                if (model.getNetwork().getDns().isSetSearchDomains()
-                        && 
model.getNetwork().getDns().getSearchDomains().isSetHosts()
-                        && 
!model.getNetwork().getDns().getSearchDomains().getHosts().isEmpty()) {
+                if 
(model.getNetworkConfiguration().getDns().isSetSearchDomains()
+                        && 
model.getNetworkConfiguration().getDns().getSearchDomains().isSetHosts()
+                        && 
!model.getNetworkConfiguration().getDns().getSearchDomains().getHosts().isEmpty())
 {
                     List<String> searchDomains = new ArrayList<>();
-                    for (Host host : 
model.getNetwork().getDns().getSearchDomains().getHosts()) {
+                    for (Host host : 
model.getNetworkConfiguration().getDns().getSearchDomains().getHosts()) {
                         if (host.isSetAddress()) {
                             searchDomains.add(host.getAddress());
                         }


-- 
To view, visit http://gerrit.ovirt.org/22298
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: If251b2ee2dec5660cce04d4e1332f91a33c7485b
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ori Liel <ol...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to