Martin Peřina has uploaded a new change for review.

Change subject: restapi: Add flag to detect kdump before fencing
......................................................................

restapi: Add flag to detect kdump before fencing

Enables kdumpDetection flag to be set when adding/updating power
management configuration of host using REST API.

Change-Id: I3208e62cbca121a741fb83d9fafd37935df9c1ba
Bug-Url: https://bugzilla.redhat.com/1079821
Signed-off-by: Martin Perina <mper...@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/types/src/main/java/org/ovirt/engine/api/restapi/types/HostMapper.java
M 
backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/HostMapperTest.java
4 files changed, 17 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/21/26721/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 89a4760..9b87b01 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
@@ -1408,6 +1408,7 @@
       <xs:element ref="pm_proxies" minOccurs="0" maxOccurs="1"/>
       <xs:element ref="agents" minOccurs="0"/>
       <xs:element name="automatic_pm_enabled" type="xs:boolean" minOccurs="0" 
maxOccurs="1"/>
+      <xs:element name="kdump_detection" type="xs:boolean" minOccurs="0" 
maxOccurs="1"/>
     </xs:sequence>
     <xs:attribute name="type" type="xs:string"/>
   </xs:complexType>
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 2bb756f..20135e2 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
@@ -2482,7 +2482,8 @@
           host.power_management.username: 'xs:string', 
host.power_management.password: 'xs:string', 
host.power_management.automatic_pm_enabled: 'xs:boolean',
           host.power_management.options.option--COLLECTION: {option.name: 
'xs:string', option.value: 'xs:string'},
           host.power_management.pm_proxy--COLLECTION: {propietary : 
'xs:string'}, host.power_management.agents.agent--COLLECTION:{type: 'xs:string',
-          address: 'xs:string', username: 'xs:string', password: 'xs:string', 
options.option--COLLECTION: {option.name: 'xs:string', option.value: 
'xs:string'}}}
+          address: 'xs:string', username: 'xs:string', password: 'xs:string', 
options.option--COLLECTION: {option.name: 'xs:string', option.value: 
'xs:string'}},
+          host.power_management.kdump_detection: 'xs:boolean'}
         description: update the specified host in the system. This is 
deprecated and is provided only for backwards compatibility
       - mandatoryArguments: {}
         optionalArguments: {host.name: 'xs:string', host.comment: 'xs:string', 
host.address: 'xs:string',
@@ -2493,7 +2494,8 @@
           host.power_management.password: 'xs:string', 
host.power_management.options.option--COLLECTION: {option.name: 'xs:string',
           option.value: 'xs:string'},  
host.power_management.pm_proxy--COLLECTION: {propietary : 'xs:string'},
           host.power_management.agents.agent--COLLECTION:{type: 'xs:string', 
address: 'xs:string', username: 'xs:string', password: 'xs:string',
-          options.option--COLLECTION: {option.name: 'xs:string', option.value: 
'xs:string'}}}
+          options.option--COLLECTION: {option.name: 'xs:string', option.value: 
'xs:string'}},
+          host.power_management.kdump_detection: 'xs:boolean'}
         description: update the specified host in the system
     urlparams:
       async: {context: matrix, type: 'xs:boolean', value: true|false, 
required: false}
@@ -2512,7 +2514,8 @@
           host.power_management.enabled: 'xs:boolean', 
host.power_management.address: 'xs:string', host.power_management.username: 
'xs:string', host.power_management.automatic_pm_enabled: 'xs:boolean',
           host.power_management.password: 'xs:string', 
host.power_management.options.option--COLLECTION: {option.name: 'xs:string', 
option.value: 'xs:string'},
           host.power_management.pm_proxy--COLLECTION: {propietary : 
'xs:string'}, host.power_management.agents.agent--COLLECTION:{type: 'xs:string',
-          address: 'xs:string', username: 'xs:string', password: 'xs:string', 
options.option--COLLECTION: {option.name: 'xs:string', option.value: 
'xs:string'}}, host.reboot_after_installation: 'xs:boolean', 
host.override_iptables: 'xs:boolean'}
+          address: 'xs:string', username: 'xs:string', password: 'xs:string', 
options.option--COLLECTION: {option.name: 'xs:string', option.value: 
'xs:string'}}, host.reboot_after_installation: 'xs:boolean', 
host.override_iptables: 'xs:boolean',
+          host.power_management.kdump_detection: 'xs:boolean'}
         description: add a new host to the system providing the host root 
