Thanks for the reply, Marcus.

What about the option #3, which is to make it as a global setting?
I think it can prevent side effects if exist.

Alex Ough


On Wed, Oct 2, 2013 at 11:37 AM, Marcus Sorensen <shadow...@gmail.com>wrote:

> 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.o...@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.o...@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 <shadow...@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.child...@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.o...@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.o...@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
> >>> >> >>
> >>> >> >
> >>> >> >
> >>>
> >>
> >
>
>

Reply via email to