cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcus Sorensen <shadow...@gmail.com>
Subject Re: A question on vm migrations when hosts are set into a maintenance mode.
Date Wed, 02 Oct 2013 16:37:38 GMT
Not sure. I don't know the history well enough to know if there were
issues in the past, it might be that some hypervisors were fine and
others weren't.

On Wed, Oct 2, 2013 at 9:21 AM, Alex Ough <alex.ough@sungard.com> wrote:
> Marcus/Kelven,
>
> Any thoughts on my suggestions?
>
> Thanks
> Alex Ough
>
>
> On Tue, Sep 24, 2013 at 12:09 PM, Alex Ough <alex.ough@sungard.com> wrote:
>>
>> Oh, sorry for the confusion. I must have reversed the flags.
>> As Kelven pointed, it is set as 'TRUE', which makes the process as
>> sequential.
>>
>> So my questions are
>> 1. If there is any reason why the method have been defined to return
>> 'TRUE' always?
>> 2. Do we expect any side effects and/or malfunctioning if we change it to
>> returning 'FALSE'?
>> 3. For a resolution without breaking possible flows, can we add the value
>> of 'executeInSequence' to the global setting if #2 answers YES?
>>
>>
>> On Tue, Sep 24, 2013 at 11:19 AM, Marcus Sorensen <shadowsor@gmail.com>
>> wrote:
>>>
>>> I thought executeInSequence of 'true' made it go serially, or
>>> sequentially. In my codebase for 4.1,4.2,master it's been 'true' since
>>> August of 2010:
>>>
>>> 2010-08-11 09:13:29 -0700 19) public class MigrateCommand extends Command
>>> {
>>> 2010-08-11 09:13:29 -0700 20)     String vmName;
>>> 2010-08-11 09:13:29 -0700 21)     String destIp;
>>> 2011-08-10 10:26:04 -0700 22)     String hostGuid;
>>> 2010-08-11 09:13:29 -0700 23)     boolean isWindows;
>>> 2010-08-11 09:13:29 -0700 24)
>>> 2010-08-11 09:13:29 -0700 25)
>>> 2010-08-11 09:13:29 -0700 26)     protected MigrateCommand() {
>>> 2010-08-11 09:13:29 -0700 27)     }
>>> 2012-12-03 22:06:41 -0800 28)
>>> 2010-08-11 09:13:29 -0700 29)     public MigrateCommand(String vmName,
>>> String destIp, boolean isWindows)
>>> 2010-08-11 09:13:29 -0700 30)         this.vmName = vmName;
>>> 2010-08-11 09:13:29 -0700 31)         this.destIp = destIp;
>>> 2010-08-11 09:13:29 -0700 32)         this.isWindows = isWindows;
>>> 2010-08-11 09:13:29 -0700 33)     }
>>> 2012-12-03 22:06:41 -0800 34)
>>> 2010-08-11 09:13:29 -0700 35)     public boolean isWindows() {
>>> 2010-08-11 09:13:29 -0700 36)         return isWindows;
>>> 2010-08-11 09:13:29 -0700 37)     }
>>> 2012-12-03 22:06:41 -0800 38)
>>> 2010-08-11 09:13:29 -0700 39)     public String getDestinationIp() {
>>> 2010-08-11 09:13:29 -0700 40)         return destIp;
>>> 2010-08-11 09:13:29 -0700 41)     }
>>> 2012-12-03 22:06:41 -0800 42)
>>> 2010-08-11 09:13:29 -0700 43)     public String getVmName() {
>>> 2010-08-11 09:13:29 -0700 44)         return vmName;
>>> 2010-08-11 09:13:29 -0700 45)     }
>>> 2012-12-03 22:06:41 -0800 46)
>>> 2011-08-10 10:26:04 -0700 47)     public void setHostGuid(String guid)
>>> {
>>> 2011-08-10 10:26:04 -0700 48)         this.hostGuid = guid;
>>> 2011-08-10 10:26:04 -0700 49)     }
>>> 2012-12-03 22:06:41 -0800 50)
>>> 2011-08-10 10:26:04 -0700 51)     public String getHostGuid() {
>>> 2011-08-10 10:26:04 -0700 52)         return this.hostGuid;
>>> 2011-08-10 10:26:04 -0700 53)     }
>>> 2010-08-11 09:13:29 -0700 54)
>>> 2010-08-11 09:13:29 -0700 55)     @Override
>>> 2010-08-11 09:13:29 -0700 56)     public boolean executeInSequence() {
>>> 2010-08-11 09:13:29 -0700 57)         return true;
>>> 2010-08-11 09:13:29 -0700 58)     }
>>> 2010-08-11 09:13:29 -0700 59) }
>>>
>>> On Tue, Sep 24, 2013 at 9:58 AM, Chip Childers
>>> <chip.childers@sungard.com> wrote:
>>> > Hey Kelven - This topic was discussed briefly in the past [1].  Are you
>>> > able to provide any thoughts on Alex's ideas below?
>>> >
>>> > -chip
>>> >
>>> >
>>> > [1] http://markmail.org/message/fznrszaswruvlmuy
>>> >
>>> >
>>> >
>>> > On Tue, Sep 24, 2013 at 10:53:04AM -0500, Alex Ough wrote:
>>> >> For a resolution without breaking possible flows, I'd like to add the
>>> >> value
>>> >> of 'executeInSequence' to the global setting.
>>> >> Is there any reason not to do this?
>>> >>
>>> >> Thanks
>>> >> Alex Ough
>>> >>
>>> >>
>>> >> On Mon, Sep 23, 2013 at 12:57 PM, Alex Ough <alex.ough@sungard.com>
>>> >> wrote:
>>> >>
>>> >> > All,
>>> >> >
>>> >> > After a little more investigation, I found that the 'MigrateCommand'
>>> >> > defined its 'executeInSequence' method to return 'FALSE', which
>>> >> > seems to
>>> >> > make the vm migrations as serial even if the migration requests
are
>>> >> > dispatched to ha_worker in parallel.
>>> >> > You can confirm this in line 56 of
>>> >> > '/cloudstack/core/src/com/cloud/agent/api/MigrateCommand.java'
>>> >> >
>>> >> > So my question is if there is any reason why the method have been
>>> >> > defined to return 'FALSE' always?
>>> >> > And do we expect any side effects and/or malfunctioning if we change
>>> >> > it to
>>> >> > returning 'TRUE'?
>>> >> >
>>> >> > Any answers/comments will be very appreciated.
>>> >> > Thanks
>>> >> > Alex Ough
>>> >> >
>>> >> >
>>> >> > On Wed, Sep 18, 2013 at 10:22 AM, Alex Ough <alex.ough@sungard.com>
>>> >> > wrote:
>>> >> >
>>> >> >> I checked the vm migration when their host is set to a maintenance
>>> >> >> mode
>>> >> >> and found that even if the orchestration layer fires the each
vm
>>> >> >> migration
>>> >> >> at the same time using a ha_worker thread, the actual migration
>>> >> >> seems to be
>>> >> >> executed serially.
>>> >> >>
>>> >> >> Is this what we expect? And if so, any chance to make the actual
>>> >> >> migrations in parallel?
>>> >> >>
>>> >> >> Thanks
>>> >> >> Alex Ough
>>> >> >>
>>> >> >
>>> >> >
>>>
>>
>

Mime
View raw message