[one-users] deployment of certain vm's to different hosts

Gary S. Cuozzo gary at isgsoftware.net
Fri Dec 14 07:17:28 PST 2012


Hi Ruben,
Yes.  #3 never actually occurred to me, but would also be a nice feature.

Thanks,
gary

----- Original Message -----
From: "Ruben S. Montero" <rsmontero at opennebula.org>
To: "Shankhadeep Shome" <shank15217 at gmail.com>
Cc: "Gary S. Cuozzo" <gary at isgsoftware.net>, "Users OpenNebula" <users at lists.opennebula.org>, "Carlos Jiménez" <cjimenez at eneotecnologia.com>, "Jota" <jjprieto at eneotecnologia.com>
Sent: Friday, December 14, 2012 7:31:20 AM
Subject: Re: [one-users] deployment of certain vm's to different hosts

Hi,

Let me try to sum up your requirement guys:

1.- Affinity seems to be needed to express easily. IDs as proposed are
hard to use.
2.- Scheduling could be defined per VM group (e.g. collapse the group
in a host, spread the group, none)
3.- VM groups link VMs, one could perform simultaneous operations on
the VMs (migrate the group, stop the group...)

Is this what you are asking for?

Ruben



On Wed, Dec 12, 2012 at 11:52 PM, Shankhadeep Shome
<shank15217 at gmail.com> wrote:
> sorry meant one or more, not two
>
>
> On Wed, Dec 12, 2012 at 5:50 PM, Shankhadeep Shome <shank15217 at gmail.com>
> wrote:
>>
>> Yea I meant you need the cluster mechanism to be extended to general group
>> scheduling, basically you can pick and choose what you want to exclude and
>> include in a group and run the scheduler against that. Currently (group
>> scheduling)  defines a group as two mutually exclusive clusters with
>> different hosts and storage.
>>
>>
>> On Wed, Dec 12, 2012 at 9:17 AM, Gary S. Cuozzo <gary at isgsoftware.net>
>> wrote:
>>>
>>> I could do it via a separate cluster, but it would leave my hosts very
>>> under utilized.  I think I would also have to create and manage additional
>>> datastores and other resources for the new cluster.  My preference would be
>>> to be able to configure the scheduler.
>>>
>>> ________________________________
>>> From: "Shankhadeep Shome" <shank15217 at gmail.com>
>>>
>>> To: "Gary S. Cuozzo" <gary at isgsoftware.net>
>>> Sent: Wednesday, December 12, 2012 8:46:55 AM
>>>
>>> Subject: Re: [one-users] deployment of certain vm's to different hosts
>>>
>>> I think what you want is the extension of the cluster mechanism that
>>> already exists in opennebula to be extended so that a cluster is a
>>> scheduling domain, not simply a set of {hosts, networks, storage}
>>>
>>>
>>> On Tue, Dec 11, 2012 at 4:59 PM, Gary S. Cuozzo <gary at isgsoftware.net>
>>> wrote:
>>>>
>>>> Oh nice.  So will the "REQUIREMENTS" be able to be based on any
>>>> attribute of the template?  For example, could I have an attribute called
>>>> "VM_GROUP" in the template and have a value such as "HTTP_1" in various
>>>> templates.  Then, each vm with VM_GROUP HTTP_1 would get deployed to
>>>> different hosts?
>>>>
>>>> Just trying to make sure I'm interpreting the description correctly.
>>>> The example shows things based on vm id's, but I think it would be easier to
>>>> just be able to make any sort of generic group(s) to base things on.
>>>> gary
>>>>
>>>> ________________________________
>>>> From: "Jaime Melis" <jmelis at opennebula.org>
>>>> To: "Gary S. Cuozzo" <gary at isgsoftware.net>
>>>> Cc: "Users OpenNebula" <users at lists.opennebula.org>
>>>> Sent: Tuesday, December 11, 2012 4:41:50 PM
>>>>
>>>> Subject: Re: [one-users] deployment of certain vm's to different hosts
>>>>
>>>> Hi,
>>>>
>>>> Yes, you guys really hit the spot! take a look at this:
>>>> http://dev.opennebula.org/issues/1675
>>>>
>>>> Basically, for the next OpenNebula release there will be a default probe
>>>> with all the running vms, so you can create a REQUIREMENTS directive just
>>>> like Mark described.
>>>>
>>>> cheers,
>>>> Jaime
>>>>
>>>>
>>>> On Tue, Dec 11, 2012 at 10:36 PM, Gary S. Cuozzo <gary at isgsoftware.net>
>>>> wrote:
>>>>>
>>>>> Interesting.  You can get a list of guests on a host using "virsh
>>>>> list", which would simplify your idea.  Hopefully I'll have some time to
>>>>> mess around with ideas this week.  I just wanted to make sure there was no
>>>>> feature already in ONE that I didn't know about.
>>>>>
>>>>> Let me know if you go further with your ideas and I'll do the same.
>>>>>
>>>>> Cheers,
>>>>> gary
>>>>>
>>>>> ________________________________
>>>>> From: "Mark Wagner" <mwagner at intelius.com>
>>>>> To: users at lists.opennebula.org
>>>>> Sent: Tuesday, December 11, 2012 4:18:29 PM
>>>>> Subject: Re: [one-users] deployment of certain vm's to different hosts
>>>>>
>>>>>
>>>>> I'm interested in this idea as well.  Without modifying the ONE code
>>>>> here is how it could be accomplished by extending the IM MAD and using the
>>>>> "REQUIREMENTS" section of a VM template to exclude a host that is already
>>>>> running a guest of the same type.
>>>>>
>>>>> How to go about it is the somewhat kludgey part. The IM MAD scripts are
>>>>> run on the host; as far as I can tell from the host it is impossible to
>>>>> easily see the names of the guests running on it. The best idea I could
>>>>> think of would be to ssh back to the FE and run "onevm list | grep $HOST"
>>>>> and process that.
>>>>>
>>>>> Next, how do you group the guests? Assuming the guests have the naming
>>>>> scheme of <type>NNN you could group them by removing the NNN. Another way to
>>>>> do it would be to do a onevm show on each guest but that may be too resource
>>>>> intensive.
>>>>>
>>>>> Putting this all together, here is the IM MAD script:
>>>>>
>>>>> #!/bin/sh
>>>>>
>>>>> VM_HOST=`hostname`
>>>>> FE=onefe
>>>>>
>>>>> GUEST_TYPES="`ssh $FE onevm list --list NAME,HOST | grep $VM_HOST | awk
>>>>> '{ print $1 }' | sed 's/[0-9]*$//g' | sort -u`"
>>>>> GUEST_TYPES=":`echo $GUEST_TYPES | sed 's/ /:/g'`:"
>>>>>
>>>>> echo "GUEST_TYPES=\"$GUEST_TYPES\""
>>>>>
>>>>> For example type "ntp" you'd put in the template
>>>>>
>>>>> REQUIREMENTS = "GUEST_TYPES != \"*:ntp:*\""
>>>>>
>>>>> (I haven't tested this at all).
>>>>>
>>>>> On 12/11/2012 10:47 AM, Gary S. Cuozzo wrote:
>>>>>
>>>>> Hello,
>>>>> We have certain vm's which are related and provide redundancy and/or
>>>>> failover to each other.  Ideally, we'd like to avoid the situation where
>>>>> these vm's run on the same host machine.  Is there a way to configure the
>>>>> scheduler so it would know to rule out a host if another related vm was
>>>>> already running there?
>>>>>
>>>>> If there is no feature in ONE already, what I'm thinking is having an
>>>>> attribute that can be set in the vm template which could be used to group
>>>>> vm's together.  Then, the scheduler can just check to see if a vm that is
>>>>> part of the same group(s) is already running and rule that host out if there
>>>>> is.  It could also optionally override the attribute if it could not find a
>>>>> 'unique' host to deploy on (for example, multiple hosts are unavailable and
>>>>> there are not enough resource to deploy to unique hosts).
>>>>>
>>>>> Please let me know if a feature already exists or if my idea is worth
>>>>> pursuing.
>>>>>
>>>>> Cheers,
>>>>> gary
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at lists.opennebula.org
>>>>> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
>>>>>
>>>>>
>>>>> --
>>>>> Mark Wagner | mwagner at intelius.com
>>>>> System Administrator | Intelius Inc.
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at lists.opennebula.org
>>>>> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at lists.opennebula.org
>>>>> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Jaime Melis
>>>> Project Engineer
>>>> OpenNebula - The Open Source Toolkit for Cloud Computing
>>>> www.OpenNebula.org | jmelis at opennebula.org
>>>>
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opennebula.org
>>>> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
>>>>
>>>
>>>
>>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opennebula.org
> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
>

--
Ruben S. Montero, PhD
Project co-Lead and Chief Architect
OpenNebula - The Open Source Solution for Data Center Virtualization
www.OpenNebula.org | rsmontero at opennebula.org | @OpenNebula



More information about the Users mailing list