[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8607?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14614824#comment-14614824
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8607:
--------------------------------------------

Github user karuturi commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/559#discussion_r33921332
  
    --- Diff: 
plugins/hypervisors/xenserver/test/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixRequestWrapperTest.java
 ---
    @@ -1320,14 +1322,23 @@ public void testOvsDestroyTunnelCommandFailed() {
     
         @Test
         public void testUpdateHostPasswordCommand() {
    -        final UpdateHostPasswordCommand updatePwd = new 
UpdateHostPasswordCommand("test", "123");
    +        final ExecutionResult executionResult = 
Mockito.mock(ExecutionResult.class);
    +
    +        final UpdateHostPasswordCommand updatePwd = new 
UpdateHostPasswordCommand("test", "123", "127.0.0.1");
    +
    +        final StringBuffer buff = new StringBuffer();
    +        buff.append(updatePwd.getUsername());
    +        buff.append(' ');
    +        buff.append(updatePwd.getNewPassword());
    +
    +        when(citrixResourceBase.executeInVR(updatePwd.getHostIp(), 
VRScripts.UPDATE_HOST_PASSWD, buff.toString())).thenReturn(executionResult);
    --- End diff --
    
    Why do we need this mock here? 
    The test always succeeds as the SshHelper.execute fails with 
"java.io.IOException: There was a problem while connecting to 127.0.0.1:22"
    If I add the below line to test, it always fails
    verify(citrixResourceBase, 
Mockito.atLeastOnce()).executeInVR(Mockito.anyString(),Mockito.anyString(), 
Mockito.anyString());`
    
    Wanted but not invoked:
    `citrixResourceBase.executeInVR(
        <any>,
        <any>,
        <any>
    );`
    -> at 
`com.cloud.hypervisor.xenserver.resource.wrapper.xenbase.CitrixRequestWrapperTest.testUpdateHostPasswordCommand(CitrixRequestWrapperTest.java:1341)`
    
    However, there were other interactions with this mock:
    -> at 
`com.cloud.hypervisor.xenserver.resource.wrapper.xenbase.CitrixUpdateHostPasswordCommandWrapper.execute(CitrixUpdateHostPasswordCommandWrapper.java:57)`



> As an Operator I want to be able to change the host password on the host 
> itself via the updateHostPassword API
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-8607
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8607
>             Project: CloudStack
>          Issue Type: Improvement
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>          Components: KVM, XenServer
>            Reporter: Wilder Rodrigues
>            Assignee: Wilder Rodrigues
>             Fix For: 4.6.0
>
>
> 1. Change the API to offer a flag to decide to update the host or not
>    - The default should be false
>    - The flag is not mandatory
> 2. When the flag is informed and true, in case of communication error with 
> the host we have to rollback the DB changes
> 3. In case of XenServer, do not allow single host update
>    - Update shall be done only when the cluster ID is informed
>    - It doesn't apply for KVM



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to