Bug 843168 - ovirt-engine-backend: misleading error when trying to fence host without PM configured [TEXT]
Summary: ovirt-engine-backend: misleading error when trying to fence host without PM c...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: ovirt-engine
Version: 3.1.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: ---
Assignee: Eli Mesika
QA Contact: Tareq Alayan
URL:
Whiteboard: infra
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-07-25 19:10 UTC by Oded Ramraz
Modified: 2016-02-10 19:02 UTC (History)
9 users (show)

Fixed In Version: si16
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-11-12 22:04:19 UTC
oVirt Team: Infra
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Oded Ramraz 2012-07-25 19:10:57 UTC
Description of problem:

When I'm trying to fence host without power management configured I'm getting misleading error: "Cannot stop Host. Fencing operation failed., Cannot perform Stop operation, Host has to be in Maintenance mode in order to be stopped"
I expect to get an error about no PM configured ...

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

## host details 

 <host id="07a308be-d67f-11e1-b33b-001a4a231295" href="/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295">
        <name>cinteg35.ci.lab.tlv.redhat.com</name>
        <actions>
            <link rel="fence" href="/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295/fence"/>
            <link rel="install" href="/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295/install"/>
            <link rel="activate" href="/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295/activate"/>
            <link rel="deactivate" href="/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295/deactivate"/>
            <link rel="approve" href="/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295/approve"/>
            <link rel="iscsilogin" href="/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295/iscsilogin"/>
            <link rel="iscsidiscover" href="/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295/iscsidiscover"/>
            <link rel="commitnetconfig" href="/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295/commitnetconfig"/>
        </actions>
        <link rel="storage" href="/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295/storage"/>
        <link rel="nics" href="/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295/nics"/>
        <link rel="tags" href="/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295/tags"/>
        <link rel="permissions" href="/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295/permissions"/>
        <link rel="statistics" href="/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295/statistics"/>
        <address>10.35.148.108</address>
        <certificate>
            <organization>oVirt</organization>
            <subject>O=oVirt,CN=10.35.148.108</subject>
        </certificate>
        <status>
            <state>up</state>
        </status>
        <cluster id="059643ce-d67f-11e1-9410-001a4a231295" href="/api/clusters/059643ce-d67f-11e1-9410-001a4a231295"/>
        <port>54321</port>
        <type>rhel</type>
        <storage_manager priority="5">false</storage_manager>
        <power_management>
            <enabled>false</enabled>
            <options/>
        </power_management>
        <ksm>
            <enabled>false</enabled>
        </ksm>
        <transparent_hugepages>
            <enabled>false</enabled>
        </transparent_hugepages>
        <iscsi>
            <initiator>iqn.1994-05.com.redhat:7d19e19ec49b</initiator>
        </iscsi>
        <cpu>
            <topology cores="4" sockets="1"/>
            <name>Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz</name>
            <speed>2400</speed>
        </cpu>
        <memory>12479102976</memory>
        <summary>
            <total>0</total>
        </summary>
    </host>
</hosts>


## fence post command :

2012-07-25 20:39:59,910 - MainThread - hosts - DEBUG - Response code is valid: [200, 201] 
2012-07-25 20:39:59,913 - MainThread - hosts - DEBUG - Action request content is --  url:http://localhost:8080/api/hosts/07a308be-d67f-11e1-b33b-001a4a231295/fence body:<action><async>false</async><grace_period><expiry>10</expiry><absolute>false</absolute></grace_period><fence_type>STOP</fence_type></action> 
2012-07-25 20:40:00,239 - MainThread - hosts - DEBUG - Response body for action request is: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<action>
    <async>false</async>
    <grace_period>
        <expiry>10</expiry>
    </grace_period>
    <fence_type>STOP</fence_type>
    <status>
        <state>failed</state>
    </status>
    <fault>
        <reason>Operation Failed</reason>
        <detail>[Cannot stop Host. Fencing operation failed., Cannot perform Stop operation, Host has to be in Maintenance mode in order to be stopped.]</detail>
    </fault>
</action>

Comment 1 Eli Mesika 2012-08-04 19:54:02 UTC
http://gerrit.ovirt.org/#/c/6879

Comment 2 Eli Mesika 2012-08-09 23:52:37 UTC
fixed in commit: 99c42a1

Comment 4 Tareq Alayan 2012-10-31 14:29:00 UTC
The error message is still misleading when <fence_type>STOP</fence_type>
while it is fixed when <fence_type>RESTART</fence_type>

Request STOP:
=============
<action>
    <async>false</async>
    <grace_period>
        <expiry>10</expiry>
        <absolute>false</absolute>
    </grace_period>
    <fence_type>STOP</fence_type>
</action>
Response STOP:
==============
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<action>
    <async>false</async>
    <grace_period>
        <expiry>10</expiry>
    </grace_period>
    <fence_type>STOP</fence_type>
    <status>
        <state>failed</state>
    </status>
    <fault>
        <reason>Operation Failed</reason>
        <detail>[Cannot fence Host, Host fencing is disabled., Cannot perform Stop operation, Host has to be in Maintenance mode in order to be stopped.]</detail>
    </fault>
</action>

REQUEST RESTART:
================
<action>
    <async>false</async>
    <grace_period>
        <expiry>10</expiry>
        <absolute>false</absolute>
    </grace_period>
    <fence_type>RESTART</fence_type>
</action>
RESPONSE RESTART:
=================
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<action>
    <async>false</async>
    <grace_period>
        <expiry>10</expiry>
    </grace_period>
    <fence_type>RESTART</fence_type>
    <status>
        <state>failed</state>
    </status>
    <fault>
        <reason>Operation Failed</reason>
        <detail>[Cannot fence Host, Host fencing is disabled.]</detail>
    </fault>
</action>

Comment 6 Eli Mesika 2012-11-12 22:04:19 UTC
This is not a Bug, you got the right message in both Stop & Restart
"Cannot fence Host, Host fencing is disabled."
The difference is, that in Stop you got an additional message :
"Cannot perform Stop operation, Host has to be in Maintenance mode in order to be stopped."

Each command has a validation phase (called canDoAction) and execution phase.
During the validation phase, all validations are checked and we got back a list of all the validations rejections as a collection of messages.
Therefore, in Stop command, in which we are checking also the Host status, you  got in addition to the 'fencing is disabled' message , also the second message that reminds you that even if you had PM configured on the Host , still , the operation will fail since the Host is not in the right status.

IMHO, its user friendly , instead of fixing one problem , clicking the Stop again and getting another reason why your command is not working, you got it all and can fix it all at once .

I had closed this bug since it functions exactly as designed


Note You need to log in before you can comment on or make changes to this bug.