password. This has been deprecated and provided for backwards compatibility
       - mandatoryArguments: {host.name: 'xs:string', host.address: 
'xs:string', host.cluster.id|name: 'xs:string'}
         optionalArguments: {host.comment: 'xs:string', host.ssh.port: 
'xs:int', host.ssh.fingerprint: 'xs:string', host.ssh.authentication_method: 
'xs:string',
@@ -2521,7 +2524,8 @@
           host.power_management.enabled: 'xs:boolean', 
host.power_management.address: 'xs:string', host.power_management.username: 
'xs:string',
           host.power_management.password: 'xs:string', 
host.power_management.options.option--COLLECTION: {option.name: 'xs:string', 
option.value: 'xs:string'},
           host.power_management.pm_proxy--COLLECTION: {propietary : 
'xs:string'}, host.power_management.agents.agent--COLLECTION:{type: 
'xs:string', address: 'xs:string',
-          username: 'xs:string', password: 'xs:string', 
options.option--COLLECTION: {option.name: 'xs:string', option.value: 
'xs:string'}}, host.reboot_after_installation: 'xs:boolean', 
host.override_iptables: 'xs:boolean'}
+          username: 'xs:string', password: 'xs:string', 
options.option--COLLECTION: {option.name: 'xs:string', option.value: 
'xs:string'}}, host.reboot_after_installation: 'xs:boolean', 
host.override_iptables: 'xs:boolean',
+          host.power_management.kdump_detection: 'xs:boolean'}
         description: add a new host to the system providing the ssh password 
or fingerprint
     urlparams: {}
     headers:
diff --git 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostMapper.java
 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostMapper.java
index edb7497..427fed2 100644
--- 
a/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostMapper.java
+++ 
b/backend/manager/modules/restapi/types/src/main/java/org/ovirt/engine/api/restapi/types/HostMapper.java
@@ -166,6 +166,7 @@
                 }
             }
         }
+        entity.setPmKdumpDetection(model.isKdumpDetection());
         return entity;
     }
 
@@ -515,6 +516,7 @@
                 model.getAgents().getAgents().add(agent);
             }
         }
+        model.setKdumpDetection(entity.isPmKdumpDetection());
         return model;
     }
 
diff --git 
a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/HostMapperTest.java
 
b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/HostMapperTest.java
index cd6310c..8d02b22 100644
--- 
a/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/HostMapperTest.java
+++ 
b/backend/manager/modules/restapi/types/src/test/java/org/ovirt/engine/api/restapi/types/HostMapperTest.java
@@ -202,6 +202,7 @@
         powerMgmt.setPassword("passwd");
         powerMgmt.setType("apc");
         powerMgmt.setUsername("user");
+        powerMgmt.setKdumpDetection(true);
 
         VdsStatic vdsStatic = new VdsStatic();
         vdsStatic.setManagementIp(ip[0]);
@@ -210,6 +211,7 @@
         vdsStatic.setPmPort(123);
         vdsStatic.setPmType("apc");
         vdsStatic.setPmUser("user");
+        vdsStatic.setPmKdumpDetection(false);
 
         VdsStatic mappedVdsStatic = HostMapper.map(powerMgmt, vdsStatic);
         assertEquals(mappedVdsStatic.getManagementIp(), ip[1]);
@@ -217,6 +219,7 @@
         assertEquals(mappedVdsStatic.getPmPassword(), "passwd");
         assertEquals(mappedVdsStatic.getPmType(), "apc");
         assertEquals(mappedVdsStatic.getPmUser(), "user");
+        assertTrue(mappedVdsStatic.isPmKdumpDetection());
     }
 
     @Test
@@ -247,6 +250,7 @@
         powerMgmt.setPassword("passwd");
         powerMgmt.setType("apc");
         powerMgmt.setUsername("user");
+        powerMgmt.setKdumpDetection(true);
 
         Agent agent = new Agent();
         agent.setOrder(1);
@@ -262,6 +266,7 @@
         vdsStatic.setPmPort(123);
         vdsStatic.setPmType("apc");
         vdsStatic.setPmUser("user");
+        vdsStatic.setPmKdumpDetection(false);
 
         VdsStatic mappedVdsStatic = HostMapper.map(powerMgmt, vdsStatic);
         assertEquals(mappedVdsStatic.getManagementIp(), ip[1]);
@@ -269,6 +274,7 @@
         assertEquals(mappedVdsStatic.getPmPassword(), "passwd");
         assertEquals(mappedVdsStatic.getPmType(), "apc");
         assertEquals(mappedVdsStatic.getPmUser(), "user");
+        assertTrue(mappedVdsStatic.isPmKdumpDetection());
     }
 
     @Test


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3208e62cbca121a741fb83d9fafd37935df9c1ba
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Peřina <mper...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to