Return-Path: X-Original-To: apmail-cloudstack-dev-archive@www.apache.org Delivered-To: apmail-cloudstack-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EFB3C1086D for ; Wed, 2 Oct 2013 17:13:59 +0000 (UTC) Received: (qmail 38088 invoked by uid 500); 2 Oct 2013 17:13:58 -0000 Delivered-To: apmail-cloudstack-dev-archive@cloudstack.apache.org Received: (qmail 38056 invoked by uid 500); 2 Oct 2013 17:13:57 -0000 Mailing-List: contact dev-help@cloudstack.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cloudstack.apache.org Delivered-To: mailing list dev@cloudstack.apache.org Received: (qmail 38048 invoked by uid 99); 2 Oct 2013 17:13:56 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Oct 2013 17:13:56 +0000 X-ASF-Spam-Status: No, hits=-0.1 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy includes SPF record at spf.trusted-forwarder.org) Received: from [74.125.149.143] (HELO na3sys009aog130.obsmtp.com) (74.125.149.143) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Oct 2013 17:13:51 +0000 Received: from mail-lb0-f177.google.com ([209.85.217.177]) (using TLSv1) by na3sys009aob130.postini.com ([74.125.148.12]) with SMTP ID DSNKUkxUOlRJYFEPVqmwc8vGQQSV5GxWtb9z@postini.com; Wed, 02 Oct 2013 10:13:30 PDT Received: by mail-lb0-f177.google.com with SMTP id w7so1019851lbi.36 for ; Wed, 02 Oct 2013 10:13:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=K9GqZSczPFEXqjvpMIlmqIR9jThaRj79hVXaogXglyQ=; b=aWXzowNKxjudWwBbPLAT0A8CTj07HY6fBWT4fu0BFeWeu0QU/I/0oemwPYKupUH0k2 L2+Wk/JOIeLgWa6yoLIOF/x4geL3w/e4KIzZ1aiBba5o9XDLcgRXdKhWsfiUukEx0kzg i5aWBs1MkiM7WILVacieumZ7qQwp2zU98V+YdhJCsxXJy/9Vm+Jeh83/JgGuNzL6a9Z4 5IraQ7/3ISLmcohoWsn1YxzZgj6XZY/OsVdtTjddRD7dhPHLtMQkisb/M+nv3hMK9/v5 eZRkssAOehKzi/aP1PnLX62tUT+Sh51Oec7SEM9fQJxlVXvW/7F1xQXE3dwMASKILJPB T7OA== X-Gm-Message-State: ALoCoQmnvCPFa+3rQfNwId654q6wT8JvOjDIWQZPBy9qxlGaaRWFaOVyGbgd97ZJd3lYTYT9ywiCG7MlwPm+IzuINL+NsaOXpiv0T+wMyay1vIIjNS1r8vfVaCZbWTsuJ6wj+QQ9PhI9Pr42xHzghoDoALT5EtsNKXFWjrjmLlXm5FMWpY/QgrQ= X-Received: by 10.152.170.135 with SMTP id am7mr2813644lac.25.1380734007371; Wed, 02 Oct 2013 10:13:27 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.152.170.135 with SMTP id am7mr2813634lac.25.1380734007257; Wed, 02 Oct 2013 10:13:27 -0700 (PDT) Received: by 10.112.29.170 with HTTP; Wed, 2 Oct 2013 10:13:27 -0700 (PDT) In-Reply-To: References: <20130924155807.GO79040@USLT-205755.sungardas.corp> Date: Wed, 2 Oct 2013 12:13:27 -0500 Message-ID: Subject: Re: A question on vm migrations when hosts are set into a maintenance mode. From: Alex Ough To: Marcus Sorensen Cc: "dev@cloudstack.apache.org" , Kelven Yang Content-Type: multipart/alternative; boundary=089e0122797a08395e04e7c53084 X-Virus-Checked: Checked by ClamAV on apache.org --089e0122797a08395e04e7c53084 Content-Type: text/plain; charset=ISO-8859-1 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 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 wrote: > > Marcus/Kelven, > > > > Any thoughts on my suggestions? > > > > Thanks > > Alex Ough > > > > > > On Tue, Sep 24, 2013 at 12:09 PM, Alex Ough > 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 > >> 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 > >>> 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 > >>> >> 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 > >>> >> >> > >>> >> > > >>> >> > > >>> > >> > > > > --089e0122797a08395e04e7c53084--