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.
----- Original Message ----- From: "Shankhadeep Shome" <shank15...@gmail.com> To: "Gary S. Cuozzo" <g...@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 < g...@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" < jme...@opennebula.org > To: "Gary S. Cuozzo" < g...@isgsoftware.net > Cc: "Users OpenNebula" < users@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 < g...@isgsoftware.net > wrote: <blockquote> 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" < mwag...@intelius.com > To: users@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: <blockquote> 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@lists.opennebula.org http://lists.opennebula.org/listinfo.cgi/users-opennebula.org -- Mark Wagner | mwag...@intelius.com System Administrator | Intelius Inc. _______________________________________________ Users mailing list Users@lists.opennebula.org http://lists.opennebula.org/listinfo.cgi/users-opennebula.org _______________________________________________ Users mailing list Users@lists.opennebula.org http://lists.opennebula.org/listinfo.cgi/users-opennebula.org </blockquote> -- Jaime Melis Project Engineer OpenNebula - The Open Source Toolkit for Cloud Computing www.OpenNebula.org | jme...@opennebula.org _______________________________________________ Users mailing list Users@lists.opennebula.org http://lists.opennebula.org/listinfo.cgi/users-opennebula.org </blockquote>
_______________________________________________ Users mailing list Users@lists.opennebula.org http://lists.opennebula.org/listinfo.cgi/users-opennebula.org