cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Ough <alex.o...@sungard.com>
Subject Re: A question on vm migrations when hosts are set into a maintenance mode.
Date Wed, 02 Oct 2013 15:21:59 GMT
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
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message